View Single Post
Old February 18th, 2015   #2
ericthegeek
Task Group Member
 
Join Date: Aug 2008
Posts: 375
Default

257 bytes.

The maximum packet size is determined by the "Message Length" field that is an 8 bit value between 24 and 255. This length includes the Startcode, but does not include the checksum.

Adding a 2-byte checksum to the 255 maximum for the "Message Length" field gives you 257 bytes. You will never see a megabyte long packet.

See E1.20-2010 section 6.2.3 for details.

Any individual packet will be 257 bytes max, but responders can generate an arbitrary number of ACK-Overflow responses to return data of any size by breaking it into smaller chunks. Due to practical constraints, responders should limit ACK-Overflow sequences to a few packets, I typically say 5 or 6 maximum. That's because any error in the ACK-Overflow sequence (lost or corrupt packet) effectively requires the controller to start over from the beginning.

From the responder's point of view, it only has to implement ACK-Overflow if it needs it. Most responders don't need to use the feature.

Controllers on the other hand need to aware that responders may generate long ACK-Overflow sequences.
ericthegeek is offline   Reply With Quote