Mark Short
Member
I am developing software in C++ to communicate with Allen Bradley devices using EtherNet/IP.
To improve performance, I am using the Multiple Service Packet service to encapsulate (i.e. bundle together) many Read Tag services. I restrict the number of services I encapsulate so that neither the request nor the reply exceeds the connection size.
It works OK most of the time, but occasionally I get a Multiple Service Packet replay with General Status = Embedded Service Error, and the last two of the encapsulated Read Tag replies have General Status = Partial Transfer. I interpret this as the ControlLogix device saying that the message it's been asked to generate is too large for its connection size. In this error case, the reply would occupy 4002 bytes, and the connection size is 4002 bytes, so I would expect it to be OK. The ControlLogix seems able to create messages up to 3992 bytes in size.
I measure the reply size by counting (inclusively) from the CIP sequence count to the end of the packet. This is based upon my interpretation of Volume 1 of the CIP Spec, section 3-5.4.1.1, where connection size is defined.
Any suggestions why the ControlLogix device is unhappy generating a message of 4002 bytes?
Mark
To improve performance, I am using the Multiple Service Packet service to encapsulate (i.e. bundle together) many Read Tag services. I restrict the number of services I encapsulate so that neither the request nor the reply exceeds the connection size.
It works OK most of the time, but occasionally I get a Multiple Service Packet replay with General Status = Embedded Service Error, and the last two of the encapsulated Read Tag replies have General Status = Partial Transfer. I interpret this as the ControlLogix device saying that the message it's been asked to generate is too large for its connection size. In this error case, the reply would occupy 4002 bytes, and the connection size is 4002 bytes, so I would expect it to be OK. The ControlLogix seems able to create messages up to 3992 bytes in size.
I measure the reply size by counting (inclusively) from the CIP sequence count to the end of the packet. This is based upon my interpretation of Volume 1 of the CIP Spec, section 3-5.4.1.1, where connection size is defined.
Any suggestions why the ControlLogix device is unhappy generating a message of 4002 bytes?
Mark