Module 07 - Ethernet - IP
Module 07 - Ethernet - IP
Module 07 - Ethernet - IP
Agenda
Ethernet/IP Overview
Terminal Configuration
Define Ethernet/IP in the PLC
EDS file and RSLinx
RSNetworx for Ethernet/IP
Ethernet/IP Watch-Outs
Sample Program
- Floating Point
- Integer
Shared Data Access
Troubleshooting
Assessment
Exercise
1
Ethernet/IP Overview
Developed in the 1990's by ControlNet International.
Released in 2001, the standard is currently managed by ODVA.
Common Industrial Protocol (CIP) based.
Two standards speeds, 10 MBPS and 100 MBPS.
Message scheduling not necessary because of the use of smart
switches and higher network speeds.
RSNetworx for Ethernet/IP generally not needed with MT Industrial Devices
Device Level Ring (DLR) topology NOT available on Industrial
Terminals because of single port Module.
EDS File only needed to identify device for RSLinx
Module
DON'T USE the EDS file as an EDS AOP!!
supplied
by HMS Cyclic messages are referred to as "Class 1", "Implicit", or
"Scheduled" messages
2
Ethernet/IP Overview - Continued
Works with standard RJ-45 Ethernet cables,
as well as cables with M12 connectors.
3
QoS and IGMP Snooping
Two important terms that we must be aware of on Ethernet/IP are QoS and IGMP Snooping.
QoS is used for streaming types of data, such as voice and video. It also works well with implicit (cyclic) data,
which is actually a form of streaming data.
IGMP Snooping
The behavior of an unmanaged switch is to flood multicast packets to all ports within the same VLAN. This is not typically
desirable. To resolve this IGMP Snooping implements the following:
• A Querier manager maintains a table that lists the devices that are participating in multicast groups.
• Snooping functionality inspects packets and forwards multicast data only to the devices that requested the data.
IGMP snooping constrains the flooding of multicast traffic by dynamically configuring switch ports so that multicast traffic is
forwarded to ports associated with only a particular IP multicast group.
Note: The Querier must reside on a router or centrally located IGMP capable device, such as a switch.
4
Terminals that Support Ethernet/IP
5
Agenda
Ethernet/IP Overview
Terminal Configuration
Define Ethernet/IP in the PLC
EDS file and RSLinx
RSNetworx for Ethernet/IP
Ethernet/IP Watch-Outs
Sample Program
- Floating Point
- Integer
Shared Data Access
Troubleshooting
Assessment
Exercise
6
Ethernet/IP – Terminal Configuration
3. Most times, a static IP address will be used. In those cases, enter the
desired IP Address, Subnet Mask, and Gateway Address.
2
3
7
Ethernet/IP – Terminal Configuration Continued
8
Agenda
Ethernet/IP Overview
Terminal Configuration
Define Ethernet/IP in the PLC
EDS file and RSLinx
RSNetworx for Ethernet/IP
Ethernet/IP Watch-Outs
Sample Program
- Floating Point
- Integer
Shared Data Access
Troubleshooting
Assessment
Exercise
9
Ethernet/IP – Define in PLC
Make sure that the Bridge module
is physically in the slot specified
by the PLC Program (Slot 2 – slot
numbering starts at zero)!
10
Ethernet/IP – Configure Nodes in PLC
2 different ways to define a node in the PLC program
1. Generic Ethernet Module 2. Add On Profile (AOP)
11
Agenda
Ethernet/IP Overview
Terminal Configuration
Define Ethernet/IP in the PLC
EDS file and RSLinx
RSNetworx for Ethernet/IP
Ethernet/IP Watch-Outs
Sample Program
- Floating Point
- Integer
Shared Data Access
Troubleshooting
Assessment
Exercise
12
EDS File and RSLinx
Loading the EDS file into RSLinx allows it to identify the DeviceNet device on the
network.
13
Agenda
Ethernet/IP Overview
Terminal Configuration
Define Ethernet/IP in the PLC
EDS file and RSLinx
RSNetworx for Ethernet/IP
Ethernet/IP Watch-Outs
Sample Program
- Floating Point
- Integer
Shared Data Access
Troubleshooting
Assessment
Exercise
14
RSNetworx for Ethernet/IP
RSNetworx for Ethernet/IP is primarily used for:
With Industrial Terminals, we are not concerned about those things. So,
we won't use RSNetworx for Ethernet/IP
15
Agenda
Ethernet/IP Overview
Terminal Configuration
Define Ethernet/IP in the PLC
EDS file and RSLinx
RSNetworx for Ethernet/IP
Ethernet/IP Watch-Outs
Sample Program
- Floating Point
- Integer
Shared Data Access
Troubleshooting
Assessment
Exercise
16
Rememeber this Ethernet/IP Gotch-ya!
WARNING!!! Not all PLC's can use Ethernet/IP cyclic data!!!
SLC
MicroLogix
MicroLogix 1400
1200
19
Define a Floating Point IND780 using the AOP
Leave only
"Communication" checked
Enter a name
Enter the IP Address
Check only "Mettler-Toledo"
20
AOP I/O Data Tags
Floating Point Integer
DataSelect
FROM "Monitor
IND780 Tags"
Data TO IND780
21
Agenda
Ethernet/IP Overview
Terminal Configuration
Define Ethernet/IP in the PLC
RSNetworx for Ethernet/IP
Sample Program
- Floating Point
- Integer
Shared Data Access
Troubleshooting
Assessment
Exercise
22
Floating Point Program
First, we're going to go over the Floating Point program sample.
23
Floating Point: Rung 1
For a detailed explanation of the Data OK and the Data Integrity bits, see this
discussion: Industrial Terminal Overview.pptx - Floating Point Special bits
Note that the CPS instruction automatically copies BOTH Also note the use of a SYNCHRONOUS Copy Instruction to
FPdata1 and FPData2 into the FloatingPoint_Data Tag. make sure that we get BOTH words of data at the same time!
24
Floating Point: Rung 2
For a detailed explanation of the Command Acknowledge, see this discussion: Industrial Terminal
Overview.pptx - Floating Point Command Acknowledge
26
Floating Point: Rung 4
27
Floating Point: Rung 5
For a detailed explanation of the Floating Point Indicator, see this discussion: Industrial Terminal
Overview.pptx - Floating Point Indicator
Should be treated
as an Integer value
between 0 and 31.
28
Agenda
Ethernet/IP Overview
Terminal Configuration
Define Ethernet/IP in the PLC
RSNetworx for Ethernet/IP
Sample Program
- Floating Point
- Integer
Shared Data Access
Troubleshooting
Assessment
Exercise
29
Integer Program
Now we'll go over the Integer program sample.
30
Define an Integer IND780 using the AOP
Leave only
"Communication" checked
Enter a name
Enter the IP Address
Check only "Mettler-Toledo"
31
Integer: Rung 1
Reading basic data from the Terminal
The UpdateInProgress is
similar to the Data Integrity
bit in that it indicates that
the IND780 is currently
updating the buffer and that
the data should not be
used.
32
Integer Program
Command to Tare the Scale
33
Integer Program
Commands to Clear and Zero the Scale
Then the flag is cleared here
34
Integer Program
Commands to return different kinds of data.
These commands work like the previous rungs
35
Integer Program
Command to do a Preset Tare
Again, this works like the previous commands – with one change
To cause the scale to do a Preset Tare, set this bit As a result, the Integer number 8 (bit 3 = On)
to 1 (true) either from an operator interface, or is moved to the Command Word Output.
from the PLC program.
36
Integer Program
Normalize the Floating Point Data Output
This rung converts the Floating Point data to Integer Data so it can be written to the Terminal
37
Agenda
Ethernet/IP Overview
Terminal Configuration
Define Ethernet/IP in the PLC
RSNetworx for Ethernet/IP
Sample Program
- Floating Point
- Integer
Shared Data Access
Troubleshooting
Assessment
Exercise
39
Shared Data
Shared Data Access is nearly identical to what we did for ControlNet. But let's review the
whole thing anyway.
Shared Data is memory reserved inside of the Terminal that holds configuration and
process information, and it is updated constantly.
Shared Data
Gross Weight
Request Units
NET Weight
0.001 KG
Rate
Units
40
Shared Data Access Overview
In order to access Shared Data, a program must provide the following information to the
Read and Write message instructions:
• Class Code This information can be found in the Shared Data Reference
• Instance Number Manual for each Shared Data variable.
• Attribute Number
• Length For a link to the IND780's Shared Data Reference Manual, click here
For example, here is how you would find the information for a ‘WT’ type Shared Data variable:
Length
Attribute
Also note: The IND131/331 has only a small set of variables that it can access using this method.
Please see Appendix B in the IND131/331's PLC manual: 64067815_R10_IND131-331_PLC_EN.pdf
41
Shared Data Access Subroutine Call
42
Shared Data Access: Rung 1
This subroutine responds to individual request flags by triggering discrete messages.
43
Shared Data Access: Rung 1 – Message configuration
We're setting a Boolean flag. To do that, write a single byte with a value of 1.
Scale Number
44
Shared Data Access: Rung 1 – Message configuration
Click OK
Click OK
45
Shared Data Access: Rung 2 – Message configuration
The Clear message rung works exactly like the previous one,
with one minor difference…
46
Shared Data Access: Rung 3 – Message configuration
Reading data is very similar to writing…
Specify a Read by selecting "Get Attribute Single."
47
Shared Data Access: Rung 4 – Message configuration
Reading data from the Integer Terminal is exactly the same as reading
from the Floating Point terminal
with one difference:
Click on Communication
Click on Browse
Click Okay
48
Shared Data Access: Rung 4 – Data Conversion
Even converting the data is the same:
49
Shared Data Access: Summary
Major Points to remember for Shared Data Access
Shared Data in the Terminal contains BOTH Configuration information AND Process Data, such as Weight.
The PLC can Read FROM or Write TO Shared Data if a ControlNet Class has been defined for it.
Shared Data Access by a PLC is usually done using Discrete Message Instructions.
The format of the data returned by a Shared Data Access is NOT affected by the selected format of
the Terminal (Floating Point or Integer). The same Message instructions work on either format.
You will need access to the Shared Data Reference Manual to correctly set up your message instructions.
Note: The IND131/331 has only a small set of variables that it can access using this method.
Please see Appendix B in the IND131/331's PLC manual: 64067815_R10_IND131-331_PLC_EN.pdf
50
Agenda
Ethernet/IP Overview
Terminal Configuration
Define Ethernet/IP in the PLC
RSNetworx for Ethernet/IP
Sample Program
- Floating Point
- Integer
Shared Data Access
Troubleshooting
Assessment
Exercise
51
Troubleshooting
• Look at the LED status of the module.
• Use PC to ping for IP Addresses.
• Confirm that Ethernet/IP Bridge is in correct PLC Slot.
• See the device in RSLinx before trying to add it to the Network.
• I/O size mismatch.
• Proper Format and Message Slots defined?
• Byte Order (IND560 may be different from others)!
• Check Connection Tab 'Module Fault' frame in PLC for error
message.
• Make sure that the Ethernet/IP network is plugged into the
Ethernet/IP module, not the terminal's TCP/IP RJ-45 connector.
• Make sure that user put the Ethernet/IP's IP configuration in the
Ethernet/IP configuration and not the TCP/IP Network setup.
• Confirm cable connections to switch and PLC.
• DIP switches on Module should all be UP.
• Use Generic Module or Custom AOP, not EDS AOP.
• Ethernet Switch Settings (Full Duplex, 100 MBPS, Auto
Negotiate).
• Check for IP Address Conflict.
• Cyclic works, but Explicit don't. Check MSG Connection Path
settings.
• Explicit Works, but cyclic don't. Check that PLC is capable of
Cyclic messaging.
• Check Firmware version of Ethernet/IP module in PLC Chassis.
52
Agenda
Ethernet/IP Overview
Terminal Configuration
Define Ethernet/IP in the PLC
RSNetworx for Ethernet/IP
Sample Program
- Floating Point
- Integer
Shared Data Access
Troubleshooting
Assessment
Exercise
53
Assessment
True or False
Shared Data Access in Floating Point Format is the same as in Integer Format. True
The PLC must be in Program Mode before scheduling the Network. False
Cyclic (Implicit) data is similar to streaming data, such as voice or video. True
An Ethernet/IP device will work fine on the network without an EDS file. True
54
Agenda
Ethernet/IP Overview
Terminal Configuration
Define Ethernet/IP in the PLC
RSNetworx for Ethernet/IP
Sample Program
- Floating Point
- Integer
Shared Data Access
Troubleshooting
Assessment
Exercise
55
Exercise – Connect a Terminal
The entire class will connect their Terminals to the PLC via Ethernet/IP.
Use the Industrial Fieldbus Training HMI to communicate to your device.
• Check the PLC Image. What's in the first 2 Input words?
Use Floating Point Format • Do a Cyclic Pushbutton Tare
• Do a Cyclic Clear Tare
• Do an Acyclic Pushbutton Tare
• Do an Acyclic Clear Tare
• Write a Value to AJ0101
• Read back AJ0101
• Do a Cyclic Programmed Tare
• Report the Gross Weight
• Report the Net Weight
• Put your terminal into Setup. What happens to the status
and data coming back when you change the scale value?
• Put the terminal back into run, then cycle power. What
happens to the Data OK bit?
• Change your Terminal to Integer Format. What error is
returned in the PLC Connection Tab?
• Take the same IP Address as someone else. What
happens?
56