Today is...
Monday, May 21, 2018
Welcome to Control.com, the global online
community of automation professionals.
Featured Video...
Featured Video
Watch an animation of a conveyor stacking operation demonstrating the use of a move on a gear command.
Our Advertisers
Help keep our servers running...
Patronize our advertisers!
Visit our Post Archive
Modbus - Read ID (0x2B, 0x0E) Conformity Level
Is there an "Individual Object only" conformity level for Read ID?
By gahelton on 10 May, 2018 - 3:40 pm

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?