Modbus - Read ID (0x2B, 0x0E) Conformity Level


Thread Starter


The conformity levels - that I could find are specified as follows:

0x01: basic identification (stream access only)
0x02: regular identification (stream access only)
0x03: extended identification (stream access only)
0x81: basic identification (stream access and individual access) 0x82: regular identification (stream access and individual access) 0x83: extended identification(stream access and individual access)

I don't see an individual access ONLY conformity level. Having to support stream access for Object ID blocks 0x07 thru 0x7F, and 0x80 thru 0xFF almost guarantees that messages will have to be broken up into two or more requests. This will require more code on the slave side to break the message up into pieces, keep track of then number of objects returned, and the number of the next object. Of course, individual access only will require more messages on the master's part, but a simpler slave response.

.... It just occurred to me that I could force individual access. By always responding with "More Follows", except for Object ID 0xFF, and by incrementing "Next Object ID" for each access, and by only returning one object at a time, I would essentially be forcing an individual access mode, even if the conformity level is set for stream access.

Any thoughts?