Comtrol Corporation makes no representations or warranties with regard to the contents of this document or
to the suitability of the Comtrol product for any particular purpose. Specifications subject to change without
notice. Some software or features may not be available at the time of publication. Contact your reseller for
current product information.
3.1. IO-Link Port Information Object Definition (71 hex).................................................................. 33
3.1.1. Class Attributes .............................................................................................................................. 34
3.2. PDI (Process Data Input) Transfer Object Definition (72 hex) ................................................. 41
3.2.1. Class Attributes .............................................................................................................................. 41
3.2.3. Common Services............................................................................................................................ 41
3.2.4. Instance Attribute Definitions - Attribute 1 to 4-PDI Data Blocks ............................................. 41
3.3. PDO (Process Data Output) Transfer Object Definition (73 hex)............................................. 42
3.3.1. Class Attributes .............................................................................................................................. 42
3.4.1. Class Attributes .............................................................................................................................. 43
3.5.1. Class Attributes .............................................................................................................................. 45
3.5.3. Status Word .................................................................................................................................... 46
3.5.4. Common Services............................................................................................................................ 46
3.6.1. Class Attributes .............................................................................................................................. 48
3.7.3. Common Services Object (06 hex) .................................................................................................. 49
4 - Table of Contents IO-Link Master EtherNet/IP Reference Manual: 2000589 Rev. A
Table of Contents
3.8. Port Object (F4 hex-1 instance)......................................................................................................... 50
3.8.1. Class Attributes .............................................................................................................................. 50
3.9.1. Class Attributes .............................................................................................................................. 52
3.9.3. Common Services............................................................................................................................ 54
3.10. Ethernet Link Object (F6 hex-1 instance) .................................................................................... 54
3.10.1. Class Attributes ............................................................................................................................ 54
3.12. Assembly Object (For Class 1 Interface) ....................................................................................... 58
3.12.1. Class Attributes ............................................................................................................................ 58
8.2. Contacting Technical Support ........................................................................................................ 110
8.3. Using Log Files.................................................................................................................................... 111
8.3.1. View a Log File ............................................................................................................................. 111
8.3.2. Clear a Log File............................................................................................................................. 111
8.3.3. Export a Log File .......................................................................................................................... 112
6 - Table of Contents IO-Link Master EtherNet/IP Reference Manual: 2000589 Rev. A
Chapter 1. EtherNet/IP Interface
1.1. Introduction
This section is intended to describe the EtherNet/IP and Modbus/TCP interfaces provided by the IO-Link
Master.
These interfaces provide the ability to retrieve port and device status information, input and output process
data and access to IO-Link device ISDU (SPDU) data blocks.
1.1.1. Functionality Summary
The EtherNet/IP interface consists of:
•Input Process Data blocks that include:
-Port communication status
-PDI valid status
-Auxiliary Input status (pin 2 of IO-Link connector)
-The active event code (zero if no active event)
-The input process data received from the port. This may be
• IO-Link mode: IO-Link device input process data
• I/O Input mode: Input bit status
• I/O Output mode: Output bit status (configurable option)
This section uses the following terms and definitions.
TermDefinition
Otherwise called implicit messaging, is a method of communication
between EtherNet/IP controllers and devices that:
Class 1
Class 3
EtherNet/IP
Ethernet TCP/IP
Ethernet UDP/IP
IO-Link Master
Multicast
Point-to-Point
PDI data
(Process Data
Input)
PDO data
(Process Data
Output)
ISDU
ISDU
Class 1
•Uses Ethernet UDP messages.
•Is cyclic in nature. Input and/or output data is exchanged between
the controllers and devices at regular time intervals.
Otherwise called explicit messaging, is a method of communication
between EtherNet/IP controllers and devices that:
•Uses Ethernet TCP/IP messages.
•By itself is not cyclic in nature. The controller and devices must send
individual messages to each other.
An Ethernet based industrial communication protocol utilized to
communicate between controllers, often times PLCS, and devices.
Standard Ethernet communications protocol utilizing socket
communication interfaces that guarantees delivery to the intended
device.
Standard Ethernet communications protocol utilizing socket
communication interfaces that does not guarantee delivery. The data
may or may get to the intended device.
IO-Link gateway that provides communication between IO-Link devices
and Ethernet protocols such as EtherNet/IP and Modbus/TCP.
Multicast addressing involves Ethernet devices sending messages to each
other using a multicast address. Multicast addressing:
•Uses a specified IP address range designated for multicast
communication.
•Allows either one or multiple devices to receive the same messages.
Point-to-Point, otherwise called unicast, addressing involves Ethernet
devices sending messages directly to each other using their own IP
addresses. Messages are sent to only one device.
Process data received from an IO-Link device or I/O interface that can be
provided to external controllers such as PLCs, HMIs, SCADA, and OPC
Servers.
Process data received from external controllers such as PLCs, HMIs,
SCADA, and OPC Servers and sent to an IO-Link device or I/O interface.
Note: IO-Link devices may or may not support PDO data.
Service Process Data Unit. Otherwise called ISDU, refers to the Service
Data units on IO-Link devices that are used for information, status and
configuration settings.
Indexed Service Data Unit. Otherwise called ISDU, refers to the Service
Data units on IO-Link devices that are used for information, status and
configuration settings.
Otherwise called implicit messaging, is a method of communication
between EtherNet/IP controllers and devices that:
•Uses Ethernet UDP messages.
•Is cyclic in nature. Input and/or output data is exchanged between
the controllers and devices at regular time intervals.
The IO-Link Master provides a selection of process data transfer methods and a number of options to
customize the process data handling.
•1.2.1. Receive Process Data Methods
•1.2.2. Transmit Process Data Methods on Page 11
1.2.1. Receive Process Data Methods
The IO-Link Master supports the following receive process data methods:
•1.2.1.1. Polling-PLC Requests Data
•1.2.1.2. Write-to-Tag/File-IO-Link Master Writes Data Directly Into PLC Memory
•1.2.1.3. Class 1 Connection (Input Only)-PLC and IO-Link Master Utilize an I/O Connection
1.2.1.1. Polling-PLC Requests Data
Also called Slave-Mode for some industrial protocols, the polling method requires the controller to request
data from the IO-Link Master via messages. The IO-Link Master does not respond until it receives a request
for data.
1.2.1.2. Write-to-Tag/File-IO-Link Master Writes Data Directly Into PLC Memory
Also called Master-Mode for some industrial protocols, the Write-to-Tag/File method requires the IO-Link
Master to send messages that write data directly into a tag or file on the PLC. The IO-Link Master sends
changed data to the PLC immediately and, optionally, can be configured to also send “heartbeat” update
messages at a regular time interval.
Class 1 Connection (Input Only)-PLC and IO-Link Master Utilize an I/O Connection
1.2.1.3. Class 1 Connection (Input Only)-PLC and IO-Link Master Utilize an I/O Connection
Also called I/O Mode for some industrial protocols, the Class 1 connection method requires the IO-Link
Master and PLC to connect to each via an I/O connection. For EtherNet/IP, a connection over UDP must first
be created. Once the connection is established, the IO-Link Master continually sends input data to the PLC at
a PLC configurable rate.
1.2.2. Transmit Process Data Methods
The IO-Link Master supports the following transmit process data methods:
•1.2.2.1. PLC-Writes
•1.2.2.2. Read-from-Tag/File-IO-Link Master Reads Data from PLC Memory
•1.2.2.3. Class 1 Connection (Input and Output)-PLC and IO-Link Master Utilize an I/O Connection
1.2.2.1. PLC-Writes
Also called Slave-Mode for some industrial protocols, the PLC-Writes method requires the PLC to send data
to the IO-Link Master via write messages.
1.2.2.2. Read-from-Tag/File-IO-Link Master Reads Data from PLC Memory
Also called Master-Mode for some industrial protocols, the Read-from-Tag/File method requires the IO-Link
Master to read data from a tag or file on the PLC. In this method, the IO-Link Master requests data from the
PLC at configurable time intervals.
Class 1 Connection (Input and Output)-PLC and IO-Link Master Utilize an I/O Connection
1.2.2.3. Class 1 Connection (Input and Output)-PLC and IO-Link Master Utilize an I/O
Connection
Also called I/O Mode for some industrial protocols, the Class 1 connection method requires the IO-Link
Master and PLC to connect to each via an I/O connection. For EtherNet/IP, a connection over UDP must first
be created. Once the connection is established, the PLC and IO-Link Master continually exchange data at a
configurable rate.
•1.3.2. Output Process Data Block Description on Page 15
1.3.1. Input Process Data Block Description
The Input Process Data Block format is dependent on the configured PDI Data Format. The following tables
describe the Input Process Data Block in the possible formats.
Parameter Name Data TypeDescription
The status of the IO-Link device.
Bit 0 (0x01):
0 = IO-Link port communication initialization process is inactive
1 = IO-Link port communication initialization process is active
Bit 1 (0x02):
0 = IO-Link port communication is not operational
1 = IO-Link port communication is operational
Bit 2 (0x04):
0 = IO-Link input process data is not valid.
1 = IO-Link input process data is valid.
Bit 3 (0x08):
0= No fault detected
Port StatusBYTE
1= Fault detected
•A minor communication fault is indicated by the Operational
status bit being set to 1. A minor communication fault results
from:
-A temporary loss of communication to the IO-Link device.
-A recoverable IO-Link Master software or hardware fault.
•A major communication fault is indicated by the Operational
bit being set to 0.
-An unrecoverable loss of communication to the IO-Link
device.
-An unrecoverable IO-Link Master software or hardware
fault.
Bits 4-7: Reserved (0)
Auxiliary I/O:
Bit 0: The status of the Pin 2 auxiliary bit.
Auxiliary I/OBYTE
Event Code INT16-bit event code received from the IO-Link device.
The IO-Link Master event handling is designed to provide real-time updates of event codes received directly
from the IO-Link device. The IO-Link event code:
•Is included in the second 16-bit word of the Input Process Data (PDI) block.
-An active event is indicated by a non-zero value.
-Inactive or no event is indicated by a zero value.
•Two methods are provided to clear an event:
-Enable the Clear Event After Hold Time option.
•The IO-Link Master keeps, or holds, the active event code in the PDI block until the configured Active Event Hold Time has passed.
•The IO-Link Master then clears the event code in the PDI block and waits until the Clear Event Hold Time has passed before including another event code in the PDI block.
-Enable the Clear Event In PDO Block option.
• The IO-Link Master monitors the PDO block received from the PLC.
• The IO-Link Master expects the first entry of the PDO block to indicate an event code to be cleared.
• If there is an active event code in the PDI block and the PDO block both contain the same event
code, the event code is cleared in the PDI block.
• The IO-Link Master then clears event code in the PDI block and waits until the Clear Event Hold Time has passed before including another event code in the PDI block.
•The two methods can be used separately or together to control clearing of events.
The next subsections illustrate the event clearing process for the various event configurations.
Clear Event Code in PDO Block and Clear Event After Hold Time Process-Hold Time Expires
2.1.4. Clear Event Code in PDO Block and Clear Event After Hold Time ProcessHold Time Expires
This illustrates clearing the event code in the PDO block and clearing the event after the hold time process
with the hold time expired.
2.2. ISDU Handling
The IO-Link Master provides a very flexible ISDU interface that is used by all supported industrial protocols.
The ISDU interface contains the following:
•An ISDU request may contain one or multiple individual ISDU read and/or write commands.
•Individual ISDU command based byte swapping capabilities.
•Variable sized command structures to allow access to wide range of ISDU block sizes.
•A single ISDU request may contain as many ISDU read and/or write commands as allowed by the
industrial protocol payload. For example, if an industrial protocol provides up to 500 byte read/write
payloads, then an ISDU request may contain multiple commands of various lengths that can total up to
500 bytes in length.
•For the ControlLogix family of EtherNet/IP PLCs, both blocking and non-blocking ISDU request methods
are provided.
-The IO-Link Master implements blocking ISDU requests by not responding to an ISDU request
message until all commands have been processed.
• Responding to an ISDU request message immediately after receiving and verifying the ISDU
request.
• Requiring the PLC to monitor the ISDU request status with read messages. The IO-Link Master
will not return a completed status until all of the ISDU commands have been processed.
ISDU requests with multiple commands may consist of commands of the same data size or commands with
different data sizes. The following are two examples of multiple ISDU commands.
•ISDU commands of same data size (Page 23)
•ISDU commands of different data sizes (Page 24)
Multiple Command ISDU Request/Response of Same Data Area Length
ISDU Request Message Format-From PLC to IO-Link Master
2.2.2. ISDU Request Message Format-From PLC to IO-Link Master
Write and read ISDU commands have the same message data format. Each ISDU request message is
comprised of one or more commands. The command(s) can consist of either a series of nested commands or a
single read command.
Note: A list of nested ISDU commands is terminated with either a control field of 0, (single/last operation), or
the end of the message data.
2.2.2.1. Standard ISDU Request Command Format
This table displays a standard ISDU request command format with ControlLogix PLCs.
NameData TypeParameter Descriptions
Bits 0-3:
0= No byte swapping.
Byte SwappingUSINT
RdWrControlTypeUSINT
IndexUINTThe parameter address of the data object in the IO-Link device.
SubindexUINT
DatalengthUINT
Array of
Data
USINTs,
UINTs, or
UDINTs.
1= 16-bit (INT) byte swapping of ISDU data.
2= 32-bit (DINT) byte swapping of ISDU data.
0 = Single/Last Operation (length can vary from to 1 to 232)
1 = Nested batch command – fixed 4 byte data area
2 = Nested batch command – fixed 8 byte data area
3 = Nested batch command – fixed 16 byte data area
4 = Nested batch command – fixed 32 byte data area
5 = Nested batch command – fixed 64 byte data area
6 = Nested batch command – fixed 128 byte data area
7 = Nested batch command – fixed 232 byte data area
The data element address of a structured parameter of the data
object in the IO-Link device.
Length of data to read or write.
For nested batch commands, the data length can vary from 1 to
the fixed data area size.
Size of array is determined by the Control field in
RdWrControlType.
The ISDU responses have the same data format as requests with the only exception being the returned
command status. Each ISDU response message is comprised of one or more responses to the single and/or
nested command(s) received in the request.
2.2.3.1. Standard ISDU Response Command Format
The following table show the standard ISDU response command format with ControlLogix PLCs.
NameData TypeParameter Description
Indicates the byte alignment and status of the command response.
Byte swapping, bits 0-3:
0= No byte swapping.
1= 16-bit (INT) byte swapping of TX/RX ISDU data.
StatusUSINT
RdWrControlTypeUSINT
IndexUINTThe parameter address of the data object in the IO-Link device.
SubindexUINT
DatalengthUINT
Array of
Data
USINTs,
UINTs, or
UDINTs.
2= 32-bit (DINT) byte swapping of TX/RX ISDU data.
Status, bits 4-7:
0 = NOP (No operation)
1 = In process (Only valid for non-blocking requests)
2 = Success
3 = Failure: IO-Link device rejected the request.
4 = Timed out: IO-Link device did not respond
0 = Single/Last Operation (length can vary from to 1 to 232)
1 = Nested batch command – fixed 4 byte data area
2 = Nested batch command – fixed 8 byte data area
3 = Nested batch command – fixed 16 byte data area
4 = Nested batch command – fixed 32 byte data area
5 = Nested batch command – fixed 64 byte data area
6 = Nested batch command – fixed 128 byte data area
7 = Nested batch command – fixed 232 byte data area
The data element address of a structured parameter of the data
object in the IO-Link device.
Length of data that was read or written.
For nested batch commands, the data length can vary from 1 to
fixed data area size.
Data required for read commands. Optionally can return the data
of a write command.
The size of the array is determined by the Control field in the
RdWrControlType.
Note: Data field not required for single NOP commands.
0 = Single/Last Operation (length can vary from to 1 to 232)
1 = Nested batch command – fixed 4 byte data area
2 = Nested batch command – fixed 8 byte data area
Status,
Byte-Swapping,
RdWrControlType
UINT
3 = Nested batch command – fixed 16 byte data area
4 = Nested batch command – fixed 32 byte data area
5 = Nested batch command – fixed 64 byte data area
6 = Nested batch command – fixed 128 byte data area
7 = Nested batch command – fixed 232 byte data area
Byte swapping, bits 8-11:
0= No byte swapping.
1= 16-bit (INT) byte swapping of TX/RX ISDU data.
2= 32-bit (DINT) byte swapping of TX/RX ISDU data.
Status, bits 12-15:
0 = NOP (No operation)
1 = In process (Only valid for non-blocking requests)
2 = Success
3 = Failure: IO-Link device rejected the request.
4 = Timed out: IO-Link device did not respond
IndexUINTThe parameter address of the data object in the IO-Link device
SubindexUINT
The data element address of a structured parameter of the data
object in the IO-Link device.
Length of data that was read or written.
DatalengthUINT
For nested batch commands, the data length can vary from 1 to
fixed data area size.
Data returned for read commands. Contains the data of a write
command.
The size of the array is determined by the Control field in
RdWrControlType.
Data
Array of
USINTs,
UINTs, or
UDINTs
Note: Data field not required for single NOP commands.