EtherNet/IP Protocol Format - PLC Information
EtherNet/IP is an industrial protocol that allows bidirectional data transfer with PLCs that support the protocol. It encapsulates the object-oriented Common Industrial Protocol (CIP). EtherNet/IP communication enables the client to:
- Start and stop sensors
- Load job files
- Align sensors
- Receive sensor states, stamps, and measurement results
Before configuring your PLC, make sure to enable and configure EtherNet/IP in GoPxL. For more information on this, see EtherNet/IP Protocol.
|
Implicit messaging is always enabled. |
This section describes the EtherNet/IP message and data formats. The commands described in the sections below are those specific to the Gocator protocol and not the complete EtherNet/IP reference command set.
GoPxL supports EtherNet/IP communication to provide system state, sensor group state, and scan output data to a PLC, and also receive commands. After you enable EtherNet/IP in the GoPxL web interface, the sensor starts listening on the standard EtherNet/IP port 44818 for one or more EtherNet/IP clients. GoPxL operates as an EtherNet/IP server, and a PLC that connects to it acts as the EtherNet/IP client. All communication is initiated by the PLC, with GoPxL responding to the EtherNet/IP requests.
While the EtherNet/IP protocol includes several types of requests, the two core operations are reading and writing EtherNet/IP objects. Commands are invoked by the PLC sending set requests. Data is requested by the PLC by sending get requests for EtherNet/IP objects.
EtherNet/IP supports both explicit messaging and implicit messaging. Data can be read in Big-Endian or Little-Endian format based on the protocol's configuration selected in the web interface.
Supported EtherNet/IP Objects
All mandatory EtherNet/IP objects required for explicit messaging, including Assembly objects, are supported by the sensors. Except for mandatory objects (see below), the remaining objects are mapped to register assemblies.
Mandatory objects (Identity Object (Class 0x01), TCP/IP Object (Class 0xF5), and Ethernet Link Object (Class 0xF6) objects) are always present in the EtherNet/IP service, regardless of the configured measurement object.
Implicit messaging supports only Assembly objects.
Object and Register Assembly Mapping
Object name |
Register assembly |
Supported Block Type Internal Identifier1 |
Description |
Service |
Messaging Type | Instance ID | Max Size (bytes) |
---|---|---|---|---|---|---|---|
Command input |
Control Input |
ControlInput |
Receives commands from the PLC. |
Explicit |
SetAttributeSingle (0x10) |
112 (0x70) |
67 |
Command output |
Control Output |
ControlOutput |
Sends command response or feedback to the PLC. |
Explicit |
GetAttributeSingle (0x0E) |
113 (0x71) |
3 |
Sensor Group State |
Sensor Group State |
Scanner |
Provides status of the sensor group. |
Explicit |
GetAttributeSingle (0x0E) |
114 (0x72) |
18 |
System State |
System State |
System |
Reports overall system health and connection info. |
Explicit |
GetAttributeSingle (0x0E) |
115 (0x73) |
76 |
Sample State |
Sample State |
MeasurementValue Stamp |
Returns the latest measurement results and stamp. |
Explicit |
GetAttributeSingle (0x0E) |
116 (0x74) |
375 |
Implicit Messaging Input |
Implicit Control Input |
ControlInput |
Receives control commands via cyclic connection. |
Implicit |
SetAttributeSingle (0x10) |
100 (0x64) |
67 |
Implicit Messaging Output |
Sample State |
MeasurementValue Stamp |
Sends measurement results and stamps to the PLC on cycle. |
Implicit |
GetAttributeSingle (0x0E) |
101 (0x65) |
375 |
1. For more information on the supported block types, see Supported Block Types.
Supported Block Types
The block types supported by the EtherNet/IP protocol are listed in the table below. The size field indicates the number of registers that each block type requires.
Block Type Internal Identifier |
Read or Write only? |
Size (number of EtherNet/IP registers) |
Description |
---|---|---|---|
ControlInput |
Write-Only |
67 |
Accepts control commands from the EtherNet/IP client. |
ControlOutput |
Read-Only |
3 |
The result of the last command written to the ControlInput block. |
MeasurementValue |
Read-Only |
4 |
Measurement values. |
Scanner |
Read-Only |
18 |
The current state and configuration of the sensor group. |
Stamp |
Read-Only |
36 |
Stamp message information. |
System |
Read-Only |
76 |
Overall device state and configuration of the GoPxL system. |