How-to & Trace description guide: Ethernet IP

Terminology

EDS File
An Electronic Data Sheet (EDS) is an ASCII text file that describes the features of an EtherNet/IP device
and is used by software tools for device and network connection configuration

Explicit Messaging
Explicit Messages can be sent as a connected or unconnected message. CIP defines an Explicit Messaging
protocol that states the meaning of the message. This messaging protocol is contained in the message
data. Explicit Messaging provide the means by which typical request/response oriented functions are
performed (e.g., module configuration). These messages are typically point-to-point. Message rates and
latency requirements are typically not as demanding as I/O messaging.

Implicit Messaging
Implicit Messages are exchanged across I/O Connections with an associated Connection ID. The
Connection ID defines the meaning of the data and establishes the regular/repeated transport rate and the
transport class. No messaging protocol is contained within the message data as with Explicit Messaging.
Implicit Messages can be point to point (unicast) or multicast and are used to transmit application
specific I/O data. This term is used interchangeably with the term I/O Messaging. Implicit Messaging on
EtherNet/IP uses UDP/IP frames on port 2222. They are typically Class 0 or 1 and of the type Exclusive
Owner, Input Only and Listen Only.

I/O Scanner
An I/O scanner initiates implicit connections with I/O adapter devices, i.e., it is an I/O Client. A scanner
is typically the most complex type of EtherNet/IP device, as it must deal with issues such as configuration
of which connections to make, and how to configure the adapter device. Scanners also typically support
initiating explicit messages, i.e., it is also an Explicit Message Client. A programmable controller is an
example of an I/O scanner (used interchangeably with Scanner Class).

I/O Server
Function that provides I/O messaging services to another (I/O Client) device. Responds to a request
from the I/O Client for an I/O connection. An I/O Server is the target of the implicit message connection
request

Connection Originator
The source node that makes a request to a Connection Target for a connection. It can initiate either an I/O connection or explicit message connection using the ForwardOpen service.

Connection Target
Destination for I/O or explicit message connection requests. Responds to a connection request with a ForwardOpen service response.

For a general overview and more details regarding terminology or EIP protocol please see: Source: www.odva.org

Example - B&R PLC with a X20BC0088 buscontroller

Project for the X20BC0088

  • Create a new AS project and select “EthernetIP_CPU1” as PLC

  • Then add the X20BC0088 as device to the PLCs port

  • add the necessary IO modules

  • save and do a rebuild - AS will then generate a EDS file for you

  • This file can be used in various programing environments which are able to import a EDS file and describes your buscontroller with attached IOs

  • It is located in the projects path under …\Temp\Objects\Config1\EthernetIP_CPU1\AsFDOutput

L5K File → import file for Rockwell RSLogix

EDS Files → description files of the BC0088 (one with and one without IO configurations)

BIN file → in case of “sophisticated” modules a binary configuraiton file for the BC0088 (download via webpage)

Project for the B&R PLC:

  • create a second configuration (or a second project)

  • This time select a B&R PLC and enter a X20IF10D1-1

  • open “Tool - manage 3rd party devices” and then “import DTM device” and import the EDS file from the folder mentioned above

  • then attach the device to the IF card

  • Now its time to assign IP adresses. Looking into the manual of the X20BC0088 there are several ways to set/use the IP:

  • For details how to set the IP or use an IP from the flash memory please read the BCs manual. In this test we will use the “FF” node position to have default of “192.168.100.1”

  • Open the “Device configuration” of the "EIP (DTM):

  • Set the IP of the master to an IP which fits to the BC0088 - in this example 192.168.100.2

  • switch to "scanlist"and enter the IP of the X20BC0088

  • ensure a proper “RPI” is set. The manual of the device will give hints about possible values - this also applies for 3rd party devices

  • create a CF card and boot up your PLC

  • The communication should be up and running

Here is what’s happening on the bus
The PLC will ask via ARP request where the IP of the buscontroller is:
image

Directly followed by a “SYN” Request which is (normally) Acknowledged “ACK” by the BC
Then the Scanner will initiate the EIP connection:

  1. List Service Request → List Service response
  2. Register Session Request → Register Session response
  3. Forward Open → Success: Forward open

→ this is the typical sequence of a connection establish of EthernetIP

The Server will then join a Multicast group (In this case 239.192.1.0)

Scanner and Server will then communicate via “CIP I/O”
O→ T means Originator to Target
T→ O means Target to Originator

4 Likes