8/18/2018 10:24 AM | |
Joined: 3/16/2015 Last visit: 10/10/2021 Posts: 1250 Rating: (173) |
As Jay and others pointed out, MODBUS involves a lot of reading and is mostly if not all about acquiring knowledge. In Siemens you set up MODBUS with few instructions and in your case you need two: 1- Modbus_Comm_Load] 2-Modbus_Master Modbus_Comm_Load instruction configures the communication module or board. In it you define the hardware ID of the CM you will be using as a master of slave (Master in your case) and other parameters such as Baud rate, parity, time out, etc. It also has a very important input parameter that we will discuss later which links this instruction to Modbus_Master/Slave instruction. This instruction is called only once to configure the module. (There are exception like fault/error) Modbus_Master instruction is used to communicate with slaves. You input the register address, length, read or write mode, slave address etc. This is the instruction that you will use all the time. So to get started: -Create a project and at minimum add a CPU and a communication module or board. -Add a function block. -From Communication processor> Communication tab in the instruction pull out on the right drag Modbus_Comm_Load from the folder Modbus (RTU) and drop it into a network. A single or multiple DB instance will be created as per your choice. -Drag a Modbus_Master instruction into another network anywhere below Modbus_Comm_Load. A DB instance will be created. (keep note of where this DB is because we will need it) -Open [PLC tags>Show all tags] and click on System Constants tab and drag the Communication Module ID into the formal parameter "PORT" of your Modbus_Comm_Load instruction. -Find the DB instance created above when you added Modbus_Master instruction and navigate to the Static parameter "MB_DB". Now drag and drop it into the formal parameter "MB_DB" in Modbus_Comm_Load instruction we added above. Almost there.... -In Modbus_Master instruction, enter the modbus slave address of your AC controller into formal parameter "MB_ADDR". You are basically telling the master to communicate with slave number "whatever...1..2..3..32". The address can not be 0 (Zero) because address 0 is used for broadcast mode. (you can read more about that) -In Modbus_Master enter 0 in "MODE" to read or write on register. To know how that is determined give focus to the instruction and click F1. It is very important read. -In Modbus_Master "DATA_ADDR" enter the address of the register you want to read or write and for that you will need to have your AC controller manual handy along with TIA online help. -In Modbus_Master "DATA_LEN" enter the length of the data you want to read or write. If reading or writing one register enter 1 -Most important, create a tag of the same data type as the data type of the register you want read or write and connect that tag to Modbus_Master "DATA_PTR". The DB where this tag exist had to have standard access (non-optimized). Summary: Modbus_Comm_Load is to configure the communication module. Modbus_Master is to read and write to slaves. This is where all the work is going to be done. You can create several instruction to read or write from same device or different devices. It's your call how you handle the logic for as long as you know: -You can only communicate with one slave only at any time. -A slave can not initiate communicatiodn and can only reply to a master's request. -While communicating with one slave you are not communicating with the others so if you take too long with one you will be late getting to the next and the one after that. Whether that matters or not is up to you. Notes about the attachment: The project was created with TIA13SP2 ( I don't have SP1) I had to remove the hardware to reduce the files size for upload. You will need to add a CPU and CM AttachmentMB_.zip (165 Downloads) |
Last edited by: Kal.A at: 8/18/2018 7:12:02 PMReplaced attachement Last edited by: Kal.A at: 8/20/2018 12:57:19 AM |
|
8/18/2018 7:16 PM | |
Joined: 3/16/2015 Last visit: 10/10/2021 Posts: 1250 Rating: (173) |
The project doesn't have much, just the two instructions I detailed. I replaced the attachment in the last post which really has nothing in it now but the hardware configuration. And this attachment is an archived library of a FB and DB that you can add to the project. AttachmentModbus2.zip (180 Downloads) |
Last edited by: Kal.A at: 8/20/2018 12:55:50 AM |
|
8/19/2018 12:24 PM | |
Posts: 89 Rating: (0) |
Hello. This is how i tried to set it up, feel free to correct me. Cause this did not work. |
Follow us on