Sign in to follow this  
Followers 0
Ballen22

CIP question

6 posts in this topic

Hello Everyone, I was wondering if anyone knew the maximum block size (or the maximum number of words of data) one CIP WRITE/READ can send through EIP using one packet? For instance how much information can I send without having to send multiple packets. I appreciate the help. Thank you

Share this post


Link to post
Share on other sites
My recollection from CIP training classes is that EtherNet/IP retained the ControlNet maximum data payload of 510 bytes. I know I've set up MSG instructions that moved more than that, and the controller automatically broke it up into multiple write packets.

Share this post


Link to post
Share on other sites
Hello, My notes have (bytes) : 511 - the overhead of 28 per frame/packet. Of course the complete frame/packet is larger because of the wrapping layers. Are you creating a 'driver' or using PLC instructions for the operations? As Ken says, if the latter I am not sure the packet size is a limiting factor. If the former, the packet size is of importance. Edited by Mark-

Share this post


Link to post
Share on other sites
The CIP spec defines this: The maximum size of the MR request and MR response packet items in the SendRRData command is 504 bytes (the maximum size on ControlNet), to ensure that a UCMM message can traverse all the links in a CIP network path. Devices may support the Large_Forward_Open service (see Volume 1, Chapter 3) to allow more efficient access to large application data sizes. and also: Connection Size The CIP connection size shall be no larger than 65511 bytes. NOTE: The Forward_Open request limits the connection size to 511 bytes; however, the optional Large_Forward_Open allows larger connection sizes. I know some devices support large forward open now, so this limit is dated and I would consider it product specific. Practically, a particular product likely implements some limit and that is what you would design for; however, other devices may have different behavior.

Share this post


Link to post
Share on other sites
Whatever the maximum bytes is quoted, It is much more convenient to think of the limit as 500. 500 bytes = 500 SINTs 500 bytes = 250 INTs 500 bytes = 125 DINTs 500 bytes = 125 REALs Sure, you can squeeze through a few more SINTs, and an extra INT or two, but stating the limit as 500 means you don't have to worry about data-type. My 2c

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!


Register a new account

Sign in

Already have an account? Sign in here.


Sign In Now
Sign in to follow this  
Followers 0