A Sierra Monitor Company
Driver Manual
(Supplement to the FieldServer Instruction Manual)
FS-8704-14 EtherNet/IP
APPLICABILITY & EFFECTIVITY
Effective for all systems manufactured after January 2009
Driver Version:
1.03
Document Revision:
3
FS-8704-14 EtherNet/IP Manual
Table of Contents
Appendix B. Troubleshooting Tips ....................................................................................................................... 29
Appendix B.2. Connection information – Allen Bradley Message Blocks................................................................29
FS-8704-14 EtherNet/IP Manual
Page 4 of 30
1
ETHERNET/IP DESCRIPTION
The Ethernet IP driver allows the FieldServer to transfer data to and from devices over Ethernet using the
EtherNet/IP protocol. The FieldServer can emulate either a Server or Client.
EtherNet/IP uses CIP (Control and Information Protocol), the common network, transport and application layers
also shared by ControlNet and DeviceNet. EtherNet/IP then makes use of standard Ethernet and TCP/IP
technology to transport CIP communications packets. The result is a common, open application layer on top of
open and highly popular Ethernet and TCP/IP protocols.
The Driver is able to read/write using the Data Table structure employed by all Logix Series PLC’s.
PCCC support is also provided for legacy devices that do not fully support CIP encapsulation. EIP PCCC
Encapsulation was tested at FST factory using PLC5 I785 ENET card. The following data types were tested:
N
F
S
The information that follows describes how to expand upon the factory defaults provided in the configuration files
included with the FieldServer.
1.1 ODVA Status.
ODVA is an international association comprised of members from the world's leading automation companies.
Collectively, ODVA and its members support network technologies based on the Common Industrial Protocol
(CIP™). These currently include DeviceNet™, EtherNet/IP™, CIP Safety™ and CIP Sync™. ODVA manages the
development of these open technologies, and assists manufacturers and users of CIP-based networks through
tools, training and marketing activities.
FieldServer Technologies is an ODVA member and our device is ODVA tested to be Ethernet/IP Compliant.
Vendor Code
875
Product Type Code 12 or “Communications Adapter”
2
DRIVER SCOPE OF SUPPLY
2.1 Supplied by FieldServer Technologies for this driver
FieldServer Technologies PART # Description
FS-8915-10
FS-8704-14
UTP cable (7 foot) for Ethernet connection
Driver Manual
FS-8704-14 EtherNet/IP Manual
Page 5 of 30
3
HARDWARE CONNECTIONS
It is possible to connect an EtherNet/IP device to either port N1 or N21 on the FieldServer. These ports must just
be configured to use EtherNet/IP in the configuration file.
Remote Ethernet/IP
Device
Hub/Router
FieldServer Part #
8915-10
UTP cable
Connect to an Ethernet Port
on the FieldServer
8
1
FieldServer
N1
1 Not all ports shown are necessarily supported by the hardware. Consult the appropriate Instruction manual for details of the ports available
on specific hardware.
FS-8704-14 EtherNet/IP Manual
Page 6 of 30
4
CONFIGURING THE FIELDSERVER AS AN ETHERNET/IP CLIENT
For a detailed discussion on FieldServer configuration, please refer to the FieldServer Configuration Manual. The
information that follows describes how to expand upon the factory defaults provided in the configuration files
included with the FieldServer.
This section documents and describes the parameters necessary for configuring the FieldServer to communicate
with an EtherNet/IP Server.
4.1 Data Arrays/Descriptors
The configuration file tells the FieldServer about its interfaces, and the routing of data required. In order to enable
the FieldServer for EtherNet/IP communications, the driver independent FieldServer buffers need to be declared in
the “Data Arrays” section, the destination device addresses need to be declared in the “Client Side Nodes” section,
and the data required from the servers needs to be mapped in the “Client Side Map Descriptors” section. Details
on how to do this can be found below.
Note that in the tables, * indicates an optional parameter, with the bold legal value being the default.
Section Title
Data_Arrays
Column Title
Function
Legal Values
Up to 15 alphanumeric
characters
Data_Array_Name
Provide name for Data Array
Float, Bit, UInt16, SInt16,
Provide data format. Each Data Array
can only take on one format.
Data_Array_Format
Packed_Bit,
Byte,
Packed_Byte, Swapped_Byte
Number of Data Objects. Must be larger
than the data storage area required by
the Map Descriptors for the data being
placed in this array.
Data_Array_Length
1-10,000
Example
// Data Arrays
Data_Arrays
Data_Array_Name ,Data_Format ,Data_Array_Length
DA_AI_01
DA_AO_01
DA_DI_01
DA_DO_01
,UInt16
,UInt16
,Bit
,200
,200
,200
,200
,Bit
FS-8704-14 EtherNet/IP Manual
Page 7 of 30
4.2 Client Side Connection Descriptions
Section Title
Adapter
Column Title
Adapter
Protocol
Function
Adapter Name
Specify protocol used
Legal Values
N1, N22
EtherNet/IP
Example
// Client Side Connections
Adapters
Adapter
N1
,Protocol
,EtherNet/IP
4.3 Client Side Node Descriptors3
Section Title
Nodes
Column Title
Node_Name
IP_Address
Protocol
Function
Legal Values
Provide name for node
Address of Server
Specify protocol used
Specify port Adapter used
Up to 32 alphanumeric characters
Any valid address on subnet
EtherNet/IP
Adapter
Example
// Client Side Nodes
Nodes
Node_Name
PLC 1
,IP_Address
,192.168.1.174 ,N1
,Adapter ,Protocol
,EtherNet/IP
2 Not all ports shown are necessarily supported by the hardware. Consult the appropriate Instruction manual for details of the ports available
on specific hardware.
3 Only one explicit connection is created per node. All explicit Map Descriptors attached to that node will use the same explicit connection.
FS-8704-14 EtherNet/IP Manual
Page 8 of 30
4.4 Client Side Map Descriptors
4.4.1 FieldServer Related Map Descriptor Parameters
Column Title
Function
Legal Values
Up to 32 alphanumeric characters
Name of Data Array where data is to be One of the Data Array names from “Data
Map_Descriptor_Name Name of this Map Descriptor
Data_Array_Name
stored in the FieldServer
Array” section above
0 to maximum specified in “Data Array”
section above
Rdbc, Wrbc, Wrbx
Data_Array_Offset
Function
Starting location in Data Array
Function of Client Map Descriptor
4.4.2 Driver Related Map Descriptor Parameters – Unconnected Messages
Column Title Function
Legal Values
EIP_Service
The action to be performed.
Get_Attrib, Set_Attrib
One of the classes supported by
See particular attributes of each
EIP_Class
Class to be polled.
EIP_Attribute Attribute associated with the class given.
The type of data transfer required. Also referred to as the Unconnected
EIP_Con_Typ
EIP_Path*
“Transport Method”
Explicit
Any space delimited numerical
Used to stipulate the path to the CPU in certain PLC’s. Paths value. Refer to vendor’s device
vary and are dependent on the structure of the network.
documentation.
Also
see
Appendix A.3, 0 0
Number of data elements to be mapped. If the number of
data elements exceeds the Map Descriptor length, the list of For any given Map Descriptor
data elements will be truncated and an error message will be there can be 200 Floats, 400
further information.
Length
Depends on the supported
instances for each class.
Address
Instance of the class to be polled.
FS-8704-14 EtherNet/IP Manual
Page 9 of 30
4.4.3 Driver Related Map Descriptor Parameters – Data Table Read/Write.
Column Title
EIP_Service
EIP_Con_Typ
Function
Legal Values
Data_Table_Read,
Data_Table_Write
Explicit
The action to be performed.
The type of data transfer required.
Any
Used to stipulate the path to the CPU in certain PLC’s. numerical value. Refer to
Paths vary and are dependent on the structure of the vendor’s device
space
delimited
EIP_Path*
network.
documentation. Also see
Appendix A.3, 0 0
Tag name expressed in PLC program. The data type of
this parameter is used to set the data format of the Data
Array if the EIP_DATA_TYPE parameter is not specified.
If the parameter is specified, the data will be stored in
the specified format which may be different to the
format of the tag being polled. If the parameter is not
set, the Data Type of the Data Array will be used. This
parameter is only applicable to Data Table Write when
FieldServer is the Client. The Data Type of the Data
Array will be used for Data Table Reads when the
information.
Maximum
characters.
length
48
EIP_Tag_Name
Float, Uint16, Uint32, Bit,
Byte, Boolean, -
EIP_Data_Type*
Number of data elements to be mapped. If the number
of data elements exceeds the Map Descriptor length, the
list of data elements will be truncated and an error
message will be printed once per Map Descriptor. See
Appendix C for further information.
For
any
given
Map
Descriptor there can be 200
Floats, 400 Integers or 800
Bytes
Length
This parameter is required to read/write structures. The
driver supports read/write structures having members of
same type, i.e. all members are of type Byte, UINT16,
Any 16bit Integer number
(e.g. 59592), 0
EIP_Structure_Handle* UINT32 or Float etc
When this parameter is defined, the number of structure
members must be specified as the length of the Map
FS-8704-14 EtherNet/IP Manual
Page 10 of 30
4.4.4 Driver Related Map Descriptor Parameters – PCCC
Column Title Function
Legal Values
Exec_PCCC (Encapsulation using
Allen Bradley PCCC)
EIP_Service
Action to be performed
EIP_Con_Typ The type of data transfer required
Explicit
Any space delimited numerical
Used to stipulate the path to the CPU in certain PLC’s. Paths value. Refer to vendor’s device
EIP_Path*
File_Type
vary and are dependent on the structure of the network.
documentation.
Appendix A.3, 0 0
N Integer
Also
see
F Float
O Output
B Boolean
I Input
Allen Bradley file type
S Status
File_Number Allen Bradley file number
Number of data elements to be mapped. If the number of
Any valid numerical value
data elements exceeds the Map Descriptor length, the list of For any given Map Descriptor
data elements will be truncated and an error message will be there can be 200 Floats, 400
further information.
Length
Any valid numerical value
Address
Address in the file
between 0 to 255
4.4.5 Timing Parameters
Column Title Function
Legal Values
Scan_Interval Rate at which data is polled ≥0.001s
FS-8704-14 EtherNet/IP Manual
Page 11 of 30
4.4.6 Map Descriptor Example 1: Unconnected Messages
// Client Side Map Descriptors
Map_Descriptors
Map_Descriptor_Name
CMD_PRO_03
CMD_PRO_02
,Scan_Interval
,0s
,0s
,Data_Array_Name
,DA_AI_01
,DA_AI_01
,Data_Array_Offset
,0
,1
,Function
,Rdbc
,Rdbc
,EIP_Con_Typ
,Unconnected
,Unconnected
,Node_Name
,EIP_01
,EIP_01
,EIP_Class
,10
,Address
,1
,2
,EIP_Attribute
,3
,3
,EIP_Service
,Get_Attrib
,Get_Attrib
,Length
,1
,1
,10
,
4.4.7 Map Descriptor Example 2: Data Table Messages
// Client Side Map Descriptors
Map_Descriptors
Map_Descriptor_Name ,Scan_Interval ,Data_Array_Name ,Data_Array_Offset ,EIP_Con_Typ ,Node_Name ,Function ,EIP_Service
,EIP_Path ,EIP_Tag_Name ,Length
Cmd_Pro_09
Cmd_Pro_10
,0s
,0s
,DA_AI_05
,DA_AI_06
,0
,0
,Explicit
,Explicit
,EIP_01
,EIP_01
,Rdbc
,Rdbc
,Data_Table_Read ,1 1
,Data_Table_Read ,1 1
,analog_in_3
,analog_in_4
,2
,2
4.4.8 Map Descriptor Example 3: PCCC Messages
// Client Side Map Descriptors
Map_Descriptors
Map_Descriptor_Name ,Data_Array_Name ,Data_Array_Offset, ,Function ,EIP_Con_Typ ,Node_Name ,EIP_Service ,EIP_Path ,File_Type File_Number ,Address ,Length
CMD_01 ,DA_F_01 ,0, ,Rdbc ,Explicit ,EIP_01 ,Exec_PCCC ,1 0 ,F 8, ,30 ,10
FS-8704-14 EtherNet/IP Manual
Page 12 of 30
5
CONFIGURING THE FIELDSERVER AS AN ETHERNET/IP SERVER
For a detailed discussion on FieldServer configuration, please refer to the FieldServer Configuration Manual. The
information that follows describes how to expand upon the factory defaults provided in the configuration files
included with the FieldServer.
This section documents and describes the parameters necessary for configuring the FieldServer to communicate
with an EtherNet/IP Client.
The configuration file tells the FieldServer about its interfaces, and the routing of data required. In order to enable
the FieldServer for EtherNet/IP communications, the driver independent FieldServer buffers need to be declared in
the “Data Arrays” section, the FieldServer virtual node(s) needs to be declared in the “Server Side Nodes” section,
and the data to be provided to the Clients needs to be mapped in the “Server Side Map Descriptors” section.
Details on how to do this can be found below.
Note that in the tables, * indicates an optional parameter, with the bold legal value being the default.
5.1 Server Side Connection Descriptors
Section Title
Connections
Column Title
Adapter
Protocol
Function
Adapter Name
Specify protocol used
Legal Values
N1, N24
EtherNet/IP
Example
// Server Side Connections
Adapters
Adapter
N1
,Protocol
,EtherNet/IP
4 Not all ports shown are necessarily supported by the hardware. Consult the appropriate Instruction manual for details of the ports available
on specific hardware.
FS-8704-14 EtherNet/IP Manual
Page 13 of 30
Section Title
Nodes
Column Title
Function
Legal Values
Up to 32 alphanumeric
characters
Node_Name
Provide name for Node
Protocol
Specify protocol used
EtherNet/IP
Specifies time FieldServer will reserve server side connection
while waiting for the Client side to update data.
Server_Hold_Timeout*
>1.0s
Example
// Server Side Nodes
Nodes
Node_Name
EIP_01
,Protocol
,EtherNet/IP
5.3 Server Side Map Descriptors
5.3.1 FieldServer Specific Map Descriptor Parameters
Column Title
Function
Legal Values
Up to 32 alphanumeric
characters
Map_Descriptor_Name Name of this Map Descriptor
One of the Data Array
names from “Data Array”
section above
Name of Data Array where data is to be stored in the
FieldServer
Data_Array_Name
0 to maximum specified in
“Data Array” section above
Server
Data_Array_Offset
Function
Starting location in Data Array
Function of Server Map Descriptor
Specifies the length of time that the FieldServer will
Server_Hold_Timeout* reserve the Server side connection while waiting for the >1.0s
Client side to update data in Data Array (if necessary)
FS-8704-14 EtherNet/IP Manual
Page 14 of 30
5.3.2 Server Specific Map Descriptor Parameters – Unconnected Messages
Column Title Function
Legal Values
EIP_Service
The action to be performed.
Get_Attrib, Set_Attrib
One of the classes
supported by the driver. .
Refer to Appendix A.4
See particular attributes
of each class. Refer to
EIP_Class
Class to be served.
EIP_Attribute Attribute associated with the class served.
Number of data elements to be mapped. If the number of data
For any given Map
Descriptor there can be
200 Floats, 400 Integers or
800 Bytes
elements exceeds the Map Descriptor length, the list of data
elements will be truncated and an error message will be printed
information.
Length
Depends
on
the
Address
Instance of the class to be served.
supported instances for
each class.
5.3.3 Server Specific Map Descriptor Parameters – Data Table Read/Write.
Column Title
EIP_Service
Function
Legal Values
Data_Table_Read,
Data_Table_Write
The action to be performed.
Tag name expressed in PLC program. The data type of this
parameter is used to set the data format of the Data Array
if the EIP_Data_Type parameter is not specified.
Maximum length 48
characters.
EIP_Tag_Name
If set, the data will be stored in the specified format which
may be different to the format of the tag being polled. If
the parameter is not set, the data type of the Data Array Float, Uint16, Uint32, Bit,
will be used. This is only applicable to Data Table Read Byte, Boolean, -
further information.
EIP_Data_Type*
Number of data elements to be mapped. If the number of
For any given Map
data elements exceeds the Map Descriptor length, the list
Descriptor there can be
Length
of data elements will be truncated and an error message
200 Floats, 400 Integers
will be printed once per Map Descriptor. Refer to
or 800 Bytes
Appendix C for further information.
This parameter is required only for read structures i.e.
where EIP_Service is Data_Table_Read.
The driver
supports read structures having members of same type,
Any 16bit Integer number
e.g. 59592, 0
EIP_Structure_Handle* i.e. all members are of type Byte, Uint16, Uint32 or Float
etc. When this parameter is defined, the number of
structure members must be specified as the length of the
Map Descriptor.
FS-8704-14 EtherNet/IP Manual
Page 15 of 30
5.3.4 Driver Related Map Descriptor Parameters – PCCC
Column Title Function
Legal Values
EIP_Con_Typ The type of data transfer required
Explicit
EXEC_PCCC (Encapsulation
using Allen Bradley PCCC)
N Integer
F Float
O Output
EIP_Service
File_Type
Action to be performed
Allen Bradley file type
B Boolean
I Input
S Status
File_Number Allen Bradley file number
Number of data elements to be mapped. If the number of data
Any valid numerical value
For
any
given
Map
elements exceeds the Map Descriptor length, the list of data
elements will be truncated and an error message will be printed
information.
Descriptor there can be 61
Floats, 122 Integers or 244
Bytes. .
Length
Any valid numerical value
between 0 to 255
Address
Address in the file
FS-8704-14 EtherNet/IP Manual
Page 16 of 30
5.3.5 Map Descriptor Example 1: Unconnected Messages
// Server Side Map Descriptors
Map_Descriptors
Map_Descriptor_Name ,Data_Array_Name ,Data_Array_Offset ,Function ,Node_Name ,EIP_Class ,Address ,EIP_Attribute ,EIP_Service ,Length
SMD_PRO_01
SMD_PRO_02
,DA_AI_01
,DA_AI_01
,0
,1
,Server
,Server
,EIP_01
,EIP_01
,10
,10
,1
,2
,3
,3
,Get_Attrib ,1
,Get_Attrib ,1
5.3.6 Map Descriptor Example 2: Data Table Messages
// Server Side Map Descriptors
Map_Descriptors
Map_Descriptor_Name ,Data_Array_Name ,Data_Array_Offset ,Node_Name ,Function
,EIP_Service
EIP_Tag_Name
,Length
SMD_PRO_09
SMD_PRO_10
,DA_AI_05
,DA_AI_06
,0
,0
,EIP_01
,EIP_01
,Server
,Server
,Data_Table_Read
,Data_Table_Read
,Analog_in_3
,Analog_in_4
,2
,2
5.3.7 Map Descriptor Example 3: PCCC Messages
// Server Side Map Descriptors
Map_Descriptors
Map_Descriptor_Name ,Data_Array_Name ,Data_Array_Offset ,Function ,EIP_Con_Typ ,Node_Name ,EIP_Service ,File_Type ,File_Number ,Address ,Length
SRV_AI_01 ,DA_F_01 ,0 ,Server ,Explicit ,EIP_01 ,Exec_PCCC ,F ,8 ,30 ,20
FS-8704-14 EtherNet/IP Manual
Page 17 of 30
Appendix A. Advanced Topics
Appendix A.1. General Notes
The connection type does not need to be specified in the Server side Map Descriptor, but must be
stipulated on the Client side of the driver.
Data_Table_Read as a service can only be used when creating an explicit connection.
Appendix A.2. FieldServer as an Adapter and Scanner.
It is possible for the FieldServer to act as a scanner and an adapter at the same time so long as the scanner and
adapter are configured on different ports. Consequently this functionality is not possible on an FS-X20 platform.
Appendix A.3. Common Paths
Device
Typical Path
Direct AB
AB ENI module
1 0
3 1
AB ControlLogix 1756-L55 (With network card 1756-ENBT/A) 1 1 or 1 0
CompactLogix ENI (1769-L31 using the 1761-NET-ENI)
CompactLogix Direct Connection (P/N 1769-L35E)
3 1
1 1 or 1 0
Appendix A.4. Setting the Data Type for stored data.
The default Data Type of stored data is determined by the Data Type of the Data Array. It is possible to configure
the driver to store the data as a different type. This can be achieved by specifying the data type under the
parameter EIP_Data_Type.
Note that the EIP_DATA_TYPE parameter has meaning only for DATA_TABLE_WRITE where the FieldServer is the
Client and for DATA_TABLE_READ where the FieldServer is the Server.
Appendix A.5. Configuring a PLC to read and write data to and from FieldServer
This example makes use of the Data Table Read/Write method for passing data between the FieldServer and an
Allen Bradley PLC. The example shows configuration of a ControlLogix PLC, but all Rockwell PLC’s that support
Ethernet IP communications and Data Table Read/Write operations in Message blocks should be able to
communicate this way. The Map Descriptors create an explicit connection to the Server and then transfer data in
the data table format. The EIP_Tag_Name field contains the tag name polled from the client. DATA_TABLE_READ
and DATA_TABLE_WRITE are the only legal values for EIP_SERVICE.
Note that this is by far the preferred method for communicating with Allen Bradley PLC’s due to its ease of
configuration, quantity of data that can be transferred and speed of transfer.
FS-8704-14 EtherNet/IP Manual
Page 18 of 30
Appendix A.5.1.
FieldServer Configuration File
The configuration file used for this example is configured with the following Connection, Node and Map Descriptor Parameters:
// Data Arrays
//
Data_Arrays
Data_Array_Name ,Data_Format ,Data_Array_Length
DA_Read
DA_Write
,Float
,Float
,100
,100
// Server Side Connections
//
Connections
Adapter
N1
,Protocol
,Ethernet/IP ,0.01s
,Turnaround_delay
// Server Side Nodes
//
Nodes
Node_Name
EIP_01
,Protocol
,Ethernet/IP
// Server Side Map Descriptors
//
Map_Descriptors
Map_Descriptor_Name ,Data_Array_Name ,Data_Array_Offset ,Node_Name ,Function ,EIP_SERVICE
,EIP_TAG_NAME ,Length
FS_TO_PLC_DATA
PLC_TO_FS_DATA
,DA_Read
,DA_Write
,0
,0
,EIP_01
,EIP_01
,Server
,Server
,DATA_TABLE_READ
,DATA_TABLE_WRITE ,Write_Data
,Read_Data
,20
,20
“FieldServer “Tag names that will be called in the PLC Message Block. The
names must match what is written in the Message block in the PLC exactly.
Number of data points made available
for reading or writing within the Tag.
Note: The corresponding PLC Tag Name can be different and probably will
be. See Message Block Below.
FS-8704-14 EtherNet/IP Manual
Page 19 of 30
Appendix A.5.2.
The PLC Program
The PLC program example below shows the minimum steps necessary to program communications with the
FieldServer. Depending on the real intended application, additional steps may be necessary for completeness.
Step 1
Configure Tags in the PLC for storing FieldServer read and write data:
Avoid Using UDT Types. The Data will
Tag Length Must be equal to or greater than
be read but the exact placement of
the number of points being written/read
the data in the Tags and Arrays will be
Step 2
MESSAGE Data Type must be used.
Configure Message Tags for storage of Message Block data:
Note that this logic shown will cause the PLC to poll the FieldServer at a
very high speed. This may overload network traffic - logic that schedules
the communication at a slower rate is generally more advisable.
Step 3
Write Ladder Logic to exercise a Read and Write Message Block
FS-8704-14 EtherNet/IP Manual
Page 20 of 30
Step 4
Configure the Properties for the two Message Blocks by clicking on the “…” button:
Read Message Block:
Remote FieldServer Tag Configured in the FieldServer (see example above)
Number of points transferred from FieldServer
to PLC regardless of Tag and Array Sizes
Local PLC Tag configured in the PLC Tag List (see example above)
Write Message Block:
Local PLC Tag configured in the PLC Tag List (see example above)
Number of points transferred from PLC to FieldServer
regardless of Tag and Array Sizes
Remote FieldServer Tag configured in the FieldServer (see example above)
Communication Tab for both Message Blocks:
The Tag Tab requires no configuration.
EIP_Card is the name of the Ethernet ENBT Card in the
ControlLogix Rack.
“2” refers to the port number on the ENBT Card.
192.168.1.75 is the IP Address of the FieldServer.
Step 5
Download the program and set the PLC to Run Mode.
FS-8704-14 EtherNet/IP Manual
Page 21 of 30
Appendix A.6. Configuring a FieldServer to read and write Data to and from a PLC.
This example makes use of the Data Table Read/Write method for passing data between the FieldServer and an
Allen Bradley PLC. The example shows configuration of a ControlLogix PLC, but all RockWell PLC’s that support
Ethernet IP communications and Data Table Read/Write operations in Message blocks should be able to
communicate this way. . These map descriptors will create an explicit connection to the server and will then
transfer data in the data table format. The EIP_Tag_Name field contains the tag name referenced in the server
and the EIP_Path field represents the path (through different ports) to the server. Each port jump is separated by a
space. This field generally holds a backplane / cpu slot combination. DATA_TABLE_READ and DATA_TABLE_WRITE
are the only legal values for EIP_SERVICE.
Note that this is by far the preferred method for communicating with Allen Bradley PLC’s due to it’s ease of
configuration, quantity of data that can be transferred and speed of transfer.
When the FieldServer is the active component as shown below (i.e: the FieldServer Polls the PLC and not the other
way around), then very little programming is needed in the PLC, other than the Tag Creation and setting the PLC IP
Address.
FS-8704-14 EtherNet/IP Manual
Page 22 of 30
Appendix A.6.1.
FieldServer Configuration File
// Data Arrays
//
Data_Arrays
Data_Array_Name ,Data_Format ,Data_Array_Length
DA_Read
DA_Write
,Float
,Float
,50
,50
// Client Side Connections
//
Connections
Adapter
N1
,Protocol
,Ethernet/IP
These are the PLC Tag names that will be accessed in the PLC.
The names must match the PLC tag name exactly.
// Client Side Nodes
//
Nodes
Node_Name
EIP_01
,IP_Address ,Protocol
,192.168.1.9 ,Ethernet/IP ,N1
,Adapter
Appendix A.3 lists the paths for
specific devices
// Client Side Map Descriptors
//
Map_Descriptors
Map_Descriptor_Name ,Scan_Interval ,Data_Array_Name ,Data_Array_Offset ,EIP_CON_TYP ,Node_Name ,Function ,EIP_SERVICE
,EIP_PATH ,EIP_TAG_NAME ,Length
PLC_TO_FIELDSERVER
FIELDSERVER_TO_PLC
,0.1
,0.1
,DA_Read
,DA_Write
,0
,0
,EXPLICIT
,EXPLICIT
,EIP_01
,EIP_01
,Rdbc
,Wrbc
,DATA_TABLE_READ
,DATA_TABLE_WRITE ,1 0
,1 0
,FS_Status
,FS_Control
,20
,20
FS-8704-14 EtherNet/IP Manual
Page 23 of 30
Appendix A.6.2.
The PLC Program
The PLC program example below shows the minimum steps necessary to program communications with the
FieldServer. Depending on the real intended application, additional steps may be necessary for completeness.
When the FieldServer is polling the PLC, all that is needed is to configure the tags being accessed:
Avoid Using UDT
Types. The Data will
be read but the exact
placement of the data
in the Tags and Arrays
will be hard to
determine
Step 2
Tag Length must be equal to or greater than the
number of points being written/read
Note that providing dedicated (long), flat structured (not UDT) tags for communicatons interface to the FieldServer
is preferable to polling single length tags in the PLC as it allows for much more efficient communications and
reduces complexity when mapping data in the FieldServer. It is better to think of these tags as a “I/O Buffer”
Interface that the real tags in the PLC get mapped to.
Appendix A.7. Read/write structures and value of EIP_Structure_Handle :
Some devices require that a specific value be used for the EIP_Structure _Handle field while writing the structure
to them. This value may be specified in the vendor documentation. If any non-zero integer is used in a Read Map
Descriptor for EIP_Structure_Handle, the value will be updated internally. The Map Descriptor can then be
browsed to obtain this value. Other devices do not validate this field when the structure is written by the third-
party device. A summary of the procedures to obtain this value is presented below:
FieldServer as a Client:
Read:
Use a value of 1, the driver will automatically update the field when a response is received from the
device. The Map Descriptor can then be browsed to obtain the value if required.
Write:
Use the value supplied by the vendor OR
Use the value obtained in the Read Map Descriptor above OR
Use any non-zero value if the other device doesn’t validate it.
FieldServer as a Server:
Read:
Use the value supplied by the vendor OR
Use the value obtained in the Read Map Descriptor above OR
Use any value if the other device doesn’t validate it.
Write:
Not
required
–
use
any
non-zero
value
if the
parameter
is specified.
FS-8704-14 EtherNet/IP Manual
Page 24 of 30
Example: Consider a situation where a customer defines a a type in RSlogix SSS_SINT3 with 3 members of each type SINT.
SSS_SINT3
SINT room1_temp
SINT room2_temp
SINT room3_temp
Now he has his own type SSS_SINT3 and he can define tags: TAG_3ROOM_TEMPS of type SSS_SINT3
// Read/write structures
Map_Descriptors
Map_Descriptor_Name
CMD_Struct_SINT3
,Data_Array_Name
,DA_STRUCT_R
,Data_Array_Offset
,0
,Function
,Rdbc
,EIP_CON_TYP
,EXPLICIT
,Node_Name
,EIP_01
,EIP_SERVICE
,DATA_TABLE_READ
,EIP_Path
,1 0
,EIP_TAG_NAME
,TAG_3ROOM_TEMPS
,EIP_Structure_Handle
,59592
,Length
,3
,Scan_Interval
,1.0s
FS-8704-14 EtherNet/IP Manual
Page 25 of 30
Appendix A.8. Classes and Attributes Supported
EtherNet/IP is an object orientated protocol. The Object Oriented structure therefore allows for classes, instances,
attributes and services. The ‘data types’ listed below are to be considered as the objects supported in the
protocol. Each of these has attributes that have been supported to differing degrees.
FieldServer Data Type
Description (or Device Data Type)
Attributes Supported:
One instance supported (0x01)
Attributes List:
Services Supported:
Get_Attribute_All;
Get_Attribute_Single
Vendor ID
Device Type
Product Code
Identity – Class Code 0x01
Device Revision
Status
Serial Number
Device Description (text)
Attributes Supported:
Services Supported:
Message Router – Class Code One instance supported (0x01)
Get_Attribute_Single
0x02
Attribute List:
Max Connections
Attributes Supported:
Class Instance Support (0x00)
Class Attributes: 0x02 (Max Instance)
Two instances supported (0x0100 and 0x0101)
Attribute List:
Services Supported:
Get_Attribute_Single
Assembly – Class Code 0x04
Member List
Not Supported
Data
Connection Manager
Code 0x06
–
Class Forward Open Service
Forward Close Service
Attributes Supported:
Class Instance Support (0x00)
Class Attributes: 0x02 (Max Instance)
Two instances supported (0x01 and 0x02)
Attribute List:
Services Supported:
Get_Attribute_Single
Register – Class Code 0x07
Status Flag
Direction (read/write)
Size of Data (bits)
Discrete Input Point – Class Code
0x08
Discrete Output Point – Class
Code 0x09
No visible interface currently
No visible interface currently
FS-8704-14 EtherNet/IP Manual
FieldServer Data Type
Page 26 of 30
Description (or Device Data Type)
Attributes Supported:
Services Supported:
Class Instance Support (0x00)
Get_Attribute_Single
Class Attributes: 0x02 (Max Instance)
Two instances supported (0x01 and 0x02)
Analog Input Point – Class Code Attribute List:
0x0A Number of Attributes
Not Supported
Analog value (UINT16)
not supported
Vendor ID
Attributes Supported:
Class Instance Support (0x00)
Class Attributes: 0x02 (Max Instance)
Two instances supported (0x01 and 0x02)
Services Supported:
Set_Attribute_Single;
Get_Attribute_Single
Analog Output Point – Class Code Attribute List:
0x0B
Number of Attributes
not supported
Analog value (UINT16)
not supported
Vendor ID
Attributes Supported:
One instance supported (0x01)
Attribute List:
Services Supported:
Get_Attribute_Single
Status
TCP/IP Interface Object – Class
Configuration Capability
Configuration Control
Physical Link Object
Interface Configuration
Host Name
Code 0xF5
Attributes Supported:
One instance supported (0x01)
Attribute List:
Services Supported:
Get_Attribute_Single
EtherNet Link Object – Class Interface Speed
Code 0xF6
Interface Flags
Physical Address
Interface Counters
Media Counters
Attributes Supported:
Services Supported:
Data Table Object
Object
–
Private This object does not support instances or attributes CIP Read Data
but uses the data table structure, and associated
tags, in Logix5000 PLC’s.
FS-8704-14 EtherNet/IP Manual
Appendix A.9. Error Codes
Page 27 of 30
Err Code Extd Err Code Description
Action
0001
Connection Failure
0100
0103
0106
0107
0108
0109
0110
0111
0114
0115
0116
0118
011A
0203
0204
0205
0206
0301
0302
0303
0305
0311
0312
0315
0317
Connection in Use
Transport not Supported
Ownership conflict
Connection not found
Invalid connection type
Invalid connection size
Module not configured
EPR not supported
Wrong module
Wrong device type
Wrong revision
Invalid configuration format
Application out of connections
Connection timeout
Unconnected message timeout
Unconnected send parameter error
Message too large
No buffer memory
Bandwidth not available
No screeners available
Signature match
Port not available
Link address not available
Invalid segment type
Connection not scheduled
Insufficient Resource
Invalid value
0002
0003
0004
IOI syntax error
0000
0001
Extended status out of memory
Extended status out of instances
0005
0000
0001
Extended status out of memory
Extended status out of instances
Insufficient packet space
Connection lost
0006
0007
0008
0009
000A
000B
000C
000D
000E
000F
0010
Service unsupported
Error in data segment or invalid attribute value
Attribute list error
State already exists
Object model conflict
Object already exists
Attribute not settable
Permission denied
Device state conflict
FS-8704-14 EtherNet/IP Manual
Page 28 of 30
Err Code Extd Err Code Description
Action
0011
0012
0013
0014
0015
001A
001B
001C
001D
001E
001F
Reply will not fit
Fragment primitive
Insufficient command data
Attribute not supported
Too much data
Bridge request too large
Bridge response too large
Attribute list shortage
Invalid attribute list
Embedded service error
Connection related failure
Connection timeout
0203
0022
0025
0026
0027
0028
0029
00D1
00FB
00FC
00FD
00FE
00FF
Invalid reply received
Key segment error
Invalid IOI error
Inexpected attribute in list
DeviceNet error - invalid member ID
DeviceNet error - member not settable
Module not in run state
Message port not supported
Message unsupported data type
Message uninitialized
Message timeout
General error (see extended error codes)
Excessive IOI
2001
2002
2018
201B
201C
2100
2101
2102
2103
2104
2105
2106
2107
2108
2109
210A
210B
210E
210F
2110
2111
2112
2113
2114
Bad parameter value
Semaphore reject
Size too small
Invalid size
Privilege failure
Invalid keyswitch position
Password invalid
No password issued
Address out of range
Address and how many out of range
Data in use
Type is invalid or not supported
Controller in upload or download mode
Attempt to change number of array dimensions
Invalid symbol name
Symbol does not exist
Search failed
Task cannot start
Unable to write
Unable to read
Shared routine not editable
Controller in faulted mode
Run mode inhibited
FS-8704-14 EtherNet/IP Manual
Page 29 of 30
Appendix B. Troubleshooting Tips
Appendix B.1. Firmware Update Downloading
If you are trying to update firmware and continuously get failed messages it might be due to the traffic on the N1
or N2 ports. EtherNet/IP is a high traffic protocol and once a connection is created continuous data transfer
occurs. In this situation the best way to download new firmware would be to manually disconnect the scanner or
adapter that the FieldServer is connected to.
Appendix B.2. Connection information – Allen Bradley Message Blocks
When configuring message blocks it is necessary to enter a path to the FieldServer in the communications tab. The
Path is usually made up of the installed Ethernet card, the port on the Ethernet card and the IP address of the
FieldServer
e.g. Eth_IP_Card1,2,192.168.2.41
Eth_IP_Card1 is the name given to the Ethernet Card
2 is the port on the card
The IP address is for the FieldServer
Appendix B.3. FieldServer not recognised by RSlinx
If RSlinx does not recognise the FieldServer (message “? Unrecognized Device”), load the Ethernet IP EDS file into
Press Start|all programs|Rockwell Software|RSlinx tools|EDS Hardware Installation tool|add|register a
single file and browse to the location of the Ethernet IP EDS file.
Run RSlinx, press communication|RSwho and all EIP devices on the network should be visible.
FS-8704-14 EtherNet/IP Manual
Page 30 of 30
Appendix C. Error Messages
Message
Description
"EIP:#01 FYI. %d out of %d data
elements will be stored"
"MD=%s, data_type=0x%04X,
raw bytes=%d"
If the number of data elements exceeds the Map Descriptor length only the
number of data elements corresponding to the Map Descriptor will be stored.
This message will print once per Map Descriptor.
|