Logix CIP Connection

sayahan2003

Member
Join Date
Jun 2006
Location
Calgary
Posts
185
Guys,

Would you please let me know what the meaning of CIP connection is? For instance, when we say a controller has x amount of CIP connections, what exactly it means? Same question with regards to the TCP connection. I have read some documents about these but could not understand.

Thank you
 
In general, CIP connections are things you add to your network tree, they send and receive info at regular intervals. (Implicit Messaging) Other things on the network that you might send a message to intermittently would count towards the total TCP connections. (Explicit Messaging) Total TCP connections would also include CIP connections.
 
In general, CIP connections are things you add to your network tree, they send and receive info at regular intervals. (Implicit Messaging) Other things on the network that you might send a message to intermittently would count towards the total TCP connections. (Explicit Messaging) Total TCP connections would also include CIP connections.

Thanks Gomez. So, if controller wants to send signal to an I/O module, does it use one CIP connection? In general, IO modules always send and receive info to the controller. Does this mean each IO module use one CIP connection? if so, then there should be limitation on the number of IO modules that can be connected to the controller.
 
Thanks Gomez. So, if controller wants to send signal to an I/O module, does it use one CIP connection? In general, IO modules always send and receive info to the controller. Does this mean each IO module use one CIP connection? if so, then there should be limitation on the number of IO modules that can be connected to the controller.

You are mostly correct. It depends on the brand and series, but for Allen-Bradley you can usually add more Ethernet cards to get more CIP connections. I'm sure there's also an upper limit for each controller, but I've never used that many devices.
 
You are mostly correct. It depends on the brand and series, but for Allen-Bradley you can usually add more Ethernet cards to get more CIP connections. I'm sure there's also an upper limit for each controller, but I've never used that many devices.

OK. Thanks a bunch for your help Gomez.
 
You are mostly correct. It depends on the brand and series, but for Allen-Bradley you can usually add more Ethernet cards to get more CIP connections. I'm sure there's also an upper limit for each controller, but I've never used that many devices.

I'll try and make this simple, but if you want more info, just ask.

A CIP "connection" is a data transfer link between two devices.

A connection uses the "Producer/Consumer" model of data transfer, where one module "produces" data onto the network, and another module (can be more, but that's another story for another time) "consumes" the data. Think of a "Producer" as the transmitter, and a "Consumer" as a receiver.

So, a controller that wants to send data (output data) to an Output module would "produce" it, for the output module to "consume" it.

Vice-versa for an Input module, it will "produce" the input data and status for the controller to "consume".

A "connection" is therefore required for each module that wants to exchange data with the controller, and yes, that would "eat up" the number of allowed connections, not just in the controller, but in the communications bridge used.

However, Logix5000 series hardware introduced a neat idea that can save on the number of connections used, and it is called "Rack Optimisation".

When you use Rack Optimisation for a remote chassis of I/O modules, you give the task of collating Input and Output data to the remote communications bridge module, into a single pair of tags that are exchanged with the controller, thus using only one connection for a whole chassis of I/O. In effect, the remote communications module becomes a Remote I/O Adapter, as well as being able to handle other data traffic.

Advantage is obvious... say you had a remote 17-slot chassis with an Ethernet bridge module, and 16 I/O modules, without rack optimisation you would use 16 connections for the I/O data. With Rack Optimisation, you use up only 1 connection.

Disadvantage to using Rack Optimisation is that all the modules that use it must have the same RPI, since the data is being "connected" by the one module, the communications adapter. This can be overcome, by creating the module in the I/O tree, and un-checking the "Use Rack Optimisation" check-box, then you will be able to use a different RPI if needed. Of course, any module that doesn't use rack optimisation will eat up another "connection".

Now, let me make it clear that only digital I/O modules can use the Rack Optimisation scheme. Any other modules, such as Analog I/O, or specialist modules, must use their own "connections".

Rack Optimisation is automatically selected, for a remote communications bridge (if available) - and this then becomes the default mode for the creation of digital I/O modules when that comms bridge is the "parent".
 
I'll try and make this simple, but if you want more info, just ask.

A CIP "connection" is a data transfer link between two devices.

A connection uses the "Producer/Consumer" model of data transfer, where one module "produces" data onto the network, and another module (can be more, but that's another story for another time) "consumes" the data. Think of a "Producer" as the transmitter, and a "Consumer" as a receiver.

So, a controller that wants to send data (output data) to an Output module would "produce" it, for the output module to "consume" it.

Vice-versa for an Input module, it will "produce" the input data and status for the controller to "consume".

A "connection" is therefore required for each module that wants to exchange data with the controller, and yes, that would "eat up" the number of allowed connections, not just in the controller, but in the communications bridge used.

However, Logix5000 series hardware introduced a neat idea that can save on the number of connections used, and it is called "Rack Optimisation".

When you use Rack Optimisation for a remote chassis of I/O modules, you give the task of collating Input and Output data to the remote communications bridge module, into a single pair of tags that are exchanged with the controller, thus using only one connection for a whole chassis of I/O. In effect, the remote communications module becomes a Remote I/O Adapter, as well as being able to handle other data traffic.

Advantage is obvious... say you had a remote 17-slot chassis with an Ethernet bridge module, and 16 I/O modules, without rack optimisation you would use 16 connections for the I/O data. With Rack Optimisation, you use up only 1 connection.

Disadvantage to using Rack Optimisation is that all the modules that use it must have the same RPI, since the data is being "connected" by the one module, the communications adapter. This can be overcome, by creating the module in the I/O tree, and un-checking the "Use Rack Optimisation" check-box, then you will be able to use a different RPI if needed. Of course, any module that doesn't use rack optimisation will eat up another "connection".

Now, let me make it clear that only digital I/O modules can use the Rack Optimisation scheme. Any other modules, such as Analog I/O, or specialist modules, must use their own "connections".

Rack Optimisation is automatically selected, for a remote communications bridge (if available) - and this then becomes the default mode for the creation of digital I/O modules when that comms bridge is the "parent".

OMG, that was awesome! I don't think it can be described better than this. Greatly appreciated Daba.
Now I have a few more questions.
1- my understanding is that EN2T module has more CIP connections than ENBT. If we have two separate networks with the same controller but one of them with EN2T and the other one with ENBT, the limiting factor is the number of controller' CIP connections. If so, why we ever use EN2T which I think is more expensive than ENBT? The extra CIP connections that it has can not be used because controller have less CIP connections.
2- is CIP connection used for all kinds of communication such as program download/upload, set point change, etc.?
3- each controller or bridge has limited number of CIP and TCP. What does TCP connection do? If we use one CIP, does that mean we use one TCP as well?
4- controller or switch has one or more Ethernet ports. Does the number of RJ45 port show the available number of TCP connections?

Thank you once again for your wonderful support.
 
You only have one (most likely) RJ45 port on your computer.
Can you only have one internet browser open at a time? Only viewing one website at a time? Or are you able to check your email, the weather, play internet solitaire, and chat with some friends on an instant messaging app all at the same time?

The latter would indicate that many tcp connections can be made from a device with only one RJ45 port.
But doesn’t Gmail have many users? Can only one person check their email at a time? Or could Gmail have many people logged in at the same time?

The latter would indicate that many TCP connections can be made to a device. In this case, the Gmail email server.

You see, the number of RJ45 ports have on the switch does not indicate the number of TCP connections nor does it indicate the number of CIP connections.

Your device does however have a number of TCP connections limit. Each TCP connection will use a port to communicate information to and from a device. The number of ports is limited to the amount of processing power the device has. In Rockwell’s case, they felt they could offer one card (ENBT) with less connections at a lower price and also offer a card (EN2T) with more connections at a higher price.

How mad would you be if you only needed 10 connections but the only card Rockwell offered was the EN2T? Charging you more money for connections you don’t need?
 
OMG, that was awesome! I don't think it can be described better than this. Greatly appreciated Daba.
Now I have a few more questions.
1- my understanding is that EN2T module has more CIP connections than ENBT. If we have two separate networks with the same controller but one of them with EN2T and the other one with ENBT, the limiting factor is the number of controller' CIP connections. If so, why we ever use EN2T which I think is more expensive than ENBT? The extra CIP connections that it has can not be used because controller have less CIP connections.
2- is CIP connection used for all kinds of communication such as program download/upload, set point change, etc.?
3- each controller or bridge has limited number of CIP and TCP. What does TCP connection do? If we use one CIP, does that mean we use one TCP as well?
4- controller or switch has one or more Ethernet ports. Does the number of RJ45 port show the available number of TCP connections?

Thank you once again for your wonderful support.

Thank you for your kind words.

In order....

1. Most times people use two (or more) Ethernet bridge modules in a controller chassis to physically segregate the networks. One for I/O another for HMI/SCADA/SQL/Programming etc. Often the corporate network is used for SCADA/SQL/Programming, and corporate IT like to keep the amount of traffic on the network as small as possible. But mostly the better reasoning is that you don't want the corporate network traffic eating the available bandwidth for real-time I/O.

Remember that Ethernet is not a "deterministic" network, meaning that you cannot guarantee that data will be transferred at a specific rate, although since 100Mb network speeds it becomes less of an issue.

ControlNet is deterministic, containing a portion of the cyclic "NUT" (Network Update Time), where specific data transfers were "scheduled". I/O data was transferred in the same order every NUT, so you would get a constant update rate for any specific data. All ControlNet devices needed to follow this schedule, so all had the same "hymn-sheet" or "Keeper". This is why when you made any changes to the I/O, you had to "re-schedule" the network, which you don't have to do with EtherNet.

The EN2T not only gives you more connections than the ENBT, but is also a faster module, and everyone likes faster things, don't they ?

2. CIP (Common Industrial Protocol) is used for everything - it is the protocol that is layered into the OSI ethernet model, which makes it become EtherNet/IP. In this case, the /IP does not stand for "Internet Protocol", but "Industrial Protocol" - I wish they had called if "Control Protocol" (/CP), which would have removed many people's confusion.

TCP (Transmission Control Protocol) is a layer below CIP, and is the protocol that deals with the actual transmission and reception of packets of data over ethernet.

Yes, CIP is used for everything, I/O and Produced/Consumed tag data transfer, explicit MSGing, Program Upload/Download, Programming Software access, HMI access, SCADA access, and so on....

If the device you are trying to talk to doesn't speak CIP, you have to use plain vanilla data blocks, which will go via TCP.

3. Yes, I believe that to be correct, but am happy to be corrected.

4. No, the number of RJ45 ports on a controller or switch has no relationship to the number of CIP or TCP connections available. The limiting factor will always be the finite number of connections supported by both the end-to-end modules, AND any communication bridge module interposed.

If you want to delve into any statistics, or as an aid in diagnostics, remember that each ENxT module has in-built web pages, where you can view the total number of connections and TCP connections in use by the module (amongst a ton of other info). Just type the IP address of the ENxT module into a browser's address bar.

2018-02-18_161821.jpg
 
Last edited:
You only have one (most likely) RJ45 port on your computer.
Can you only have one internet browser open at a time? Only viewing one website at a time? Or are you able to check your email, the weather, play internet solitaire, and chat with some friends on an instant messaging app all at the same time?

The latter would indicate that many tcp connections can be made from a device with only one RJ45 port.
But doesn’t Gmail have many users? Can only one person check their email at a time? Or could Gmail have many people logged in at the same time?

The latter would indicate that many TCP connections can be made to a device. In this case, the Gmail email server.

You see, the number of RJ45 ports have on the switch does not indicate the number of TCP connections nor does it indicate the number of CIP connections.

Your device does however have a number of TCP connections limit. Each TCP connection will use a port to communicate information to and from a device. The number of ports is limited to the amount of processing power the device has. In Rockwell’s case, they felt they could offer one card (ENBT) with less connections at a lower price and also offer a card (EN2T) with more connections at a higher price.

How mad would you be if you only needed 10 connections but the only card Rockwell offered was the EN2T? Charging you more money for connections you don’t need?

Thanks Seth. What you mentioend totally makes sense.
So, if the controller needs to talk to 10 devices, we need to buy an ENBT with 10 TCP connections. correct? If so,it means we need a switch with 10 Ethernet ports. in this case, the number of Ethernet ports on the switch seems to be equal to the number of required TCP connections.
 
Thanks Seth. What you mentioend totally makes sense.
So, if the controller needs to talk to 10 devices, we need to buy an ENBT with 10 TCP connections. correct? If so,it means we need a switch with 10 Ethernet ports. in this case, the number of Ethernet ports on the switch seems to be equal to the number of required TCP connections.

No, read answer 4 above....

"Connections" is a logical term, connections (without the "") is a physical term

If it helps, replace "CIP Connections" with "Data-Links", or something similar....

Also a "Connection" is an end-to-end term, both the sender and receiver must be "connected" logically. and it doesn't matter how many switches are involved in that connection. The story goes that RA had a controller in the UK driving a large LED message display in Australia over the internet, and a web-cam showing the display. I was told they stopped the idea because people were typing all sorts of rude messages to display.....
 
Last edited:
No, read answer 4 above....

"Connections" is a logical term, connections (without the "") is a physical term


Thanks a bunch Daba. Tings are very clear for me now. I like the way explain things. Do you have any publications or training resources? I checked your website but dint find anything.

Regards
 
There is a wealth of information on the topic of connections in chapter 4 of this manual:

Ethernet Design Considerations
(15 MB PDF)

With a publication date of May 2013, it is a bit dated. For example it does not address Enhanced Rack Optimization that reduces the need for direct I/O connections to some analog and specialty I/O modules. Maybe there is a more recent reference document under a different title with this general content.
 
Thanks a bunch Daba. Tings are very clear for me now. I like the way explain things. Do you have any publications or training resources? I checked your website but dint find anything.

Regards

I don't have publications, and what training material I have stays with me on training courses I provide, but that's only UK unfortunately.

I find that if you stick to a training "script", you are potentially missing out on an opportunity for trainees to only see and work with stuff they need training on, rather than boring them with stuff many of them already know.

It is not uncommon for trainees to be put on courses (perhaps just to achieve some form of "certification"), when they have been working with the kit for several years. I can always find them something to keep their interest......
 

Similar Topics

I wanted to know how many CIP connections can a Micrologic 1500 PLC handle at one time. Regards, Fabian Antao
Replies
4
Views
2,269
CompactLogix 1769-L32E I am having issues involving the Network Status (NS) Indicator on my trainer proccessor. In the Who Active, there is a...
Replies
12
Views
10,229
hi , I need to sorry for my bad English first. I'm newbie at plc programming ,I had been asked about E/IP protocol information for some system...
Replies
3
Views
340
Hello, Wondering if the following setup would work. 1. Local PLC on the network has an array of 25 REALs 2. Supervisory PLC on the network needs...
Replies
14
Views
1,775
Hello Everyone, Can two PLCs on two different subnets pass data via CIP MSG Read Instructions? I would be using the HMS Fl3xy NAT 1:1 feature to...
Replies
6
Views
2,429
Back
Top Bottom