Download as pdf or txt
Download as pdf or txt
You are on page 1of 11

EtherNet/IP: TCP & CIP Connections Issue Date:

12 November, 2002

Firmware
 1756-ENBT, version 1.3
 1794-AENT, version 1.8

Purpose
Describe Ethernet module connection capacities as well as timeouts. These capacities and
timeouts are for Ethernet and CIP.

Intended Audience
This document is to be used by anyone using, supporting, or selling ControlLogix.

1 of 11
TCP and CIP
Connection Limits and Timeouts
for the
1756-ENET/B, 1756-ENBT, 1794-AENT

OverView
It is important to understand the limits of any of our Ethernet interfaces when
designing, monitoring, or troubleshooting a system. This document describes TCP
and CIP connections.

 What is a connection?

A connection is a communication path. Example: using a telephone and dialing a


number. Using a telephone requires a connection. Effectively, data passes through
a pipeline which is a connection.

 What kinds of connections does EtherNet/IP use?

We use TCP connections at the (OSI transport layer) and CIP connections (at the
OSI application layer).

 Why do we need connections?

Reliability and speed.

Reliability. The TCP protocol provides reliability because it is requires a connection


at the transport layer. Also, in the Control and Information Protocol (CIP),
connections provide reliability because each connection has a timer. This timer is
used to recognize loss of communications.

Speed. All CIP connections (implicit and explicit) are fast because they are efficient.
All of the message overhead (source/destination address, data type, etc.) are
predefined with a connection and are not carried in each message. This allows high-
speed communications. Example: every 2ms/3ms/10ms/…, data is produced to the
network.

2 of 11
 How are TCP and CIP connections related?

Every CIP connection requires a TCP connection. A single TCP connection can
contain 1 or more CIP connections.

Example 1: I/O Connections


Your Logix Controller has 5 CIP I/O connections to modules in remote chassis and
all of these connections are through the same local 1756-ENBT and the same
remote 1756-ENBT. The following connections would exist:

- 1 TCP connection
- 5 CIP connections

Example 2: RSLinx OPC Test Client

- 1 TCP connection
- 4 CIP connections (4 is the default)

 Terminology

Using a web browser, you can view all of the connection information described in this
document. However, you need to understand the terminology used in the web
servers.

- Transports
From a customer perspective, a CIP connection is needed to control a rack of
I/O. However, from the RA design engineering perspective, each connection
has transports. A transport is a uni-direction entity with its own numeric
identifier. A class 1 connection has 2 transports. A class 3 connection has 1
transport. Transports are important because they will help you calculate the
number of packets per second for each Ethernet interface.

Example 1: I/O
For a I/O connection to a rack of Flex I/O, a connection is configured in
RSLogix5000 by adding the Flex adapter and I/O modules in the I/O list.
When the connection is created, output packets flow from the 5555 Controller
to the I/O rack. In addition, input packets flow from the I/O to the 5555
Controller. Each of these packets are transports. In this example, a total of 2
transports exist. One transport is from the Controller to the Flex. The second
transport is from the Flex to the Controller.

Example 2: Produce Tag


For a produce tag connection with 2 consumers, there is a connection to
each consumer. Data from the producer is produced to the wire on one
transport. Each of the consumers returns a heartbeat. A total of 3 transports
exist in this example. One transport is from the tag producing Controller to

3 of 11
the “wire” media. The second transport is from one consumer to the tag
producer. The third transport is from the second consumer.

- Client and server


Client/server refers to class 3 connections. A client creates a connection and
initiates messages. A server provides a service or data. Clients can send
messages continuously or intermittently.
Example:
A 5555 process can use a MSG instruction to another Controller.

- Class 1 and class 3


In the CIP specification, there are approximately 7 types of connections, class
0-6. The types that RA commonly uses are class 1 and 3.

Class 1 refers to any connection that uses an RPI (Requested Packet


Interval). These include I/O and also produce/consume connections.
Another name for a class 1 message is “implicit”. Implicit refers to
information (source address, data type, destination address, etc.) which is
implied in the message but not contained in the message.

Class 3 refers to any connection that does not use an RPI. Class 3
connections are non time critical. Example: MSG instruction, program
upload. Another name for a class 3 message is “explicit”. Explicit messages
include basic information (source address, data type, destination address,
etc.) in every message, hence they are explicit.

- Producer and Consumer


Producer/consumer refers to class 1 connections. With class 1 connections,
messages are sent periodically (every RPI).

Example:
Assume a 5555 Controller is controlling a single rack of Flex I/O using a Rack
connection. Both the ENBT module that is local to the Controller and the Flex
AENT module would both be consumers and producers of data. The AENT
would be consuming outputs and producing inputs.

- UCMM
In the web servers, you can see references to Unconnected Message
Manager (UCMM). This type of messaging is momentary and therefore can
be ignored unless you are troubleshooting. Examples of where UCMM
messages are used are:
 Flash update of module firmware
 Some functions in RSLinx
 CIP Generic MSG instruction
 Opening a class 1 connection (forward_open command)

4 of 11
- Do we always need connections?

TCP connections are always needed and CIP connections are used the
majority of the time.

TCP connections are used for all communications on Ethernet. Even with
implicit connections, a TCP connection is used and remains open. A TCP
connection is required for all CIP messaging, including connected and
unconnected messaging.

CIP connections are almost always used.

Unconnected CIP messages are used but are temporary (short lived).

5 of 11
TCP Connections
TCP connections are required for Ethernet communications to Rockwell Automation
equipment.

64 TCP connection capacity (1756-ENET/B, -ENBT, 17794-AENT

For these modules, there are no restrictions regarding inbound/outbound


TCP connections.

Examples:
 MMI to a PLC5E/Sidecar/SLC505/ControlLogix
 CLGX MSG instruction to a CONTROLLER or workstation
 OPC or DDE accessing a Controller
 I/O or Produce Tag

A TCP connection is required for all communications on Ethernet.

6 of 11
CIP Connections
CIP Connected Messaging Limits

 1756-ENET/B
Maximum of 160 connections
 Maximum of 128 bridged connections
A bridged connection does not terminate on a Ethernet
module.
Any combination of implicit and explicit connections.
 Max of 32 end-node connections
The connection terminates on the 1756-ENET/B module.
e.g. RSLinx configuration of the 1756-ENET module
e.g. Implicit messaging to the Rack object
 Bridged + end-node <= 160 connections

 1756-ENBT
Max of 128 bi-directional connections (total, implicit plus explicit)
 Maximum of 128 bridged
 Maximum of 16 “Rack Optimization” connections to an adapter
The max number of controllers that can have a “Rack
Optimization” connection to an ENBT adapter is 16.
 Maximum of 16 “Listen Only – Rack Optimization”
The max number of controllers that have a Listen Only
connection to a ENBT is 16.
 Maximum of 32 consumers on data connection
The max number of controllers that can consume from an I/O
module direct connection is 32.
 Bridged + Rack <= 128 connections

 1794-AENT (This needs to be updated per 1756-ENBT info above, wait on Eng.)
Max of 63 per module
 Max of 31 implicit connections
Rack or direct connections
 Max of 32 explicit connections
e.g. RSLinx configuration of the 1794-AENT

 Examples of CIP connected messaging:


e.g. CLGX MSG to CLGX
e.g. I/O or Produce Tag
e.g. Program upload
e.g. RSLinx DDE/OPC client
e.g. PanelView polling CLGX

7 of 11
8 of 11
CIP Unconnected (classless) Messaging Limits

 1756-ENET/B, 1756-ENBT
Max of 256 per module
 Max of 128 from the Ethernet wire
-- To an object on the ENET module
-- To the backplane
 Max of 128 from the backplane
-- To an object on the ENET module
-- To the Ethernet wire

 1794-AENT
Max of 256 from the Ethernet wire.

NOTE about Flex messaging from the backplane:


The 1794-AENT can receive messages from the Ethernet media
(“wire”). However, because the Flex backplane architecture (SerBus)
is a polled architecture, the Flex modules do not initiate messages to
the AENT. In other words, the concept of backplane-to-wire is not
legal.

9 of 11
Timeouts, TCP/IP and CIP

TCP/IP Stack Timeout (not user configurable)

Approximate Timeout
1. Keep-alive
Source and target stacks periodically talk to verify connectivity 2 minutes

2. Inactivity 5 minutes
This timer continues to run if CIP connected or unconnected
messages are not occurring.

When this timer expires the TCP stack will:

 Will tear down a connection


 Will not attempt to reestablish a connection (Controller must do this)

3. ARP (Address Resolution Protocol) Cache


0.5 or 10.5 minutes
An ARP cache is used to temporarily store pairs of addresses:
- MAC (e.g. 0000bc060102)
- IP address (e.g. 130.151.139.121)

An ARP cache exists in alI TCP stack implementations (even your PC) and enables
Ethernet messages to be constructed quickly.

If you replace an RA Ethernet module with another module that was already bench
loaded for the same IP/subnet mask/Gateway addresses, the Controller will
recover the TCP connection in:

10.5 minutes when the replaced module is the TCP connection target
Target examples: adapter, tag producer

0.5 minutes when the replaced module is the TCP connection originator
Originator examples: scanner, tag consumer.

During the timeout, PING and RSWho will work but in RSLogix5K, you will
continue to get error 204Hex, Connection request timeout

10 of 11
CIP Timeouts

1. Implicit Messages >= 100ms


Implicit connections will timeout as follows:
Timeout = network multiplier x RPI

The multiplier is selected by the Controller firmware. It is selected to make the


timeout be equal to 100 milliseconds or greater. The minimum multiplier is 4.

Example: RPI = 2ms, multipler selected = 64ms. The timeout product is 128ms.
Example: RPI = 10ms,multiplier selected = 16ms. The timeout product is 160ms.

2. Explicit Messages, connected (not user configurable) 30 seconds

Determined by the Logix Controller firmware.


Example: A MSG instruction with the Cache box checked.

3. Explicit Messages, unconnected (not user configurable) 30 seconds

11 of 11

You might also like