You are on page 1of 19

1 Table of Contents

2 ETHERNET/IP OVERVIEW .................................................................................. 2


2.1 Introduction ....................................................................................................................................................2

2.2 Network ...........................................................................................................................................................2

3 ETHERNET/IP REQUIREMENTS ......................................................................... 3


3.1 Firmware Requirements ................................................................................................................................3

3.2 EDS File ...........................................................................................................................................................3

3.3 Data Types.......................................................................................................................................................4

4 ETHERNET/IP & I/O CONNECTIONS .................................................................. 5


4.1 Input Assembly ...............................................................................................................................................6

4.2 Output Assembly ............................................................................................................................................7

5 EXPLICIT MESSAGING ..................................................................................... 10


5.1 Identity Object .............................................................................................................................................. 11

5.2 TCP/IP Object .............................................................................................................................................. 12

5.3 Ethernet Link Object ................................................................................................................................... 14

5.4 Assembly Object (Barcode Read)................................................................................................................ 14

5.5 Assembly Object (Barcode Write) .............................................................................................................. 15

5.6 Assembly Object (Unique ID write) ............................................................................................................ 15

5.7 Assembly Object (Result Part 1 Read) ....................................................................................................... 16

5.8 Assembly Object (Result Part 2 Read) ....................................................................................................... 18

6 READING COMPLETE RESULT FROM INSTRUMENT .................................... 19

EtherNetIP Programmers Guide v1.3


03/12/2018
2 EtherNet/IP Overview
2.1 Introduction
EtherNet/IP has been instrumental in realizing high performance and advanced
automating manufacturing applications. Common Industrial Protocol (CIP) has
enabled the enterprise for:
• Interoperability between legacy, multi-vendor internet technologies
• Near real-time network performance (including low latency, low jitter, and
minimal packet loss)
• Security
• Reliability
• Manageability and ease-of-use features
• Ability to add innovative technologies such as mobile technologies

EtherNet/IP provides comprehensive messaging and services for control,


synchronization, motion, configuration and information that creates unified
communication across manufacturing enterprise.
Instruments implementation of EtherNet/IP connectivity conforms to the Open
Systems Interconnection (OSI) model which defines the framework of implementing
network protocols in seven layers.

The EtherNet/IP implementation conforms to Open DeviceNet Vendor Association


(ODVA) standard (CIP version 3.18 and EtherNet/ IP version 1.19).

For more information regarding EtherNet/IP and CIP functionality and conformation
standards as regulated by the ODVA, visit their website at www. odva.org.

2.2 Network
A typical EtherNet/IP network forms several point-to-point connections. A typical
network in the factory would comprise of variety of complex devices such as HMIs,
PLCs, motion controllers, bar code scanners to simple devices such as I/O.
This configuration is represented in Figure 1.

Figure 1: EtherNet/IP Network

EtherNetIP Programmers Guide v1.3


03/12/2018
3 EtherNet/IP Requirements
3.1 Firmware Requirements
Features described in this manual require instrument firmware version equal or
higher than values mentioned below

Instrument Name Firmware Version for EtherNet/IP


C28 v220
Blackbelt v166
I28 v135
MH v501
A28 v201
LPC528 v201

3.2 EDS File

An EtherNet/IP Electronic Data Sheet (EDS) file is available for all instrument s that
supports EtherNet/IP.
Please download required EDS file from www.cincinnati-test.com

EtherNetIP Programmers Guide v1.3


03/12/2018
3.3 Data Types
Data Types used in this Object Model are described in Table 1 below.

Data Type Description


SINT Unsigned Short Integer (uint_8)
DINT Unsigned Double Integer (uint_32)
USINT Unsigned Short Integer (8-bit)
UINT Unsigned Integer (16-bit)
UDINT Unsigned Double Integer (32-bit)
Character String (1st byte is length; up to nn
SHORT STRINGnn
characters)
WORD Bit String (16-bits)
DWORD Bit String (32-bits)
REAL IEEE 32-bit Single Precision Floating Point

EtherNetIP Programmers Guide v1.3


03/12/2018
4 EtherNet/IP & I/O Connections
An implicit or I/O connection sets up the periodic exchange of data between the
instrument and the data tags in PLC. Configuration of the number of parameters
and which ones are used along with direction is set up at the PLC.

An I/O messaging service request may be part of a message box inside a ladder
rung of a PLC program. Service requests always contain a code (specifies what is
being requested) and a path (specifies destination object of request). The paths of
some of these service codes supported in the instrument, may take the form of an
ASCII character string or tag. Other paths will require specification of class, instance
and attribute.

Input and output directions are from the perspective of PLC. Input assemblies are
consumed by PLC and produced by adapter devices. Output assemblies are
produced by a PLC and consumed by an adapter device. Refer to Figure 2.

Output assemblies are commonly used for instrumentation control of instrument.

Input assemblies are commonly used to monitor the instrument status and run-time
parameters like instrument status, test evaluation, active program number, etc.

For I/O Connection establishment CLASS 1 connection is required. To establish a


CLASS 1 connection, the PLC sends a ForwardOpen request to the adapter. The
ForwardOpen request contains device specific configuration information along with
the type and number of parameters to access. The connection may be multicast or
point-to-point.

This CLASS 1 I/O is cyclic, and the update rate is user defined.

Minimum RPI 25ms


Communication Format Data- SINT

Input Assembly
PLC Instrument
Output Assembly
Figure 2: EtherNet/IP I/O Assembly

EtherNetIP Programmers Guide v1.3


03/12/2018
4.1 Input Assembly

Size of
Instance
Attribute ID Instance Description
Number
(Bytes)
Control Commands from PLC to
112 1 8
Instrument
Table 1: Input Assembly Overview

Bytes Variable Data Description


Type
Input value from PLC to instrument
Individual bit defines:
31: Start Channel – Start Channel input is Edge triggered input.
This input bit is set on rising edge and reset on falling edge.
When set, starts the test execution on instrument
30: Stop – Stop input is Edge triggered input. This input bit is
set on rising edge and reset on falling edge. When set, stops
the running test along with tooling reset. Gives ‘STOP HIGH’
malfunction if Stop is kept high and Start Channel is set.
29: Reset - Reset input is Edge triggered input. This input bit is
set on rising edge and reset on falling edge. When set during
instruments idle status, causes tooling reset
28: Vent/Halt – Vent/Halt input is Edge triggered input. This
input bit is set on rising edge and reset on falling edge. When
set, stops the running test without tooling reset. Gives ‘STOP
HIGH’ malfunction if Vent/Halt is kept high and Start Channel is
set.
0-3 input_value DINT 27-24: reserved - Reserved bits, not to be used
23: Requested Result Clear - This input is Edge triggered input.
This input bit is set on rising edge and reset on falling edge.
When set clears “Requested Result Available” or “Requested
Result Error” whichever flag that is set.
22: New Result – Clear – This input is Edge triggered input.
This input bit is set on rising edge and reset on falling edge.
When set, clears the new result available flag in instrument
21: Latch 1 – Set - This input is Edge triggered input. This input
bit is set on rising edge and reset on falling edge. Functionality
as described in Latch table below
20: Latch 1 – Clear - This input is Edge triggered input. This
input bit is set on rising edge and reset on falling edge.
Functionality as described in Latch table below
19: Latch 2 – Set - This input is Edge triggered input. This input
bit is set on rising edge and reset on falling edge. Functionality
as described in Latch table below

EtherNetIP Programmers Guide v1.3


03/12/2018
18: Latch 2 – Clear - This input is Edge triggered input. This
input bit is set on rising edge and reset on falling edge.
Functionality as described in Latch table below
17: Change Program - This input is Edge triggered input. This
input bit is set on rising edge and reset on falling edge. when
set, instrument will change to the program_num listed by
variable ‘program_num’ below
16-1 : User configurable Program Inputs – Refer instruments
user manual for details
0 : reserved - Reserved bits, not to be used
When Change Program bit is set, instrument will change to the
4 program_num SINT
desired program number
Table 2: Input Assembly Detail Description

4.2 Output Assembly

Size of
Instance
Attribute ID Instance Description
Number
(Bytes)
100 1 96 Result Header from Instrument to PLC
Table 3: Output Assembly Overview

Bytes Variable Data Description


Type
0-3 output_value DINT Output value from instrument to PLC
Individual bit defines:
31: Instrument Ready - Active high bit, indicates
instrument is ready for test
30: Program Accept - Active high bit, indicates test
pass. Active low bit, indicates some other evaluation
for test.
29: Program Reject - Active high bit, indicates test fail.
Active low bit, indicates some other evaluation for test.
28: Malfunction - Active high bit, indicates malfunction
occurred during test. Active low bit, indicates some
other evaluation for test.
27-22 : reserved – Reserved bits, not to be used
21 : Requested Result Available - Active high bit,
indicates result is available for requested unique ID
20 : Requested Result Error - Active high bit, indicates
result is not available for requested unique ID
19 : New Result - Active high bit, new result is
available with instrument
18 : Latch 1 – State - Active high bit, indicates Latch 1
is set
17 : Latch 2 – State - Active high bit, indicates Latch 2
is set

EtherNetIP Programmers Guide v1.3


03/12/2018
16-1: User configurable Program Outputs - Refer
instruments user manual for details
0 : reserved – Reserved bits, not to be used
4 active_program_num SINT Current program number active on the instrument
5 Reserved1 SINT Reserved byte, not to be used
6 Reserved2 SINT Reserved byte, not to be used
7 Reserved3 SINT Reserved byte, not to be used
8-11 unique_id DINT Unique Identifier for the most recent result
12 channel_num SINT Channel number for the most recent result
13 program_num SINT Program number for the most recent result
14 test_port SINT Test Port number for the most recent result
15 evaluation_code SINT Evaluation code for the most recent result
This value is unsigned char (0-256). As PLC
supports only SINT i.e.signed char (-127 to
+127) user has to convert this value from signed
char to unsigned char and save in tag of DINT.
16-31 evaluation_string SINT[16] Evaluation string for the most recent result Evaluation
code
32 year SINT Timestamp year (YY) for the most recent result
33 month SINT Timestamp month (MM) for the most recent result
34 date SINT Timestamp day (DD) for the most recent result
35 hour SINT Timestamp hour (HH) for the most recent result
36 minutes SINT Timestamp minute (MM) for the most recent result
37 seconds SINT Timestamp second (SS) for the most recent result
38 reserved4 SINT Reserved byte, not to be used
39 flags SINT Result flags
Individual bit defines:
7 : SPC_Flag – Active high bit, indicates spc part flag
set
6 : Barcode_Flag – Active high bit, indicates Barcode
set for the most recent result
5 : Parent_Flag - Active high bit, indicates Parent
active for the most recent result
4 : Child_Flag - Active high bit, indicates Child active
for the most recent result
3 : Sequential_child_Flag - Active high bit, indicates
Sequence child active for the most recent result
2-0 : reserved – Reserved bits, not to be used
40 Reserved5 SINT Reserved byte, not to be used
41 Reserved6 SINT Reserved byte, not to be used
42 Reserved7 SINT Reserved byte, not to be used
43 num_child SINT If recent result was a Parent Program, indicates the
number of Child Programs executed (and amount of
valid content in child array)
44-83 child_unique_id [10] DINT Array of Unique Identifiers for the Child Programs
executed under the Parent Program (if num_child is
non-zero)

EtherNetIP Programmers Guide v1.3


03/12/2018
84-95 child_evaluation [10] SINT Array of Evaluation code for the Child Programs
executed under the Parent Program (if num_child is
non-zero)
This value is unsigned char (0-256). As PLC
supports only SINT i.e.signed char (-127 to
+127) user has to convert this value from signed
char to unsigned char and save in tag of DINT.
Table 4: Output Assembly Detail Description

Latch Table
Latch Set Latch Clear Latch State
0 0 No change
0 1 Reset
1 0 Set
Toggle (opposite of previous
1 1
state)
Table 5: Latch Table

EtherNetIP Programmers Guide v1.3


03/12/2018
5 Explicit Messaging
One of the explicit message objects is allocated as part of the predefined slave/
adapter connection set as defined in the Ethernet/IP specification.
The other may be allocated using the Unconnected Message Manager (UCMM)
protocol.
These objects can be used to access limited instrument parameters.

Objects Used For Explicit Messaging


Object ID Object Name Purpose
1 Identity Identifies the Instrument
instrument TCP/IP Interface Object
provides information about TCP/IP
245 TCP/IP
network interface such as IP Address,
Network Mask, Gateway, Host Name
instrument Ethernet Link Object
246 Ethernet Link provides information about Speed and
Duplex connection
Instrument supports 5 Assembly
Instances for explicit messaging as
4 Assembly
mentioned in table below

Table 6: Explicit Messaging Objects

EtherNetIP Programmers Guide v1.3


03/12/2018
Assembly Object Instances Used For Explicit Messaging
Size of Instance
Instance Number Attribute ID Description
(Bytes)
101 3 80 Barcode read from Instrument
3 Actual Result part 1 read from
102 196
Instrument
3 Actual Result part 2 read from
103 488
Instrument
113 3 80 Barcode write to Instrument
114 3 4 Unique ID write to Instrument
Table 7: Explicit Messaging Assembly Object Instances

5.1 Identity Object


The following tables contain the attribute, status, and common services information
for the Identity Object.

Instance Attribute Bytes Variable Data Type Data Value


ID
Class 1
1 Revision UINT
(Instance 0)
Vendor ID 1415 – Cincinnati Test System
Instance 1 1 UINT
2 Device type UINT 43 – Generic Device
Product code Product code of Instrument
3 UINT
number
Product 1
major USINT
revision
4
Product 1
minor USINT
revision
5 Status WORD 0 - Self testing or Unknown
Unique 32 bit value, this is lower
4 bytes of MAC address of
instrument represented as hex
Serial number.
6 UDINT
number For eg. If MAC address of
instrument is “00 - 11 - 27 - 04 -
12 – 24” then serial number is
“0x27041224”
Product SHORT Product name of Instrument
7
name STRING32
Table 8: Identity Object

EtherNetIP Programmers Guide v1.3


03/12/2018
Identity for all CTS Instruments
Instrument Product Code Product name
C28 3028 SENTINEL C28
Blackbelt 2020 SENTINEL BLACKBELT
I28 9028 SENTINEL I28
Table 9: CTS Instruments Product Identity

Identity Object Common Services


Implemented For
Service Code Instance Service Name
Class Level
Level
01Hex No Yes Get_Attribute_All
05Hex No Yes Reset
0EHex Yes Yes Get_Attribute_Single
10Hex No Yes Set_Attribute_Single
Table 10: Identity Object Common Services

5.2 TCP/IP Object

Please refer to Volume 2: EtherNet/IP Adaptation of CIP v. 1.19, 5-4.3 for exact format
and interpretation of attributes.

Instance Attribute Bytes Variable Data Type Description


ID
Class Revision of this object
1 Revision UINT
(Instance 0)
Interface configuration
Instance 1 1 Status DWORD
Status
Interface capability
Configuration
2 DWORD flags
capability
Interface control flags
3 Configuration control DWORD
Structure of: Path to physical link
Physical Link Object
object
4
Size of Path
Path size UINT

EtherNetIP Programmers Guide v1.3


03/12/2018
Logical segments
identifying the physical
Path Array of Word
link object

TCP/IP network
Interface interface
Structure of:
configuration configuration.
IP Address The device’s IP
UDINT
address.
The device’s network
Network Mask UDINT
mask
Default gateway
Gateway Address UDINT
address
Primary name server,
not used by
Name Server UDINT
5 instrument and value
will be always 0
Secondary name
server, not used by
Name Server 2 UDINT
instrument and value
will be always 0
String length of
Domain Name Size UINT Domain name string,
not used
Default domain name,
not used by
Domain Name STRING
instrument and value
will be always 0
Host name Structure of : Host name
Host Name Size String length of Host
UINT
6 name
Host name
Host Name STRING
Table 11: TCP/IP Object

TCP/IP Object Common Services


Service Implemented For
Service Name
Code Class Level Instance Level
01Hex No Yes Get_Attribute_All
0EHex Yes Yes Get_Attribute_Single
10Hex No Yes Set_Attribute_Single
Table 12: TCP/IP Object Common Services

EtherNetIP Programmers Guide v1.3


03/12/2018
5.3 Ethernet Link Object

Please refer to Volume 2: EtherNet/IP Adaptation of CIP v. 1.19, Section 5-5.3 for exact
format and interpretation of attributes.

Instance Attribute Bytes Variable Data Description


ID Type
Class Revision of this object
1 Revision UINT
(Instance 0)
Interface Interface speed currently in use
Instance 1 1 UDINT
speed
Interface Interface status flags
2 DWORD
flags
Physical MAC layer address
3 USINT[6]
address
Table 13: Ethernet Link Object

Ethernet Link Object Common Services


Implemented For
Service Code Instance Service Name
Class Level
Level
01Hex No Yes Get_Attribute_All
0EHex Yes Yes Get_Attribute_Single
Table 14: Ethernet Link Object Common Services

5.4 Assembly Object (Barcode Read)

Instance Attribute Bytes Variable Data Description


ID Type
Read the Barcode available with
Instrument. Barcode Max Length
is the length assigned in
instrument’s service menu and it
can be any value between 5 to 80
Barcode bytes. Actual barcode string can
101 3 0-79 SINT[80] be of any length below set max
Read
length. For Read Barcode
command instrument will respond
with actual barcode string padded
with remaining zeros to make
string size of 80 bytes
Table 15: Barcode Read

EtherNetIP Programmers Guide v1.3


03/12/2018
Assembly Object (Barcode Read) Object Common Services
Implemented For
Service Code Instance Service Name
Class Level
Level
0EHex No Yes Get_Attribute_Single
Table 16: Barcode Read Common Services

5.5 Assembly Object (Barcode Write)

Instance Attribute Bytes Variable Data Description


ID Type
Write Barcode to Instrument.
Barcode Max Length is the length
assigned in instrument’s service
menu and it can be any value
between 5 to 80 bytes. Actual
Barcode barcode string can be of any
113 3 0-79 SINT[80] length below set max length. For
Write
Write Barcode command
instrument will write only the
barcode with the length set in
instrument ignoring the remaining
part of string received.
Table 17: Barcode Write

Assembly Object (Barcode Write) Object Common Services


Implemented For
Service Code Instance Service Name
Class Level
Level
10Hex No Yes Set_Attribute_Single
Table 18: Barcode Write Common Services

5.6 Assembly Object (Unique ID write)

Instance Attribute Bytes Variable Data Description


ID Type
Write Unique ID for which result is
Unique ID
114 3 0-3 DINT required to Instrument. Unique ID of
Write
most recent result is available in

EtherNetIP Programmers Guide v1.3


03/12/2018
Output Assembly. If result is
available with instrument for the
requested Unique ID, instrument
will set “bit20: Requested Result” of
‘output_value’ variable in Output
Assembly.
Table 19: Unique ID Write

Assembly Object (Unique ID Write) Object Common Services


Implemented For
Service Code Instance Service Name
Class Level
Level
10Hex No Yes Set_Attribute_Single
Table 20: Unique ID Write Common Services

5.7 Assembly Object (Result Part 1 Read)

This explicit message will respond with the result header data for requested Unique ID.

TEST_ELEMENT
Sr.No Variable Data Type Description
1 test_type SINT[4] Test type string for the requested result
2 test_eval SINT Test evaluation information for the requested
result
3 num_elements SINT Number of elements for the requested result
4 Reserved1 SINT Reserved byte, value will be always zero
5 Reserved2 SINT Reserved byte, value will be always zero
Table 21: Test Element

Instance Attribute Bytes Variable Data Type Description


ID
unique_id DINT Unique Identifier for the
0-3
result
channel_num SINT Channel number for the
4
result
program_num SINT Program number for the
5
result
102 3 test_port SINT Test Port number for the
6
most recent result
evaluation_code SINT Evaluation code for the
result
7 This value is unsigned
char (0-256). As PLC
supports only SINT

EtherNetIP Programmers Guide v1.3


03/12/2018
i.e.signed char (-127 to
+127) user has to convert
this value from signed
char to unsigned char
and save in tag of DINT.
evaluation_string SINT[16] Evaluation string for the
8-23 most recent result
Evaluation code
year SINT Timestamp year (YY) for
24
the result
month SINT Timestamp month (MM) for
25
the result
date SINT Timestamp date (DD) for
26
the result
hour SINT Timestamp hour (HH) for
27
the result
minute SINT Timestamp minute (MM) for
28
the result
second SINT Timestamp second(SS) for
29
the result
reserved_1 SINT Reserved byte, value will be
30
always zero
31 flags SINT Result flags
32- barcode[80] SINT[80] Barcode of the instrument
111
num_tests SINT Number of tests for the
112
result
reserved_2 SINT Reserved byte, value will be
113
always zero
reserved_3 SINT Reserved byte, value will be
114
always zero
reserved_4 SINT Reserved byte, value will be
115
always zero
116- test_elements TEST_ELEME Number of data elements
195 NT[10] for the test
Table 22: Result Part 1 Read

Assembly Object (Result Part 1 Read) Object Common Services


Implemented For
Service Code Instance Service Name
Class Level
Level
0EHex No Yes Get_Attribute_Single
Table 23: Result Part 1 Read Common Services

EtherNetIP Programmers Guide v1.3


03/12/2018
5.8 Assembly Object (Result Part 2 Read)

This explicit message will respond with the complete result data for requested Unique
ID.

DATA_ELEMENT
Sr.No Variable Data Type Description
1 test_type SINT[4] Test type for below data items
2 variable_name_unit SINT[8] Variable name and unit in short string format
• 1st 3 bytes (bytes 0-2)will be for Variable
Name
• Next 5 bytes (bytes 3-7) for Variable unit
3 variable_value REAL Actual value of the variable
Table 24: Data Element

Instance Attribute Bytes Variable Data Type Description


ID
unique_id DINT Unique Identifier for the
0-3
result
num_elements SINT Number of variable
4
elements in result
103 3
Reserved[3] SINT[3] Reserved bytes, value
5-7
will be always zero
element_data DATA_ELEMENT[30] Array of up to 30 data
8-487
elements
Table 25: Result Part 2 Read

Assembly Object (Result Part 2 Read) Object Common Services


Implemented For
Service Code Instance Service Name
Class Level
Level
0EHex No Yes Get_Attribute_Single
Table 26: Result Part 2 Read Common Services

EtherNetIP Programmers Guide v1.3


03/12/2018
6 Reading complete result from Instrument
• Complete result can be read from instrument in multiple steps.
o Sending unique ID for the required result to instrument using Assembly
object for Unique ID write
o Reading result header for the requested unique ID using Assembly object
for Result Part 1 Read. This much result is sufficient to read if detail result
with variable value is not required. Reading this explicit message will reset
the ‘requested result’ flag in implicit message.
o If detail result with variable values is required for the requested unique ID,
then read Assembly object for Result Part 2.
• When result for requested unique ID is available with instrument, “bit20:
Requested Result” of ‘output_value’ variable in implicit output assembly message
of instrument.PLC programmer has to send read ‘Read Result Part 1‘after getting
this bit set. If result is not available then do not send ‘Read Result Part 1‘explicit
command.

Note: Result for running test can be read when test execution is completed along with any
tooling operations, though the result for any previous test can be read during current test
execution.

EtherNetIP Programmers Guide v1.3


03/12/2018

You might also like