Modbus RTU addressing

K

Thread Starter

kay_gsr13

Hi all,

This is my first project using Modbus RTU on a project to interface a HMI and multiple drives and I need guidance on proper addressing. I have a RedLion G310 HMI configured as the Master and four Control Techniques SKD3400750 Drives daisy chained RS485 to be the slave devices.

Configuration:
HMI Master
SK1 - Node 1
SK2 - Node 2
SK3 - Node 3
SK4 - Node 4

If I wanted to write an integer value to a holding register of all the drives at 400077, how would I distinguish which drives I was sending to? Where would the node information be added to "400077"? Any explanation would help and greatly appreciated. Thanks.
 
Each Modbus message must contains the node ID of the device the message is intended for. The message, function, address and slave ID are required parts of an Modbus Message.

 
First, the target holding register would be 40077 as opposed to 400077. So you would target register 76 (0x4c) (40077 - 40001) = 76) and typically 2 byte orders can be configured.

For example, sending 123 (0x7b) to Modicon Register 40077 (76 = 0x4c) in the Device at Modbus Adress 1:

0x01 06 00 4c 00 7b 08 3e or
0x01 06 00 4c 7b 00 6a ed
 
Top