M
A company I recently started working for has a device which uses serial Modbus.
To make reading data more efficient, an engineer has implemented some reads from certain addresses which he calls "block reads". Essentially they will read a certain number of bytes (typically 16 or 12) from a certain SINGLE Modbus address.
The only way to read all this data is to read the entire 16 bytes from the one address. Reading from address +1 will give a _completely different_ set of 16 bytes.
Somehow, the engineer thinks that this is conforming to the standard, because the requested data is returned within a Modbus 'packet' and there is nothing saying that each word of the returned data needs to map to a specific register. (i.e. as long as the returned data is in the PDU correctly, it's completely up to the user to determine how to interpret it).
I on the other hand read 6.3 of the Modbus spec and can't see how having a register size that is not 16 bits could ever be standards conformant.
Unfortunately the other engineer is the company owner, so my argument is being trumped.
Can anyone lend an opinion to either side of the argument?
Names and company omitted to protect the innocent. (Or not so innocent.)
Cheers,
M
To make reading data more efficient, an engineer has implemented some reads from certain addresses which he calls "block reads". Essentially they will read a certain number of bytes (typically 16 or 12) from a certain SINGLE Modbus address.
The only way to read all this data is to read the entire 16 bytes from the one address. Reading from address +1 will give a _completely different_ set of 16 bytes.
Somehow, the engineer thinks that this is conforming to the standard, because the requested data is returned within a Modbus 'packet' and there is nothing saying that each word of the returned data needs to map to a specific register. (i.e. as long as the returned data is in the PDU correctly, it's completely up to the user to determine how to interpret it).
I on the other hand read 6.3 of the Modbus spec and can't see how having a register size that is not 16 bits could ever be standards conformant.
Unfortunately the other engineer is the company owner, so my argument is being trumped.
Can anyone lend an opinion to either side of the argument?
Names and company omitted to protect the innocent. (Or not so innocent.)
Cheers,
M
