Process data objects (PDO)
Like done in CANopen a process image for input and output values can be configured in Modbus. This image contains only data values of one or more objects without any further information like length, index or sub-index. With transmitting one message a series of objects can be written or read.
Configuration
- 3502h for the Modbus RX (Master → Slave) PDO Mapping
- 3602h for the Modbus TX (Slave → Master) PDO Mapping
The objects 3502h and 3602h can be written with a message with the Modbus function code 2Bh.
Transmission
The data in the message are transmitted one after another without padding or alignment.
In case an alignment is necessary, additional "dummy objects" can be put in the message. Dummy objects will always transmit the value "0". These objects are listed in the following table.
Index | Data type |
---|---|
0002h | unsigned integer (8 Bit) |
0003h | unsigned integer (16 Bit) |
0004h | unsigned integer (32 Bit) |
0005h | signed integer (8 Bit) |
0006h | signed integer (16 Bit) |
0007h | signed integer (32 Bit) |
The mapping is as follows:
- PDO RX image starts at the Modbus register address 6000d (1770h).
- PDO TX image starts at the Modbus register address 5000d (1388h).
Example
- 3602h:00h = 6 (6 values are mapped)
- 3602h:01h = 60410010h (the object 6041h:00h, length 16 Bit is mapped)
- 3602h:02h = 00050008h (Dummy-object 0005h:00h, length 8 Bit is mapped)
- 3602h:03h = 60610008h (the object 6061h:00h, length 8 Bit is mapped)
- 3602h:04h = 60640020h (the object 6064h:00h, length 32 Bit is mapped)
- 3602h:05h = 60440010h (the object 6044h:00h, length 16 Bit is mapped)
- 3602h:06h = 60FD0020h (the object 60FDh:00h, length 32 Bit is mapped)
After the mapping for the object 6061h:00h a dummy object was placed to align the following object 6064h:00h to 32 Bit.
RX message: the master transmits the following message to the slave:
TX message: the slave will answer the following message to the master: