How To Setup EtherNet/IP Datalinks
This introduction explains some important terminology and concepts that appear throughout the guide:
Tag: is a name given to one block of data. It can be a network symbol or a piece of PLC memory with start-address and length. It can be input, output or publication (when the variable is being shared with a device other than a PLC).
Tagset: set of tags to be used in a communication link.
Communication links: links between Tag producers and Tag consumers.
Out-Produce: output tag, or tag that the PLC "produces" to the "consumer" PLC.
Multicast Connection: by transmitting one single message, information is sent to multiple nodes. Multicast in EtherNet/IP uses IGMP (Internet Group Management Protocol) to transfer data to selected nodes in an efficient way.
Point-to-Point Connection requires the transmission of a message to each individual node.
Performance parameters of Omron EtherNet/IP interfaces:
Note: There has been a firmware update for the CJ2M EtherNet/IP built in interface. The initial version supported 32 connections with a maximum size of 20 words each. This is a total of 640 words. However often the maximum size of 20 words was to small to fit the application. Therefore a change in firmware was made where still the total limit of 640 words and 32 connections exists. But the maximum size of a connection was now set to 640 words.
The EtherNet/IP Datalink Tool
What the tool does is creating Tagsets in each PLC where there is one producing and as many consuming as there are other PLCs. Each PLC can have two datalink areas with a certain start-address and size per tagset. In every area the tagsets are of the same size. The first PLC produces the first tagset, the others are receiving data here. The second PLC produces the second tagset, the others are receiving data from the second PLC here. And so on.
In this example we set up 5 PLCs to share data through datalinks.
The EtherNet/IP Datalink Tool is started from the Menu bar by selecting Network/EtherNetIP Datalink Tool
When the EtherNet/IP Datalink Tool is started first the Datalink Wizard will appear. Here the memory area, start address and sizes of the tagsets can be set. Let’s use the values as shown in the global overview. So area 1 starts at W0 and each tagset is 50 words in size. The second area starts at D50 and each tagset is 100 words in size.
The Enable Output Inhibit can be used to set a tagset area to zero if the communication to that PLC fails. This can be used as a kind of safety measure but it depends on your application.
After pressing OK the wizard will populate all PLCs with new tagsets and connection information. All previous entered information will be discarded.
The EtherNet/IP Datalink tool has now created the necessary structure. You will see that each PLC has only one Output area and multiple input areas.
And so on till PLC5.
Now Save and Close the DataLink Tool.
From here we can go online on the network and download the configuration to the PLCs. The data-exchange will start automatically.
However we can have a look at what the EtherNet/IP Datalink Tool actually did.
Double-click on PLC and its Device Parameters edit screen will appear.
You see that it has four connections, one to each of the other PLCs. All the other PLCs have the same.
Next to the size of the data there is also information on the Requested Packet Interval (RPI) and the type of Connection that is used to transfer the data. Press the Hide/Show detail button to show the RPI information.
However the Packet Rate can be changed for all connections at once. In the main overview of the Network Configurator there is a Usage of Device Bandwidth Detail button.
An overview is shown with the total capacity of the EtherNet/IP unit used, the total Mbit/s this will take and the amount of IP-Multicast connections this will take. Make sure not to go over the maximum of 100% of the capacity or the Mbit/s maximum (10 or 100 Mbit/s) of your Ethernet connection speed.
The values between brackets show you the values when no Mulitcast filtering is used.
The RPI is changed for the PLCs selected.
Multi-cast and IGMP.
To transfer data efficiently over the network EtherNet/IP can make use of Multi-casts. The principle of operation is that the producing PLC is sending out only one message that is received by a group of other PLCs. Not to all PLCs as this could be an overload on the network.
The technology used for this is IGMP or Internet Group Management Protocol.
A switch uses IGMP-snooping to learn to which group this Client wants to get messages from. If it then receives IGMP-messages for this group then the switch will forward this message to the proper port according to what it learnt through its IGMP-snooping.
As IGMP is a Level 3 service it is commonly only supported by managed switches. For level 2 un-managed switches an IGMP-message is just a broadcast message and it will forward an IGMP-message to all its ports. That is just what IGMP is all about. An incoming message should only go out on those ports where it needs to go out as the connected device has asked for it.
What happens if no managed switches are used depends on your application.
In case you have other devices on the network then they will also receive the EtherNet/IP messages. As it is a broadcast the device need to work on the message and need to decide what to do with the message. Normally they drop the message but it is in any case a burden on the processor of the device.
A remedy would be to change from Multi-cast to Point-to-point. Now every producer will sent to every consumer separately a message. This will increase the number of messages to be sent, in our example a factor of 4, but layer2 switches know to which port the message should be forwarded to.
Therefore in a system where also other devices are connected to the Ethernet network it is advisable to use managed switches or Level 3 switches. They check the IP-part of the message to see how to forward the message. They are equipped to handle IGMP properly.
Can all be handled with simple un-managed switches or is there need for managed switches? There are some simple tools like a pencil and paper and an Ethernet protocol analyser called Wireshark (www.wireshark.org) that can come in very handy.
First simply draw your network infrastructure and make the data-flows visible. You can already pin-point your bottlenecks now.
As every network is unique in its structure and data that goes over it that it is not easy to have a fits all rule. Just use your common sense and don’t take things for granted till they are proven by measurement.