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.
The following are the vendor specific CIP Object definitions as supported in the IO-Link Master:
•3.1. IO-Link Port Information Object Definition (71 hex)
•3.2. PDI (Process Data Input) Transfer Object Definition (72 hex) on Page 41
•3.3. PDO (Process Data Output) Transfer Object Definition (73 hex) on Page 42
•3.4. ISDU Read/Write Object Definition (74 hex) on Page 43
The following are standard CIP Object Definitions that are supported in the IO-Link Master.
•3.5. Identity Object (01hex, 1 instance) on Page 45
•3.6. Message Router Object (02 hex) on Page 48
•3.7. Connection Manager Object (06 hex) on Page 49
•3.8. Port Object (F4 hex-1 instance) on Page 50
•3.9. TCP Object (F5 hex-1 instance) on Page 52
•3.10. Ethernet Link Object (F6 hex-1 instance) on Page 54
•3.11. PCCC Object (67 hex-1 instance) on Page 56
3.1. IO-Link Port Information Object Definition (71 hex)
The IO-Link Device Information object defines the attributes by which the PLC can request standard device
information stored in the IO-Link device’s ISDU blocks.
These attributes provide access to the standard ISDU information blocks on the IO-Link devices. These
ISDUs are read at IO-Link device initialization time and then provided once the IO-Link device is
operational.
Based from the start of the first Input Assembly instance, the PDI
data block’s offset for the corresponding port’s PDI data block.
INT
This index is based on the configurable PDI data format (8-bit, 16bit, 32-bit). To use this offset effectively, it is recommended to set IOLink Master PDI and PDO data as well as the Class 1 I/O connection
all to the same data format.
Based from the start of the first Input Assembly instance, the PDO
data block’s offset for the corresponding port’s PDO data block.
INT
This index is based on the configurable PDO data format (8-bit, 16bit, 32-bit). To use this offset effectively, it is recommended to set IOLink Master PDI and PDO data as well as the Class 1 I/O connection
all to the same data format.
Based from the start of the first Output Assembly instance, the PDO
data block’s offset for the corresponding port’s PDO data block.
INT
This index is based on the configurable PDO data format (8-bit, 16bit, 32-bit). To use this offset effectively, it is recommended to set IOLink Master PDI and PDO data as well as the Class 1 I/O connection
all to the same data format.
3.1.4.16. Attribute 16-Control Flags
Data Attribute 16 - Control Flags Description
Bit 0 (01h):
1 = Indicates that the event code to clear is expected in the PDO
block
0 = Indicates that the event code to clear is not expected in the
PDO block. The PDO data block only contains PDO data.
Bit 1 (02h):
INT
(bitmapped
word)
1 = Indicates that the IO-Link device is SIO mode capable
0 = Indicates that the IO-Link device is not SIO mode capable
Bits 2 (04h)
1 = Indicates that Class 1 Rx (receive PDI block) is enabled
0 = Indicates that Class 1 Rx (receive PDI block) is disabled
Bit 3 (08h):
1 = Indicates that Class 1 Tx (transmit PDO) is enabled
0 = Indicates that Class 1 Tx (transmit PDO) is disabled
The following table shows the Object Specific Services for the ISDU Read/Write Object Definition (74 hex).
Service Code Implemented in ClassImplemented in InstanceService Name
4B hexNoYesBlocking ISDU Request
The Blocking ISDU Request service allows one message instruction to both send an ISDU request and receive
the response. Using this service causes the message to be active for several seconds.
3.4.5. Instance Attribute Definitions
The following attributes provide access to the ISDU blocks on the IO-Link devices.
Get Attribute Single messages returns the ISDU response for a specific port through the IO-Link Master. The
response may need to be read multiple times until a response of Success, Failure, or Timed Out has been
received.
Set Attribute Single messages can send read/write type ISDU requests to the IO-Link devices via the IO-Link
Master. The ISDU request message need be sent only once for each ISDU read/write request.
Refer to Page 52 of Volume 3.5 of the CIP Common Specification.
The following applies to the Identity Object status word for the IO-Link Master.
Status Word BitSettingDescription
00Ownership Flag. Does not apply to the IO-Link Master.
10Reserved.
0IO-Link Master is operating on the default configuration.
2
1
30Reserved.
0101 (0x50) Indicates that there is a major fault (either Bit 10 or Bit 11 is set).
0100 (0x40) Indicates the stored configuration is invalid.
0011 (0x30)
0110 (0x60)
4-7
0000
0
8
1
91Unrecoverable minor fault. Does not apply to the IO-Link Master.
0No recoverable major fault.
10
1
0No major unrecoverable fault.
11
1
12-150Reserved.
The IO-Link Master has a configuration other than the default
configuration.
Indicates the system is operational and there are no I/O (Class 1)
connections.
Indicates the system is operational and there is at least one active
I/O (Class 1) connection.
Indicates the system is not operational. It may be in any of the
following states:
•System startup.
•Configuration in process.
•Idle.
•Critical (major) fault.
No recoverable minor fault. No error history entry reported within
the last ten seconds.
Recoverable minor fault. The IO-Link Master has reported an
error within the last ten seconds and a major fault has not been
detected.
A major recoverable fault exists. This is a fault that the IO-Link
Master may be able to recover from by a system reset. If the
system does not recover automatically, a system reset message or a
power cycle of the IO-Link Master may be required.
A major unrecoverable fault has occurred in the IO-Link Master. If
the major fault is not corrected with a system reset or a power
cycle, refer to the User Manual or call Comtrol support.
3.5.4. Common Services
Service Code Implemented in ClassImplemented in InstanceService Name
The Message Router Object provides a messaging connection point through which a Client may address a
service to any object or instance residing in the physical device.
3.6.1. Class Attributes
This table displays the Class Attributes for the Message Router Object (02 hex).
Attribute IDNameData TypeData ValueAccess Rule
1RevisionUINT1Get
2
3
4
5
6
7
Max ClassUINT1Get
Max InstanceUINT1Get
Optional Attribute ListUINT2Get
Option Service ListUINT1Get
Maximum Number
Class Attribute
Maximum Number
Instance Attribute
UINT7Get
UINT2Get
3.6.2. Instance Attributes
This table displays the Instance Attributes for the Message Router Object (02 hex)
Attribute IDNameData TypeData Value(s)Access Rule
Object List
Structure of:
1
2
Number
Classes
Max ConnectionsUINT128Get
UINT
Array of UINT
Number of supported
standard class codes
List of supported
standard class codes
3.6.3. Common Services
This table displays the Common Services for the Message Router Object (02 hex)
Service CodeImplemented in ClassImplemented in InstanceService Name
The PCCC Object provides the ability to encapsulate and then transmit and receive PCCC messages between
devices on an Ethernet/IP network. This object is used to communicate to MicroLogix, SLC 5/05 and PLC-5
PLCs over EtherNet/IP.
The PCCC Object does not support the following:
•Class Attributes
•Instance Attributes
3.11.1. Instances
The PCCC Object supports Instance 1.
3.11.2. Common Services
The following table displays the Common Services for the PCCC Object.
Service CodeImplemented in ClassImplemented in InstanceService Name
The EtherNet/IP specification requires that all Class 1 interfaces be provided through the Assembly Object
interface. The Assembly Object interface is used to directly tie Vendor Specific objects to a standard interface,
which the EtherNet/IP controller, or PLC, uses to communicate to the device.
For the IO-Link Master, the Assembly Object corresponds to the PDI and PDO Transfer objects. Each
instance of the Assembly Object corresponds to one or more of the PDI and/or PDO Transfer Object attributes.
The Assembly Object is linked to the Process IO vendor specific object, which provides access to the PDI and
PDO data. The Assembly object defines the interface by which a Class 1 PLC or controller can:
•Request the PDI data block from the IO-Link Master.
•Write the PDO data block to the IO-Link Master.
3.12.1. Class Attributes
This table shows the Class Attributes for the Assembly Object for a Class 1 interface.
Attribute
ID
1RevisionUINT1Get
2Max InstanceUINT12Get
3Num InstancesUINT12Get
NameData Type
Data
Value(s)
Access
Rule
3.12.2. Instance Definitions
This table shows the Instance Definitions for the Assembly Object for a Class 1 interface.
This is the maximum data length for each Assembly instance.
3.12.7. Overview of Assembly Interface
The Assembly interface is designed to:
•Provide access to all Input and Output assemblies.
•Maximize flexibility for the PLC programmer.
•Minimize required PLC and IO-Link communication bandwidth.
•Be as easy to use as possible.
The following diagram illustrates the Assembly instances for a four port IO-Link Master. There is one
Assembly input and output instance assigned to each IO-Link port.
In order to minimize the number of required I/O connections, the input and output assembly instances are
organized as follows. The Input Assembly instances are grouped into one continuous array with no gaps
between the instances. The same is also true for Output Assembly Instances.
Assembly Controller Access
Read
(Input)
Process
Data
Input
Read
(Input)
Process
Data
Output
Assembly
Instance
Number
101
(Port 1)
102
(Port 2)
103
(Port 3)
104
(Port 4)
105
(Port 1)
106
(Port 2)
107
(Port 3)
108
(Port 4)
Controller
Port 1 Access
Read
(Input)
(Output)
Write
Controller
Port 2 Access
Read
(Input)
(Output)
Write
Controller
Port 3 Access
Read
(Input)
(Output)
Write
Controller
Port 4 Access
Read
(Input)
(Output)
Write
109
(Port 1)
Write
(Output
)
Process
Data
Output
110
(Port 2)
111
(Port 3)
112
(Port 4)
Where:
•All accessible data can be read (input) and written (output) from one I/O connection.
•Controller Read (Input) access:
-One or more input instances may be read with one I/O connection. (i.e. If addressing the instance 101,
all input instances for both PDI and PDO data, 101 to 108, may be read in one connection.)
-The length of the Read (Input) connection can range from 1 to the total length for all input instances.
-Multiple controllers can read access to the Input Assembly instances at one time.
You can use this procedure to configure IO-Link characteristics for each port. The following table or help
system provides information about each option.
1. If necessary, open the IO-Link Master web interface with your web browser using the IP address or
through PortVision DX.
2. Click Configuration in the menu bar, which by default loads the IO-Link Settings page.
3. Click the EDIT button for the port that you want to configure.
4. Make appropriate selections for the IO-Link device that you will connect to that port. You can use the help
system if you require definitions or values for the options or 4.1.2.
IO-Link Settings Parameters on Page
64.
5. Click the SAVE button.
6. Repeat for each port that requires configuration changes.
4.1.2. IO-Link Settings Parameters
The IO-Link Settings configuration page supports the following options.
IO-LINK SETTINGS Page
User defined port or device description.
Port Name
Port Mode
Default: IO-Link
Invert IO
Default: False
Minimum Cycle Time
Default: 4
•Standard ASCII characters
•Max length = 80 characters
Selected IO-Link Port Mode. Valid settings are:
•Reset
•IO-Link
•Digital In
•Digital Out
If enabled and the Port Mode is Digital In or Digital
Out, inverts the I/O value.
0= False (Disabled - Do not invert IO)
1= True (Enabled - Invert IO)
Note: Does not affect the Auxiliary Input.
The minimum, or fastest, cycle time that the IO-Link
device may operate at. The valid range is 4-65535 ms.
64 -Chapter 4. IO-Link Port Configuration IO-Link Master EtherNet/IP Reference Manual: 2000589 Rev. A
4.2. EtherNet/IP Settings Configuration Page
Use the EtherNet/IP Settings page to configure EtherNet/IP port options.
You can use this procedure to configure EtherNet/IP characteristics for each port.
1. If necessary, open the IO-Link Master web interface with your web browser using the IP address.
2. Click Configuration in the menu bar.
3. Click the ETHERNET/IP SETTINGS submenu.
4. Click the EDIT button for the port that you want to configure.
5. Make appropriate selections for the IO-Link device that you will connect to that port.
You can use the help system if you require definitions or values for the options or 4.2.2. EtherNet/IP
Settings Parameters on Page 67.
6. Scroll to the top of the page and click the SAVE button.
Make sure that the port now displays the EDIT button.
If it displays the SAVE and CANCEL buttons, that means that one of the parameters contains an incorrect
value. If necessary, scroll down the page, make the needed corrections, and click SAVE.
7. Repeat for each port that requires configuration changes.
66 -Chapter 4. IO-Link Port Configuration IO-Link Master EtherNet/IP Reference Manual: 2000589 Rev. A
4.2.2. EtherNet/IP Settings Parameters
The EtherNET/IP Settings configuration page supports the following options.
EtherNet/IP Settings Page
ISDU Data Settings
The time that the IO-Link Master’s EtherNet/IP interface waits for a
ISDU Response Timeout
Default: 20 seconds
Process Data Settings
PDI Data Block Size (To PLC)
Default: 36-bytes
PDI Data Block Format (To
PLC)
Default: Word-16
PDI Data Byte-Swap Method
Default: Work (16-bit) byte swap
response to an ISDU request.
The timeout needs to set long enough to allow all commands within the
ISDU request to be processed.
Valid range: 1-10,000 seconds
The configurable PDI data block length. Supported optional lengths are:
•4-bytes (header only)
•8-bytes (4 bytes data)
•16-bytes (12 bytes data)
•24-bytes (20 bytes data)
•36-bytes (32 bytes data)
Data format of PDI data block to be transferred to the PLC(s) in Class 1
and/or Write-to-Tag/File PDI Transfer Modes. Supported formats are:
•Byte-8 (8-bit or SINT)
•Word-16 (16-bit or INT)
•Dword-32 (32-bit or DINT)
Note: The Data Block Format is independent of the PDI Data Byte-Swap
Method.
This setting is not used for the SLC, PLC-5 and MicroLogix PLCs
which are always Word-16.
If enabled, the IO-Link Master swaps the data bytes in word (2 byte)
format or dword (4 byte) format.
Supported values are:
•No byte-swap – data passed through as received
•Word (16-bit) byte-swap – data is byte-swapped in word format
•Dword (32-bit) byte-swap – data is byte-swapped in dword format
Note: The byte swapping must be set correctly in order to convert from IO-
Link (big-endian byte order), to EtherNet/IP (little-endian byte
order).
72 -Chapter 4. IO-Link Port Configuration IO-Link Master EtherNet/IP Reference Manual: 2000589 Rev. A
Chapter 5. Using the Diagnostics Pages
This section provides information about the following Diagnostics web pages.
•5.1. IO-Link Port Diagnostics
•5.2. EtherNet/IP Diagnostics on Page 76
5.1. IO-Link Port Diagnostics
The IO-Link Diagnostics page may be useful when trying to troubleshoot port issues related to IO-Link
configuration.
Note: This image does not illustrate the complete Diagnostics page.
IO-Link Master EtherNet/IP Reference Manual: 2000589 Rev. AChapter 5. Using the Diagnostics Pages - 73
IO-Link Port Diagnostics
The following table provides information about the IO-Link Diagnostics page.
IO-Link Diagnostics
Displays the active device mode:
•Reset = The port is configured to disable all functionality.
Port Mode
•IO-Link = The port is configured to IO-Link mode.
•Digital In = The port is configured to operate as a digital input.
•Digital Out = The port is configured to operate as a digital output.
Displays the port status:
•Inactive = The port is in active state. Typically, this indicates that the
device is either not attached or not detected.
•Initializing = The port is in the process of initializing.
Port Status
•Operational = The port is operational and, if in IO-Link mode,
communications to the IO-Link device has been established.
•PDI Valid = The PDI data is now valid.
•Fault = The port has detected a fault and is unable to re-establish
communications.
Device Vendor NameDisplays the Device Vendor Name as stored in ISDU Index 16.
Device Product NameThe Device Product Name as stored in ISDU Index 18.
Device Serial NumberThe Device Serial Number as stored in ISDU Index 21.
Device HardwareThe Device Hardware Version as stored in ISDU Index 22.
Device FirmwareThe Device Firmware Version as stored in ISDU Index 23.
Device IO-Link VersionThe supported Device IO-Link Version as stored in ISDU Index 0.
Auxiliary Bit StatusThe current status of the auxiliary bit as received on Pin 2 of the IO-Link port.
Last Rx PDI Data (MS
Byte First)
The last Rx PDI data as received from the IO-Link device.
Device PDO Data LengthThe supported Device PDO Data Length, in bytes, as stored in ISDU Index 0.
Lost PDO Controller(s)
Errors
The number of times that the PDO controller(s) were present and then lost
connection.
PDO Data ValidStatus of PDO data being received from controller(s).
Device PDI Data LengthThe supported Device PDI Data Length, in bytes, as stored in ISDU Index 0.
PDI Data ValidCurrent status of PDI data as received from the IO-Link device.
Last Tx PDO DataThe last Tx PDO data.
Time Since InitializationThe time since the last port initialization.
Lost Communication
Count
The number of times that communication has been lost to the IO-Link device.
Initialization AttemptsThe number of times the IO-Link port was initialized.
Initialization ErrorsThe number of port initialization errors that occurred.
Process Data ErrorsThe number of process data errors the port received.
Process Data RetriesThe number of process data retries the port performed.
Internal Communication
Errors
Device Communication
Errors
The number of IO-Link Master internal communication errors that occurred on
this port.
The number of device specific communication errors that occurred.
74 -Chapter 5. Using the Diagnostics Pages IO-Link Master EtherNet/IP Reference Manual: 2000589 Rev. A
IO-Link Port Diagnostics
IO-Link Diagnostics (Continued)
ISDU Read Cmd Attempts The number of read ISDU command attempts.
ISDU Read Cmd ErrorsThe number of read ISDU command errors.
Minimum ISDU Read
Cmd Resp Time
Maximum ISDU Read
Cmd Resp Time
Average ISDU Read Cmd
Resp Time
Average ISDU Read Cmd
Byte Time
ISDU Write Cmd
Attempts
The minimum, or shortest, read ISDU command response time.
The maximum, or longest, read ISDU command response time.
The average ISDU read command response time.
The average per-byte read ISDU command response time.
The number of write ISDU command attempts.
ISDU Write Cmd ErrorsThe number of write ISDU command errors.
Minimum ISDU Write
Cmd Resp Time
Maximum ISDU Write
Cmd Resp Time
Average ISDU Write Cmd
Resp Time
Average ISDU Write Cmd
Byte Time
The minimum, or shortest, write ISDU command response time.
The maximum, or longest, write ISDU command response time.
The average ISDU write command response time.
The average per-byte ISDU write command response time.
Total EventsThe total number of events that were received on this port.
First EventsUp to the first, or oldest, three events that were received on this port.
Last EventsUp to the last, or most recent, three events that were received on this port.
IO-Link Master EtherNet/IP Reference Manual: 2000589 Rev. AChapter 5. Using the Diagnostics Pages - 75
EtherNet/IP Diagnostics
5.2. EtherNet/IP Diagnostics
The EtherNet/IP Diagnostics page may be useful when trying to troubleshoot EtherNet/IP communications
and port issues related to EtherNet/IP configuration.
Note: This image does not illustrate the complete Diagnostics page.
76 -Chapter 5. Using the Diagnostics Pages IO-Link Master EtherNet/IP Reference Manual: 2000589 Rev. A
EtherNet/IP Diagnostics
The following table provides information about the EtherNet/IP Diagnostics page.
EtherNet/IP Diagnostics
The number of active Ethernet/IP sessions. A session can:
Active Session Count
•Support both Class 1 I/O and Class 3 Messages
•Can be initiated by either the PLC or the IO-Link Master
•Can be terminated by either the PLC or the IO-Link Master
Active ConnectionsThe current number of active connections (both Class 1 and 3).
Total Connections
Established
The total number of connections that have been established.
Connection TimeoutsThe number of connections that have closed due to timing out.
Connections ClosedThe number connections that have closed due to a standard processes.
Class 3 Messages/
Responses Received
Broadcast Messages
Received
Class 3 Messages/
Responses Transmitted
Class 1 Output Updates
(From PLC)
Class 1 Output Data
Changes (From PLC)
Class 1 Input Data
Updates (To PLC)
The number of Class 3 messages and responses received from the PLC or
PLCs.
The number of broadcast messages received from PLC or PLCs.
The number of Class 3 messages and responses sent to the PLC or PLCs.
The number of Class 1 output data updates received from the PLC or PLCs.
The number of changes in Class 1 output data received from the PLC.
The number of Class 1 input data updates sent to the PLC or PLCs.
Client Object RequestsThe number of Class 3 requests to the IO-Link Master vendor specific objects.
Good Responses from PLCThe number of good responses from messages sent to PLC or PLCs.
Displays the number of bad responses from messages sent to the PLC or
PLCs. Bad responses are typically returned for such errors as:
•Incorrect tag or file names
Bad Responses from PLC
•Incorrect tag or file data types
•Incorrect tag or file data sizes
•PLC is overloaded and cannot handle the amount of Ethernet traffic
•PLC malfunction
Displays the number of no responses from messages sent to the PLC or PLCs.
No responses are typically returned for such errors as:
•Incorrect IP address
No Responses from PLC
•Incorrect PLC configuration
•PLC malfunction
•PLC is overloaded and cannot handle the amount of Ethernet traffic
Invalid Network Paths
Pending Request Limit
Reached
Displays the number of network path errors on messages sent to the PLC or
PLCs. These are typically caused by incorrect IP address settings.
Displays the number of pending request limit errors. These errors occur when
the PLC is sending a continuous stream of messages to the IO-Link Master
faster than the IO-Link Master can process them.
Displays the number of unexpected event errors. Unexpected event errors
Unexpected Events
occur when the IO-Link Master receives an unexpected message from the
PLC such as an unexpected response or unknown message.
IO-Link Master EtherNet/IP Reference Manual: 2000589 Rev. AChapter 5. Using the Diagnostics Pages - 77
EtherNet/IP Diagnostics
EtherNet/IP Diagnostics (Continued)
Unsupported CIP Class
Errors
Unsupported CIP Instance
Errors
Unsupported CIP Service
Errors
Unsupported CIP Attribute
Errors
Unsupported File Errors
Displays the number of unsupported CIP class errors.
These errors occur when a message that attempts to access an invalid class is
received by the IO-Link Master.
Displays the number of unsupported CIP instance errors.
These errors occur when a message that attempts to access an invalid
instance is received by the IO-Link Master.
Displays the number of unsupported CIP service errors. These errors occur
when a message that attempts to access an invalid service is sent to the IOLink Master.
Displays the number of unsupported CIP request attribute errors. These
errors occur when a message that attempts to access an invalid attribute is
sent to the IO-Link Master.
Displays the number of messages from SLC/PLC-5/MicroLogix PLCs that
attempt to access an unsupported file address.
Displays the number of system resource errors. These errors indicate a
system error on the IO-Link Master such as operating system errors or full
System Resource Errors
message queues. These errors typically occur when the PLC or PLCs are
sending messages to the IO-Link Master faster than the IO-Link Master can
process them.
First Error StringText description of the first error that occurred.
Last Error StringText description of the last error that occurred.
EtherNet/IP Port Specific Diagnostics
Displays the number of improper configuration errors. These errors occur
Configuration Errors
when the IO-Link Master receives a message that cannot be performed due to
an invalid configuration.
Displays the number of invalid message data errors. These errors occur when
Invalid Data Errors
the IO-Link Master receives a message that cannot be performed due to
invalid data.
Active PDO Controller(s)
Lists the controller interface(s) type, (Class 1 or Class 3), and IP address that
are controlling the PDO data.
Displays the number of PDO write messages that were dropped due to any of
the following:
•The port is configured in IO-Link mode:
PDO Writes to Offline or
Read-Only Ports
-There is no device connected to the port.
-The IO-Link device is off-line.
-The IO-Link device does not support PDO data.
•The PDO Transmit Mode (To PLC) is disabled.
•The port is configured in Digital Input mode.
Displays the number of PDI update messages that could not be delivered to
the PLC in the Write-to-Tag/File method. Undeliverable updates may result
Undeliverable PDI
Updates (To PLC)
when:
The IO-Link Master cannot complete an Ethernet connection to the PLC.
The PDI data is changing faster than the Maximum PLC Update Rate.
ISDU Request Msgs From
PLC(s)
ISDU Invalid Requests
Displays the number of ISDU request messages received from the PLC(s) or
other controllers. These request messages may contain one or multiple ISDU
commands.
Displays the number of ISDU requests received over EtherNet/IP with one or
more invalid commands.
78 -Chapter 5. Using the Diagnostics Pages IO-Link Master EtherNet/IP Reference Manual: 2000589 Rev. A
EtherNet/IP Diagnostics
EtherNet/IP Diagnostics (Continued)
Displays the number of ISDU requests received over EtherNet/IP when the
IO-Link port was offline. This can occur when:
ISDU Requests When Port
Offline
•The IO-Link port is initializing, such as after start-up.
•There is no IO-Link device attached to the port.
•The IO-Link device is not responding.
•Communication to the IO-Link device has been lost.
Valid ISDU Responses
From Port
ISDU Response Timeouts
Displays the number of valid ISDU response messages returned from the IOLink port interface and available to the PLC(s). The response messages
contain results to the ISDU command(s) received in the request message.
Displays the number of ISDU requests that did not receive a response within
the configured ISDU Response Timeout.
Displays the number of unexpected ISDU responses.
Unexpected ISDU
Responses
Unexpected responses may occur when an ISDU response is received after
the ISDU request has timed out. This typically requires setting the ISDU Response Timeout to a longer value.
ISDU Read CommandsDisplays the number of ISDU read commands received over EtherNet/IP.
Maximum ISDU Request
Msg Response Time
Average ISDU Request
Msg Response Time
Minimum ISDU Request
Msg Response Time
Displays the maximum time period required to process all commands within
an ISDU request message. The response is not available until all ISDU
command(s) contained in the request have been processed.
Displays the average time period required to process the ISDU request
message(s). The response is not available until all ISDU command(s)
contained in the request have been processed.
Displays the minimum time period required to process all commands within
an ISDU request message. The response is not available until all ISDU
command(s) contained in the request have been processed.
ISDU Write CommandsDisplays the number of ISDU write commands received over EtherNet/IP.
ISDU NOP Commands
Displays the number of ISDU NOP (no operation) commands received over
EtherNet/IP.
IO-Link Master EtherNet/IP Reference Manual: 2000589 Rev. AChapter 5. Using the Diagnostics Pages - 79
EtherNet/IP Diagnostics
80 -Chapter 5. Using the Diagnostics Pages IO-Link Master EtherNet/IP Reference Manual: 2000589 Rev. A
Chapter 6. ControlLogix Family - Example PLC
Programs
The example RSLogix 5000 PLC program is intended to provide basic working functionality:
•Through a Class 1 connection, provide a PDI data block with the IO-Link port status, auxiliary bit status
and the PDI data.
•Through explicit messages, provide the ability to send both read and write ISDU requests to the IO-Link
devices and receive the responses.
•Through explicit messages, provide the Device Information block.
Perform the following steps to run the example PLC program on your ControlLogix family PLC.
1. 6.1. Import the PLC program into RSLogix 5000
2. 6.2. Configure the Controller on Page 81
3. 6.3.
4. 6.4.
5. 6.5.
6. 6.6.
Add the EtherNet/IP Module Interface on Page 83
Configure the Ethernet Module on Page 85
Example PLC Program Operation on Page 90
User Defined Data Structures on Page 93
6.1. Import the PLC program into RSLogix 5000
Both the standard .ACD file and library file have been provided. If your version of RSLogix 5000 will not open
the .ACD file, then you will need to import the .L5K file.
6.2. Configure the Controller
The following are the controller settings used by Comtrol to create the example PLC program.
Note: You may need to change the controller settings to match those of your PLC.
1. Open the RSLogix 5000 Properties page, click the General tab, enter the name, and click the Change
Controller button.
IO-Link Master EtherNet/IP Reference Manual: 2000589 Rev. AChapter 6. ControlLogix Family - Example PLC Programs - 81
Configure the Controller
2. Select the controller type and click Ok.
3. Set the System Overhead Time Slice to 50% and click Ok.
82 -Chapter 6. ControlLogix Family - Example PLC Programs IO-Link Master EtherNet/IP Reference Manual: 2000589 Rev. A
Add the EtherNet/IP Module Interface
6.3. Add the EtherNet/IP Module Interface
If the controller has been changed or if the Ethernet module is different, you will need to add the EtherNet/IP
module to the PLC program.
You can use this procedure to add the Ethernet module for your PLC in the corresponding slot.
1. Click IO Configuration and select New Module.
2. Select the Ethernet Module Type and click OK.
IO-Link Master EtherNet/IP Reference Manual: 2000589 Rev. AChapter 6. ControlLogix Family - Example PLC Programs - 83
Add the EtherNet/IP Module Interface
3. Right-click the Ethernet Module and select Properties.
4. Set the Name, IP Address, Slot, and Revision for your PLC and then click OK.
84 -Chapter 6. ControlLogix Family - Example PLC Programs IO-Link Master EtherNet/IP Reference Manual: 2000589 Rev. A
6.4. Configure the Ethernet Module
You can use these procedure as a guideline to configure the Ethernet module.
1. Right-click the Ethernet interface module and select New Module.
Configure the Ethernet Module
2. Select ETHERNET-MODULE Generic Ethernet Module and then click OK.
IO-Link Master EtherNet/IP Reference Manual: 2000589 Rev. AChapter 6. ControlLogix Family - Example PLC Programs - 85
Configure the Ethernet Module
3. Enter the following parameters on the
Module Properties pane.
a. Enter IOLinkMstr for the module
Name.
b. If desired, enter a Description for the
module.
c.Select INPUT Data - INT (16-bit) for the
Comm Format.
d. Enter the IP Address of the IO-Link
Master module.
e. Enter the Connection Parameters:
• Enter 101 for the Input - Assembly Instance.
• Enter 72 for the Input-Size (input
data length in 16-bit words).
• Enter 254 for the Output - Assembly Instance.
• If not already set to zero, enter 0 for the Output-Size (output data length).
• Set the Configuration - Assembly Instance to 254.
• Set the Configuration-Size to 0. (There are no configuration parameters).
f.Click Next.
Note: Your version of RSLogix 5000 may only allow one Class 1 connection to a specific EtherNet/IP
device.
4. Enter the Requested Packet Interval.
a. Enter the interval value that best suits
your system. For the example
program, it is recommended to set the
interval to 10 ms.
b. Click Ok.
86 -Chapter 6. ControlLogix Family - Example PLC Programs IO-Link Master EtherNet/IP Reference Manual: 2000589 Rev. A
5. Review the Module Information pane.
Configure the Ethernet Module
Note: This pane is not updated until the program is downloaded to the PLC and both PLC and IO-Link
Master are running.
6. Under Controller T ags, observe the input tags created for the module. The example PLC program requires
the IOLinkMstr.I (input data tag). The IOLinkMstr.C (configuration tag) is unused and can be ignored.
IO-Link Master EtherNet/IP Reference Manual: 2000589 Rev. AChapter 6. ControlLogix Family - Example PLC Programs - 87
Configure the Ethernet Module
7. Under MainProgram, configure the Communication Path for all messages in all four ProcessIoLinkPortN
subroutines.
88 -Chapter 6. ControlLogix Family - Example PLC Programs IO-Link Master EtherNet/IP Reference Manual: 2000589 Rev. A
8. Enter IOLinkMstr for the Path for all MSG instructions in all four subroutines.
9. Save the RSLogix5000 program.
10. Download to the PLC.
11. Start the PLC.
12. Click MainRoutine and review the RSLogix 5000 screen.
Configure the Ethernet Module
IO-Link Master EtherNet/IP Reference Manual: 2000589 Rev. AChapter 6. ControlLogix Family - Example PLC Programs - 89
Example PLC Program Operation
6.5. Example PLC Program Operation
The example PLC Program has been designed to operate with the default IO-Link Master settings. It
provides only Input Process data, but can be modified to also transmit PDO data to the IO-Link Master. The
PLC program performs the following tasks:
1. The MainProgram calls each of the four ProcessIoLinkPortN subroutines once every 100 ms. The frequency
of these calls can be adjusted by changing the CycleTimer Preset value on rung 0.
2. Each ProcessIoLinkPortN subroutine is designed to handle all status and
communication between the EtherNet/IP controller and one port on the
IO-Link Master.
a. Rung 0:
This rung monitors the interface to the IO-Link. It sets the flags that control a port initialization or
shutdown.
b. Rung 1:
• Using the parameters received in the PortInfo tag, automatically indexes into the input data block.
• Copies the PDI data block into the PrtN_RxPdiData tag.
• Monitors the IO-Link port status.
90 -Chapter 6. ControlLogix Family - Example PLC Programs IO-Link Master EtherNet/IP Reference Manual: 2000589 Rev. A
-When the device status transitions to active (2): The PrtN_Operational tag is enabled (latched).
This enables explicit message communication to the IO-Link Master on Rungs 3-6.
-When the device status transitions to inactive (0) or initializing (1): The PrtN_Shutdown flag is
enabled (latched) which causes a full shutdown of the port.
c.Rung 2:
This rung clears all flags necessary to cleanly shut down a port.
d. Rung 3:
Example PLC Program Operation
When the PrtN_SendBlkISDUReq tag is enabled, this rung sends an explicit message to the IO-Link
Master. This message starts a blocking ISDU process where the IO-Link Master will not return a MSG
response until all ISDU commands have been processed.
e. Rung 4-5:
• When the PrtN_SendNonBlkISDUReq tag is enabled, this rung sends an explicit message to the IO-
Link Master.
-This message starts a blocking ISDU process where the IO-Link Master returns a MSG
response immediately after verifying the ISDU request.
-The IO-Link Master then processes all ISDU commands within the request.
-The IO-Link returns In-Process statuses until all ISDU commands have been processed.
• When the PrtN_GetNonBlkISDUResp tag is enabled, this rung sends an explicit message to the IO-
Link Master to retrieve the ISDU response.
• Run 7 enables (latches) GetNonBlkISDUResp as soon the MSG in Rung 4 has completed
IO-Link Master EtherNet/IP Reference Manual: 2000589 Rev. AChapter 6. ControlLogix Family - Example PLC Programs - 91
Example PLC Program Operation
successfully.
• The ISDU response is retrieved until the response received indicates either a success (2) or error
(3 or 4).
f.Rung 6:
• When the PrtN_GetPortInfo tag is enabled, this rung sends an explicit message to request the IOLink port information block.
•The PrtN_GetDevInfo tag is enabled in Rung 0 whenever the IO-Link Master connection status
transitions from inactive to active.
g. Rung 7:
This rung monitors the various explicit messages for completion.
• Controls the non-blocking ISDU request process by enabling messages to retrieve the ISDU
response until the request has completed.
• Sets the various flags when a get port information message has completed.
92 -Chapter 6. ControlLogix Family - Example PLC Programs IO-Link Master EtherNet/IP Reference Manual: 2000589 Rev. A
User Defined Data Structures
6.6. User Defined Data Structures
The example PLC program contains a number of User Defined Data Structures that may be used or modified
as need be.
The following illustrations show a few of the User Defined Data Structure formats.
IO-Link Master EtherNet/IP Reference Manual: 2000589 Rev. AChapter 6. ControlLogix Family - Example PLC Programs - 93
User Defined Structure Example 1
6.6.1. User Defined Structure Example 1
This displays the first example of a User Defined Data Structure.
6.6.2. User Defined Structure Example 2
This the second example of the User Defined Structure.
94 -Chapter 6. ControlLogix Family - Example PLC Programs IO-Link Master EtherNet/IP Reference Manual: 2000589 Rev. A
6.6.3. User Defined Structure Example 3
This is the third example of a User Defined Structure.
User Defined Structure Example 3
6.6.4. User Defined Structure Example 4
This is the fourth example of a User Defined Structure.
IO-Link Master EtherNet/IP Reference Manual: 2000589 Rev. AChapter 6. ControlLogix Family - Example PLC Programs - 95
Example PLC Program Tag Definitions
6.7. Example PLC Program Tag Definitions
The following tag definitions apply to the example IO-Link Master PLC program.
Tag NameValue RangeDescription
PrtN_Operational
(init state = false)
PrtN_PdiValid
(init state = false)
PrtN_PortInfoValid
(init state = false)
PrtN_SendBlkgISDUReq
(init state = false)
PrtN_SendNonBlkISDUReq
(init state = false)
BOOL
BOOL
BOOL
BOOL
BOOL
Controlled by the subroutine, the port operational
status. The port must be operational before
communication to the IO-Link port is allowed.
•0 = false
•1= true
Controlled by the subroutine, the PDI (Input Process
data block) valid status.
•0 = false
•1= true
Controlled by the subroutine, the port information
valid status. The port information must be retrieved
before the device can become operational.
•0 = false
•1= true
Controlled by the User or some other part of a PLC
program, directs the subroutine whether to send a
blocking ISDU request to the IO-Link Master.
•0 = false (do not send message)
•1= true (send message)
Controlled by the User or some other part of a PLC
program, directs the subroutine whether to begin
the non-blocking ISDU request process. If true, the
subroutine sends a non-blocking ISDU request to
the IO-Link Master.
•0 = false (do not send message)
•1= true (send message)
96 -Chapter 6. ControlLogix Family - Example PLC Programs IO-Link Master EtherNet/IP Reference Manual: 2000589 Rev. A
Tag NameValue RangeDescription
PrtN_GetInfoMsg
PrtN_GetNonBlkISDURespMsg
PrtN_MiscISDUReqs
PrtN_MiscISDUResps
PrtN_PortInfo
PrtN_RxPdiData
PrtN_SendBlkgISDUReqMsg
PrtN_SendNonBlkISDUReqMsg
PrtN_ISDUReqArray4Byte
PrtN_ISDURespArray4Byte
PrtN_ISDUSingleReqData
MSG
instruction
parameters
MSG
instruction
parameters
User defined
data structure
User defined
data structure
User defined
data structure
User defined
data structure
MSG
instruction
parameters
MSG
instruction
parameters
ISDU
command
parameters
ISDU
response
parameters
ISDU
command
parameters
Example PLC Program Tag Definitions
Used by the subroutine, the message data used to
get the port information from the IO-Link Master.
Note: This tag should not be modified by any other
part of the PLC program or through the
RSLogix 5000 user interface.
Used by the subroutine, the message data used to
get the non-blocking ISDU response from the IOLink Master.
Note: This tag should not be modified by any other
part of the PLC program or through the
RSLogix 5000 user interface.
Group of ISDU commands used as the default ISDU
request format for the example PLC program. Can
be modified by the user or other part of a PLC
program.
Refer to 6.7.3. PrtN_MiscISDUReqs on Page 100 for
more information.
Group of ISDU command responses that is returned
by the IO-Link Master after and ISDU request
completion. Must be in same overall format as
PrtN_MiscISDUReqs.
Refer to 6.7.4. PrtN_MiscISDUResp on Page 101 for
a complete description.
Contains common device information parameters
automatically read by the IO-Link Master during
initialization of the IO-Link device interface.
This tag contains the latest PDI data block as
received from the Class 1 interface. It is updated
with every ProcessIoLinkPortN subroutine call.
Refer to 6.7.2. PrtN_RxPdiData Definition on Page
99 for more information.
MSG instruction parameters used to send a blocking
ISDU Request message.
Note: This tag should not be modified by any other
part of the PLC program or through the
RSLogix 5000 user interface.
MSG instruction parameters used to send a nonblocking ISDU Request message.
Note: This tag should not be modified by any other
part of the PLC program or through the
RSLogix 5000 user interface.
An alternative ISDU request format.
An alternative ISDU response format. Must be used
with PrtN_ISDUReqArray4Byte.
An alternative ISDU request format.
IO-Link Master EtherNet/IP Reference Manual: 2000589 Rev. AChapter 6. ControlLogix Family - Example PLC Programs - 97
PrtN_DeviceInformation Definition
Tag NameValue RangeDescription
PrtN_ ISDUSingleRespData
ISDU
response
parameters
An alternative ISDU response format. Must be used
with PrtN_ISDUReqArray4Byte.
If enabled, instructs all subroutines to repeat any
RepeatISDURequestsBOOL
ISDU requests upon completion. Intended for
testing purposes. May be enabled by end user.
MainProgram only.
Allows the ProcessIoLinkPortN subroutine calls if
RunBOOL
enabled (1).
Prevents the ProcessIoLinkPortN subroutine calls if
disabled (0).
6.7.1. PrtN_DeviceInformation Definition
The IO-Link Master requests this information from the IO-Link device during the IO-Link device
initialization process. It is then made accessible via explicit messages. The example PLC program
automatically requests this information block when the device status transitions to active.
Paramet er NameDataDescription
VendorName
VendorText
ProductName
ProductId
ProductText
SerialNum
HardwareRev
FirmwareRev
64 ASCII
characters
64 ASCII
characters
64 ASCII
characters
64 ASCII
characters
64 ASCII
characters
16 ASCII
characters
64 ASCII
characters
64 ASCII
characters
DevicePdiLengthINT
DevicePdoLengthINT
PdiBlockLengthINT
PdoBlockLengthINT
InputRxPdiOffsetINT
Requested from ISDU data block index 16, contains the
Vendor Name description of the IO-Link device.
Requested from ISDU data block index 17, contains the
Vendor Text description of the IO-Link device.
Requested from ISDU data block index 18, contains the
Product Name description of the IO-Link device.
Requested from ISDU data block index 19, contains the
Product ID description of the IO-Link device.
Requested from ISDU data block index 20, contains the
Product Text description of the IO-Link device.
Requested from ISDU data block index 21, contains the
Vendor Specific Serial Number of the IO-Link device.
Requested from ISDU data block index 22, contains the
Hardware Revision of the IO-Link device.
Requested from ISDU data block index 23, contains the
Firmware Revision of the IO-Link device.
Length of valid PDI data from IO-Link device or port (if
not in I/O Link mode).
Length of valid PDO data that can accepted by the IOLink device or port (if not in I/O Link mode).
The configured PDI data block length. This includes the
header bytes and any PDI data.
The configured PDO data block length. This includes the
header bytes and any PDO data.
Provides the index into the Class 1 I/O input data
received from the IO-Link Master. The index corresponds
to the configured PDI data format of the port on the IOLink Master. Used to automatically index into the input
data and retrieve the PDI data block.
98 -Chapter 6. ControlLogix Family - Example PLC Programs IO-Link Master EtherNet/IP Reference Manual: 2000589 Rev. A
Parameter NameDataDescription
Provides the index into the Class 1 I/O input data
received from the IO-Link Master. The index corresponds
InputRxPdoOffsetINT
to the configured PDO data format of the port on the IOLink Master. Used to automatically index into the input
data and retrieve the PDO data block.
Provides the index into the Class 1 I/O output data sent
to the IO-Link Master. The index corresponds to the
OutputPdoOffsetINT
configured PDO data format of the port on the IO-Link
Master. Used to automatically index into the output data
and transmit the PDO data block.
Bit 0 (01h):
1 =Indicates that the event code to clear is expected in
the PDO block
0 =Indicates that the event code to clear is not expected
in the PDO block. The PDO data block only contains
PDO data.
Bit 1 (02h):
ControlFlags
Bitmapped
INT
1 =Indicates that the IO-Link device is SIO mode
capable
0 =Indicates that the IO-Link device is not SIO mode
capable
PrtN_RxPdiData Definition
6.7.2. PrtN_RxPdiData Definition
The PDI data block is received from the IO-Link Master over a Class 1 I/O connection. The data is then copied
into the PDI data block in each subroutine.
Refer to section on Input Process data format.
IO-Link Master EtherNet/IP Reference Manual: 2000589 Rev. AChapter 6. ControlLogix Family - Example PLC Programs - 99
PrtN_MiscISDUReqs
6.7.3. PrtN_MiscISDUReqs
This tag is used as the default ISDU request. It contains several ISDU commands that are configured to read
standard ISDU blocks supported by most IO-Link devices. This User Defined Structure may be changed to
include any set of ISDU commands. The only constraint is that the entire Request and response must be no
larger than the maximum MSG instruction payload of 500 bytes.
100 -Chapter 6. ControlLogix Family - Example PLC Programs IO-Link Master EtherNet/IP Reference Manual: 2000589 Rev. A
Loading...
+ hidden pages
You need points to download manuals.
1 point = 1 manual.
You can buy points or you can get point for every manual you upload.