Technical FAQs

Ask a Question

Allocation and purpose of the extra bytes that get setup when using the Generic Modbus DTM

Goals and Symptoms
Why do we add 2 unused bytes in the input or output when we add a io scanner line in the DTM browser/device list for M580 when using a Generic Modbus device?
Facts and Changes
M580, BMENOC, M340
Causes and Fixes
The behavior is due to the fact that it was incorrectly defined in M340 and also current M580 Version of master DTMs. (The definition of M340 was carried to M580!).
M340 and M580 both have memory constraint of 32 bit alignment. Due to this, the algorithm for DDT/DDDT for M340/M580 was written to make sure all the structures are Modulo 4.
Ie: All structures created from master are made multiples of 4.
In the  below example although 1 register is configured and expected is 2 bytes structure, because of above algorithm remaining 2 bytes are packed with bytes which leads to 4 bytes (with 2 bytes padding at end).

Was this helpful?
What can we do to improve the information ?