EIP Explicit Messaging.fm

8000DB1025
07/2010
Raleigh, NC, USA
Data Bulletin
Ethernet/IP Explicit Messaging
Using Unity™ Software
Retain for future use.
Overview
This data bulletin illustrates how to setup Ethernet/IP (EIP) slaves and
memory address assemblies for implicit messaging.
NOTE: This document does not detail how to setup implicit messaging
using Unity software.
Presumption
This bulletin is written for individuals familiar with Unity™ software and
networked Altivar® 71 variable speed drives (ATV71). If you are not familiar with
this software or network operation, please consult your system administrator.
Requirements
The following hardware and software is required:
Hardware
•
•
•
•
Premium® logic controller
TSXETC100 Ethernet/IP module
Ethernet switch (TCSESM083F23F0)
Altivar® 71 variable speed drive (VW3A3316 Ethernet/IP card installed)
Software
•
•
© 2010 Schneider Electric All Rights Reserved
Unity version 4.1
Ethernet/IP configuration tool
Ethernet/IP Explicit Messaging
Overview
8000DB1025
07/2010
Table of Contents
Overview .................................................................................................... 1
Presumption ................................................................................................. 1
Requirements.............................................................................................. 1
Safety Information..................................................................................... 3
Notice ..........................................................................................................
Related Documents.....................................................................................
Product Related Information .......................................................................
User Comments ..........................................................................................
3
3
4
4
Introduction ............................................................................................... 5
Background ................................................................................................. 5
Application Example ................................................................................. 6
Overview ..................................................................................................... 6
Using the Ethernet/IP Config Tool............................................................... 7
Using Unity™ Software ............................................................................ 11
2
© 2010 Schneider Electric All Rights Reserved
8000DB1025
07/2010
Ethernet/IP Explicit Messaging
Safety Information
Safety Information
Notice
Read these instructions carefully, and look at the equipment to become
familiar with the device before trying to install, operate, or maintain it. The
following special messages may appear throughout this documentation or
on the equipment to warn of potential hazards, or to call attention to
information that clarifies or simplifies a procedure.
A lightning bolt or ANSI man symbol in a “Danger” or “Warning” safety label
on the equipment indicates an electrical hazard which, as indicated below,
can or will result in personal injury if the instructions are not followed.
The exclamation point symbol in a safety message in a bulletin indicates
potential personal injury hazards. Obey all safety messages introduced by
this symbol to avoid possible injury or death.
Symbol
Name
Lightning Bolt
ANSI Man
Exclamation Point
DANGER
DANGER indicates an imminently hazardous situation which, if not
avoided, will result in death or serious injury.
WARNING
WARNING indicates a potentially hazardous situation which, if not
avoided, can result in death or serious injury.
CAUTION
CAUTION indicates a potentially hazardous situation which, if not
avoided, can result in minor or moderate injury.
Related Documents
The following technical publications and other technical information can be
downloaded from our website at www.us.schneider-electric.com.
Title of Documentation
Reference Number
ATV71 Programming Manual
1755855
ATV71 Communication Parameters Manual
atv71_programming_manual_en_
v2 2005-02
Premium TSXETC 100 EtherNet/IP Communication Module
31008211
User Manual
© 2010 Schneider Electric All Rights Reserved
3
Ethernet/IP Explicit Messaging
Safety Information
8000DB1025
07/2010
Product Related Information
WARNING
LOSS OF CONTROL
• The designer of any control scheme must consider the potential failure
modes of control paths and, for certain critical control functions, provide
a means to achieve a safe state during and after a path failure.
Examples of critical control functions are emergency stop and
overtravel stop.
• Separate or redundant control paths must be provided for critical control
functions.
• System control paths may include communication links. Consideration
must be given to the implications of unanticipated transmission delays
or failures of the link. 1
• Each implementation of an Altivar® 71 must be individually and
thoroughly tested for proper operation before being placed into service.
Failure to follow these instructions can result in death, serious
injury, or equipment damage.
1.
User Comments
4
For additional information about anticipated transmissions delays or failures of the link, refer to
NEMA ICS 1.1 (latest edition), Safety Guidelines for the Application, Installation, and Maintenance of Solid
State Control and to NEMA ICS 7.1 (latest edition), Safety Standards for Construction and Guide for
Selection, Installation and Operation of Adjustable-Speed Drive Systems or its equivalent in your specific
country, language, and/or location.
We welcome your comments about this bulletin. You can reach us by e-mail
at [email protected].
© 2010 Schneider Electric All Rights Reserved
8000DB1025
07/2010
Ethernet/IP Explicit Messaging
Introduction
Introduction
Background
Ethernet IP is based on the Common Industrial Protocol (CIP). For the
programmer,there are two messaging systems that are of interest:
•
Implicit Messaging: This is the most used and programmatically
requires the least overhead. This form of messaging is an I/O scanner in
which the master device repeatedly queries the slave devices. The rate
of implicit messaging to a specific slave device is dictated by the
Request Packet Interval value (RPI). Most devices handle the implicit
messaging for the programmer so the internal details are completely
abstract.
•
Explicit Messaging: It involves a finite number of I/O variables. For
example, a standard Ethernet/IP assembly for the Altivar® 71 drive has
eight inputs and eight outputs. The explicit messaging system provides a
process to handle parameters that need to be processed occasionally or
only once during the life of the program. Explicit messaging is a direct
link to a device on an Ethernet/IP network similar to a traditional
master-slave configuration used by Modbus®.
So why not always use explicit messaging?
— Programming overhead is high.
— Performance is compromised.
As explained above, implicit messaging is normally handled
automatically by the system. Explicit messaging needs to be manually
performed and managed at the application level.
Industrial fieldbus protocols are primarily for the control of external slave
devices. That is, the majority of bandwidth consumption comes from the
rapid, repetitive scanning of external slaves. Ethernet/IP has a
predictable set of matrixes for the calculation of bandwidth and
performance. The predictability, however, comes from Implicit
messaging, combined RPIs, and assemblies for slave devices on a
network to derive a bandwidth in packets per second. Adding in large
quantities of Explicit messaging makes it much less predictable. The
management is being handled by the application and is subject to scan
times, program logic, and so forth. As a result, the overall performance
of an Ethernet/IP network becomes less predictable.
© 2010 Schneider Electric All Rights Reserved
5
Ethernet/IP Explicit Messaging
Application Example
8000DB1025
07/2010
Application Example
Overview
Figure 1 illustrates the test setup used for this example.
The drive is interfaced to the TSX ETC 100 module using standard Ethernet
cabling and is set to run using implicit messaging.
This example does not go into the details of how to setup implicit
messaging using the Unity software.
NOTE: Explicit messaging details are occurring in conjunction with the
implicit messaging.
Figure 1:
Overview of the Test Setup
Ethernet
Altivar ® 71
Ethernet
Switch
TSX ETC 100
6
© 2010 Schneider Electric All Rights Reserved
8000DB1025
07/2010
Using the Ethernet/IP
Configuration Tool
Ethernet/IP Explicit Messaging
Application Example
The Ethernet/IP configuration tool is an add-on for Unity® software that is
primarily used to setup the EIP slaves and memory address assemblies for
implicit messaging. See Figure 2. Placing the tool into online mode permits
use for explicit messaging duties.
Figure 2:
The Ethernet/IP Configuration Tool screen
For this example, the Acceleration (ACC) parameter is set remotely using
explicit messaging. Figure 3 shows the ACC parameter from the
ATV71 Communication Parameters User’s Manual. Both the Ethernet/IP
and DeviceNet share the same logical foundation—Common Industrial
Protocol (CIP).
The DeviceNet address takes the form of CLASS/INSTANCE/ATTRIBUTE.
Figure 3:
© 2010 Schneider Electric All Rights Reserved
The ACC Parameter
7
Ethernet/IP Explicit Messaging
Application Example
8000DB1025
07/2010
The Ethernet/IP configuration tool has an explicit messaging dialog box that
is available when the tool is in online mode. The online button is part of the
toolbar above the IP address information shown in Figure 2 on page 7.
Once online, click on the Network Detection tab to access Online Action.
See Figure 4.
Figure 4:
8
Accessing the Online Action Tool
© 2010 Schneider Electric All Rights Reserved
8000DB1025
07/2010
Ethernet/IP Explicit Messaging
Application Example
Click on Online Action to open the Explicit Messaging tool. See Figure 4 and 5.
The Explicit Messaging tool contains the following information:
•
The IP and DeviceNet addresses display in the IP Address and Class
fields.
•
The default for the IP Address, Class, Instance, and Attributes fields is a
decimal number. Click on the button to the right of the field to toggle
between decimal and hexidecimal.
NOTE: The use of an IP Address implies that the device is a slave.
•
On the Service pane the Name drop-down menu contains a selection of
CIP messages to send. The selections include: Reset, Get Attribute
Single, Set Attribute Single, and so forth.
•
Click Send to Device to send the explicit message to the slave device.
Figure 5:
Results of Sending the Get Attributes Single CIP
Figure 5 shows the results of sending the Get Attributes Single service
message to the slave drive. The value (1E 00) is received back from the
ATV71 for the ACC parameter. The Ethernet/IP actually swaps the lower
byte with the higher byte so that the received value shown in Figure 5 is 30
or 3.0 since the ACC parameter is 0.1 seconds. The Status box indicates
that the Explicit message was succesful.
© 2010 Schneider Electric All Rights Reserved
9
Ethernet/IP Explicit Messaging
Application Example
8000DB1025
07/2010
It is also possible to set parameters using explicit messaging. Figure 6
demonstrates this using the Explicit Messaging tool. The Data section
displays 32 00 (hexadecimal). This implies a decimal value of 50, or a 5.0
second ACC parameter value. This CIP command is also successful and
the ATV71 now has an ACC value of 5 seconds.
Figure 6:
10
Setting the ACC Value
© 2010 Schneider Electric All Rights Reserved
8000DB1025
07/2010
Using Unity™ Software
Ethernet/IP Explicit Messaging
Application Example
While the Ethernet/IP configuration tool is good for demonstrating explicit
messaging, it is not a programming solution to be used in an application.
Explicit messaging via Ethernet/IP is accomplished in Unity through the
SEND_REQ function block.
Figure 7 shows the SEND_REQ function block in a very simple program.
The documentation for explicit messaging using this block is found in the
TSX ETC 100 manual. The I/O for this block includes the following:
•
ADDR—the address of the TSXETC100 Ethernet/IP module and its
location within the processor rack. As an example, the address shown in
Figure 7 is made up of:
— Rack = 0
— Module = 6
— Channel = 0
— Destination Address = 1 (The target device as specified in the
Ethernet/IP configuration tool. Figure 4 on page 8 shows the
example drive having an IP address of 192.168.0.51 and is referred
to as device 001.)
•
•
Code—a static hexadecimal (E) which signifies a CIP request.
•
GEST—the management parameter array which is handled by Unity.
The information in this array is setup by the program prior to a send
request and then the logic controller populates it based on the results of
the transmission.
•
RECP—the data array that stores received response message
information from the slave device.
EMIS—the data to send array. The array can be variable in length based
on the type of message being sent and amount of data. For this
example, it is a 6-integer array to contain the CIP message data.
Figure 7:
© 2010 Schneider Electric All Rights Reserved
SEND_REQ Function Block
11
Ethernet/IP Explicit Messaging
Application Example
8000DB1025
07/2010
Most of the setup to do an explicit message occurs in the EMIS and GEST
arrays. Figure 8 on page 13 shows the contents of the three I/O arrays prior
to a Get Attribute Single CIP command.
•
The arrDataIn array is fed by the RECP output array of the SEND_REQ
function block. It is zeroed out prior to a transmission attempt.
•
The arrDataOut feeds the EMIS input of the SEND_REQ function block
and is where the CIP message is actually constructed. It has the
following elements:
— arrDataOut[0] is set to hexadecimal 0 to imply that the Ethernet/IP
message is unconnected.
— arrDataOut[1] is set to hexadecimal 030E with the high byte implying
the CIP Request Path Size and the low byte being the CIP message
type. So the low byte (0E hex) is the Get Attribute Single CIP service
request.
— arrDataOut[2] is set to hexadecimal 8E20. The low byte (20 hex) is
static to imply the CIP Class Segment. The high byte (8E hex) is the
class element of the DeviceNet address. See Using the Ethernet/IP
Configuration Tool on page 7.
— arrDataOut[3] is set to hexadecimal 0124. Similar to arrDataOut[2],
the low byte (24 hex) is static to imply the CIP Instance Segment.
The high byte represents the Instance element of the DeviceNet
address. See Using the Ethernet/IP Configuration Tool on page 7.
— arrDataOut[4] is set to hexadecimal 0230. Similar to arrDataOut[2]
and arrDataOut[3], the low byte (30 hex) is static to imply the CIP
Attribute Segment. The high byte represents the Attribute element of
the DeviceNet address. See Using the Ethernet/IP Configuration
Tool on page 7.
— arrDataOut[5] is the data payload word and is not used for the Get
Attribute Single CIP command, but will be in the following example.
12
© 2010 Schneider Electric All Rights Reserved
8000DB1025
07/2010
Ethernet/IP Explicit Messaging
Application Example
•
The arrMgmnt array is fed input and output to GEST. It has the following
elements:
— arrMgmnt[0] has a high byte that is the exchange number which is
managed by Unity™. It shows 1C hexadecimal because other data
exchanges have been performed with this program. The low byte,
which is the Activity Bit, is also managed by Unity. This parameter
can be monitored to determine when the transmission response
back from the slave device has been received.
— arrMgmnt[1] has the Operation Report occupying the high byte and
the Communication Report in the low byte. These values are
populated by the SEND_REQ function block to convey the success
or failure of a transmission down to the hardware level. These bytes
are populated when the activity bit (see above) transitions from
1 to 0. The encoded SEND_REQ function block values for these
bytes are available in the Unity™ online help.
Figures 8 and 9 show the value of 3E00 hex. The lower byte is the
Communication Report and implies that a Correct Exchange has
occurred. Since this is a successful transmission, the 3E hex value
for the Operation Report is the Request Code for the positive reply.
— arrMgmnt[2] represents the time-out value in milliseconds. As shown
in Figure 8, it is set to 0 which indicates an infinite time-out period
with the slave. This should be set to 250 milliseconds so the time-out
occurs if the slave does not respond within the specified time period
and the Communication Report will notify the caller.
— arrMgmnt[3] represents the total number of bytes that make up the
transmission packet. In Figure 8, the number of bytes in the
transmission packet is A hex or a 10 byte packet request.
Figure 8:
© 2010 Schneider Electric All Rights Reserved
State of the I/O Arrays Feeding the SEND_REQ Function
Block Prior to Transmission
13
Ethernet/IP Explicit Messaging
Application Example
8000DB1025
07/2010
Figure 9:
State of the I/O Arrays Feeding the SEND_REQ Function
Block Post Transmission
Figure 9 shows the results of the Get Attribute Single request sent to the
ATV71 slave. The following bulleted lists details some of the results.
•
•
Based on the Communication Report the transmission was succesful.
•
•
The exchange number in the management report increments by 1.
The number of bytes in the management array shows a total of 6
responses from the drive.
The data input array contains the 6 bytes received; the value 32 hex is
populating it. This corresponds to the 5 seconds ACC value set in Using
the Ethernet/IP Configuration Tool on page 7.
The Get Attribute Single request was successful and valid based on the
value set in Using the Ethernet/IP Configuration Tool. Figures 10 and 11
demonstrate the Set Attribute Single performed in a similar manner to the
example above. The drive ACC parameter is set to 1 second.
14
•
The second element in the data output array is 0310 hex instead of
030E in the previous example. The lower byte is set to 10 hex, which is
the CIP code for Set Attribute Single.
•
The sixth element of the data output array is set to 000A hex (the value
of the parameter to set). The ACC parameter is set to 1 second, which is
decimal 10 (in 100ths of a second).
•
The fourth element of the management array is set to 000C hex (the
transmission packet is 12 bytes long including the parameter value).
© 2010 Schneider Electric All Rights Reserved
8000DB1025
07/2010
© 2010 Schneider Electric All Rights Reserved
Ethernet/IP Explicit Messaging
Application Example
Figure 10:
State of the I/O Arrays Feeding the SEND_REQ Function
Block Prior to Transmission
Figure 11:
State of the I/O Arrays Feeding the SEND_REQ Function
Block Post Transmission
15
Ethernet/IP Explicit Messaging
Data Bulletin
8000DB1025
07/2010
The outcome of the Get Attribute Single command is that the drive ACC
parameter is set to 1 second. These values are being set appropriately in
the drive in real-time. However, they are not stored to EEPROM memory
and a reboot will force the previous parameter values to be returned.
NOTE: The current state of the parameters can be saved to EEPROM by
writing the extended command word. See page 61 of the ATV71
Communication Parameters Manual.
Schneider Electric USA, Inc.
8001 Knightdale Blvd
Knightdale, NC 27545 USA
www.schneider-electric.com/your-business/oems/
Altivar® and Premium® are registered trademarks of Schneider Electric. Other trademarks used
herein are the property of their respective owners.
Electrical equipment should be installed, operated, serviced, and maintained only by qualified
personnel. No responsibility is assumed by Schneider Electric for any consequences arising out of
the use of this material.
© 2010 Schneider Electric All Rights Reserved