EtherCAT integration
With the EtherCAT integration, the system is made up of the following components:
Bus master
Bus modules/slaves (here the bus module BNI)
Device data
In order to properly parameterize the bus master, device data in the form of three ESI files is enclosed with the bus module BNI.
Input/output buffer
The data exchange with the controlling system takes place in the input and output buffer. The size of this buffer must be configured by the master.
Configuration
Note
Please check whether IO-Link is supported by your module before using this function. For more information on product variants that support IO-Link, see Supported product variants
During the project planning the BNI bus module is displayed as a modular device. The device data required for the project planning is stored in the ESI files. The data modules of the inputs/outputs, the IO-Link Port and any additional modules are shown in the project planning software in relation to the slot.
The ESI files make available the possible data modules (inputs/outputs, IO-Link Ports of varying data width and other additional modules).
The appropriate data modules are assigned to a certain slot for the configuration of the BNI. Unused slots can be released.
Integration in project planning software
As an example, the connection of the BNI to a Beckhoff TwinCAT control is shown with the TwinCAT System Manager. The exact procedure depends on the project planning software used.
Installing ESI files
The device description has the following name: Balluff BNI XG5-538-1B5-Z067 ECS V.x.x.x.xml
Copy the file to the corresponding TwinCAT directory (in the standard:
C:\TwinCAT\3.1\Config\Io\EtherCAT).⇒ Installed devices are available when the TwinCAT System Manager starts again.
Automatic scanning
Prerequisite
Before connecting devices to the EtherCAT network, the EtherCAT system must be in a secure, de-energized state.
Switch on the operating voltage and start the TwinCAT System Manager in Config mode.
Scan BNI as a box.
Manually adding a device
Prerequisite
Before connecting devices to the EtherCAT network, the EtherCAT system must be in a secure, de-energized state.
Switch on the operating voltage and start the TwinCAT System Manager in Config mode.
Attach a box.
Select a box.
Necessary configuration of device
After automatic scanning or manual adding of the device, the device appears in the tree structure of TwinCAT.
The BNI supports EoE (Ethernet over Ethercat). In order to configure TwinCAT, in the EtherCAT tab select Advanced settings.
A valid DNS name and then a valid IP address must be entered.
Configuring Station Alias
The Station Alias can be selected under the EtherCAT tabAdvanced settings.
Note
The new value is only valid after a reset.
Configuring the network module
Note
Please check whether IO-Link is supported by your module before using this function. For more information on product variants that support IO-Link, see Supported product variants
The BNI is a modular EtherCAT device. The device has the following slot structure:
Slot number |
Meaning |
|---|---|
1-8 |
IO-Link Ports |
Note
The sum of the output data may not exceed 256 bytes.
In order to configure the IO-Link Ports, a defined number of process data (buffer size) must be assigned to the EtherCAT slots. In the TwinCAT System Manager this works as follows:
Delete assignment of IO-Link channel (or port) with x.
Place the channel selected on the left side with with
<the module configuration selected on the right.Transfer configuration to the EtherCAT slave with restart of TwinCAT in Config mode.
Bitmapping and function
Signals from configured inputs or outputs are displayed in the modulesSTD_IN_1bit(inputs Pin 4), Input Pin 2 (inputs Pin 2), as well asSTD_OUT_1bit(outputs Pin 4) and Output Pin 2 (outputs Pin 2).
Note
XG1 devices have no outputs to Pin 2.
Network modules
The IO-Link modules are always established according to the same schema:
IOLI/Ox/xBytes
Quantity of process data used (should be greater than or equal to the process data length of the O-Link device)
I = Input data
O = Output data
I/O = Input and output data
Short circuits and restart bits
The BNI restarts automatically if a short circuit occurs at one of the IO-Link Ports. No restart bits are required.
IO-Link state
Note
Please check whether IO-Link is supported by your module before using this function. For more information on product variants that support IO-Link, see Supported product variants
In the IO-Link state the current status of each port is displayed.
Start-up
In the start-up the IO-Link Ports and outputs can be preconfigured. For more information, see Configuration without ESI.
The entries are transferred during the transfer of the configuration.
Configuration of modules
Validation and Backup
Note
Please check whether IO-Link is supported by your module before using this function. For more information on product variants that support IO-Link, see Supported product variants
Validation of the connected IO-Link device and backup of its parameter data in the network module’s parameter server are configured together via a single setting: subindex 0x01 (Validation and Backup) of the Additional IO-Link Configuration Data Ch. x object. See Additional IO-Link Configuration Data Ch. x (IO-Link variants) for the object details and the full list of values.
Validation checks the Vendor ID and Device ID of the connected IO-Link device, as well as its IO-Link protocol version (V1.0 or V1.1). The expected Vendor ID and Device ID must be configured in subindex 0x05 (Vendor ID) and subindex 0x04 (Device ID) of the IO-Link Configuration Data Ch. x object, see IO-Link Configuration Data Ch. x (0x8000 – 0x8FFF).
No check: Validation is deactivated and every device is accepted.
V1.0 Device, no Datastorage: Only devices of IO-Link protocol version V1.0 matching the configured Vendor ID and Device ID are accepted. No data storage, only validation active.
V1.1 Device, no Datastorage: Only devices of IO-Link protocol version V1.1 matching the configured Vendor ID and Device ID are accepted. No data storage, only validation active.
V1.1 Device, Backup + Restore: Only devices of IO-Link protocol version V1.1 matching the configured Vendor ID and Device ID are accepted. The parameter data of the connected device is additionally saved in the network module’s parameter server (remanent memory). As soon as a device requests an upload (upload flag set), or no data is stored yet, the master uploads and backs up the device’s parameter data. If the stored parameter data differs from a newly connected device, the master downloads and restores it to the device.
V1.1 Device, Restore: Only devices of IO-Link protocol version V1.1 matching the configured Vendor ID and Device ID are accepted. The parameter server only downloads and restores previously stored parameter data to the connected device. No upload or backup of new parameter data is performed.
Note
After uploading the parameter data, the Vendor ID and Device ID of the connected IO-Link device remain stored until the data records are deleted.
Validation takes place when the connected IO-Link device is started up. Only an IO-Link device of the same type can be used for data storage.
In order to use a different type of IO-Link device, the content of the parameter server must be deleted. There is no read or write access to the content of the parameter server via EtherCAT.
Upload flag at IO-Link device
Note
Please check whether IO-Link is supported by your module before using this function. For more information on product variants that support IO-Link, see Supported product variants
The upload flag is required in order to overwrite data already saved in the parameter server with new parameter data of the same IO-Link device.
In order to activate the upload flag of an IO-Link device, the value 0x05 must be
entered in the parameterIndex 0x02, Subindex 0.
Failsafe values
If the EtherCAT connection fails or if the EtherCAT status is notOperate, the IO-Link Ports use these values:
If a port is in the IO-Link stateOperate, the process data displayed is switched to invalid.
If Pin 2 or Pin 4 are in the digital output mode, zero (low level) is displayed.
IO-Link parameterization
Note
Please check whether IO-Link is supported by your module before using this function. For more information on product variants that support IO-Link, see Supported product variants
Via the object 0x4000 (ISDU read/write Ch. X), IO-Link ISDU parameters can
be read or written from the IO-Link device. For this purpose, the corresponding
index and subindex must be entered and for writing the corresponding length and
data must be entered. The read or write operation is started via the control
object. The result is displayed in the status object.
Values for the control
Value |
Function |
|---|---|
|
No function |
|
Write |
|
Read |
Values for the status
Value |
Status |
|---|---|
|
No status |
|
Active/Busy |
|
Access |
|
Error |
|
Fail |
Example of CoE setting
This example shows how the index 0x40 of Smartlight (mode) is changed by reading and writing.
Select module.
Open CoE - Online.
Activate the setting Auto Update.
Under Advanced select the setting Online - via SDO Information.
In port, select 4030:0(here channel 4).
Read index by double clicking 4030:0 and specifying the respective index (here 0x0040 64).
In control write the command 0x03.
⇒ Content of the index is read and displayed in data.
Change data, specify length and use the command
0x02.
⇒ The data is written and the parameter is changed in the device.
Acyclic access via AoE
The ETG5001.6220 describes AoE instead of CoE for the ISDU read/write access to IO-Link device parameters. Details on ADS can be found in the Beckhoff TwinCAT documentation and in ETG.1020. In contrast to CoE, AoE permits non-blocking processing.
AoE ISDU access uses these definitions (all are 32 bit):
AoE IndexGroup =
0x0000F302AoE PortNumber =
0x00001000+ IO-Link port number, starting with 0.AoE IndexOffset
16 Bit IO-Link Index
8 Bit always zero
8 Bit IO-Link Subindex
Return error code
16 Bit additional information about the error code, which is 0x0700 (ADS device error).
16 Bit error code via IO-Link
Function blocks ADSREAD and ADSWRITE
Function block ADSREAD in TwinCat
ADSREAD commands
Name |
Type |
Inherited from |
Address |
Initial |
Comment |
|---|---|---|---|---|---|
NETID |
T_AmsNetId |
– |
– |
– |
Ams net id |
PORT |
T_AmsPort |
– |
– |
– |
ADS communication port |
IDXGRP |
UDINT |
– |
– |
– |
Index group |
IDXOFFS |
UDINT |
– |
– |
– |
IndexOffset |
LEN |
UDINT |
– |
– |
– |
Maximum number of the data bytes to be read (LEN ≤ maximum size of target buffer) |
DESTADDR |
PVOID |
– |
– |
– |
Indicator of target buffer |
READ |
BOOL |
– |
– |
– |
Rising edge starts command execution. |
TMOUT |
TIME |
– |
– |
DEFAULT_ADS_TIMEOUT |
Maximum permissible time for the execution of this ADS command |
BUSY |
BOOL |
– |
– |
– |
Busy-Flag |
ERR |
BOOL |
– |
– |
– |
Error-Flag |
ERRID |
UDINT |
– |
– |
– |
ADS error code |
Function block ADSWRITE in TwinCat
ADSWRITE commands
Name |
Type |
Inherited from |
Address |
Initial |
Comment |
|---|---|---|---|---|---|
NETID |
T_AmsNetId |
– |
– |
– |
Ams net id |
PORT |
T_AmsPort |
– |
– |
– |
ADS communication port |
IDXGRP |
UDINT |
– |
– |
– |
Index group |
IDXOFFS |
UDINT |
– |
– |
– |
IndexOffset |
LEN |
UDINT |
– |
– |
– |
Maximum number of the data bytes to be written (LEN ≤ maximum size of source buffer) |
SRCADDR |
PVOID |
– |
– |
– |
Indicator of source buffer |
WRITE |
BOOL |
– |
– |
– |
Rising edge starts command execution. |
TMOUT |
TIME |
– |
– |
DEFAULT_ADS_TIMEOUT |
Maximum permissible time for the execution of this ADS command |
BUSY |
BOOL |
– |
– |
– |
Busy-Flag |
ERR |
BOOL |
– |
– |
– |
Error-Flag |
ERRID |
UDINT |
– |
– |
– |
ADS error code |
Preparation for the web server
EoE set-up
In order to be able to access the web server of the BNI module, access via EoE (Ethernet over EtherCAT) must be configured first.
Select the Advanced Settings… button.
Enter valid DNS name and valid IP address.
Preparing network
Before the web server can be reached via EoE, the network of the Beckhoff control must be configured.
Configuring Beckhoff control
A static IP address must be assigned to both network cards.
On the Beckhoff control select Start > Control panel Network and dial-up connections > PCI…Settings.
Assign IP address.
Under Start > Control Panel > Beckhoff CX Configuration Tool > Miscellaneous activate the setting IP Routing.
EoE and PC networks
For the EoE settings in the Twincat, the IP address of the second network card of the Beckhoff control must be entered as a default gateway.
As a default gateway for the network configuration of the PC, the IP address of the first network card of the Beckhoff control must be entered.
Object directory
The object directory is largely shared across the EtherCAT variants, with a small set of variant-specific objects.
This section is organized by object groups and marks variant-specific behavior explicitly.
Variant coverage overview
Object |
Index |
BNI XG1-505-0A5-R067 |
BNI XG3-302-0B5-R067 |
BNI XG3-302-1B5-Z067 |
BNI XG3-508-0B5-R067 |
BNI XG5-508-0B5-P067 |
BNI XG5-508-0B5-R067 |
BNI XG5-538-0B5-R067 |
BNI XG5-508-1B5-Z067 |
BNI XG5-538-1B5-Z067 |
|---|---|---|---|---|---|---|---|---|---|---|
0x1000 |
✅ |
✅ |
✅ |
✅ |
✅ |
✅ |
✅ |
✅ |
✅ |
|
0x1001 |
✅ |
✅ |
✅ |
✅ |
✅ |
✅ |
✅ |
✅ |
✅ |
|
0x1008 |
✅ |
✅ |
✅ |
✅ |
✅ |
✅ |
✅ |
✅ |
✅ |
|
0x1009 |
✅ |
✅ |
✅ |
✅ |
✅ |
✅ |
✅ |
✅ |
✅ |
|
0x100A |
✅ |
✅ |
✅ |
✅ |
✅ |
✅ |
✅ |
✅ |
✅ |
|
0x1018 |
✅ |
✅ |
✅ |
✅ |
✅ |
✅ |
✅ |
✅ |
✅ |
|
0x10F1 |
✅ |
✅ |
✅ |
✅ |
✅ |
✅ |
✅ |
✅ |
✅ |
|
0x10F3 |
✅ |
✅ |
✅ |
✅ |
✅ |
✅ |
✅ |
✅ |
✅ |
|
0x160n[1] |
✅ |
✅ |
✅ |
✅ |
✅ |
✅ |
✅ |
✅ |
✅ |
|
0x1690 |
✅ |
✅ |
✅ |
✅ |
✅ |
✅ |
✅ |
✅ |
✅ |
|
0x1A0n[1] |
✅ |
✅ |
✅ |
✅ |
✅ |
✅ |
✅ |
✅ |
✅ |
|
0x1C00 |
✅ |
✅ |
✅ |
✅ |
✅ |
✅ |
✅ |
✅ |
✅ |
|
0x1C12 |
✅ |
✅ |
✅ |
✅ |
✅ |
✅ |
✅ |
✅ |
✅ |
|
0x1C13 |
✅ |
✅ |
✅ |
✅ |
✅ |
✅ |
✅ |
✅ |
✅ |
|
0x1C32 |
✅ |
✅ |
✅ |
✅ |
✅ |
✅ |
✅ |
✅ |
✅ |
|
0x1C33 |
✅ |
✅ |
✅ |
✅ |
✅ |
✅ |
✅ |
✅ |
✅ |
|
0x60n0[2] |
✅ |
✅ |
✅ |
✅ |
✅ |
✅ |
✅ |
✅ |
✅ |
|
0x70n0[2] |
✅ |
✅ |
✅ |
✅ |
✅ |
✅ |
✅ |
✅ |
✅ |
|
0xF700 |
✅ |
✅ |
✅ |
✅ |
✅ |
✅ |
✅ |
✅ |
✅ |
|
0xF000 |
✅ |
✅ |
✅ |
✅ |
✅ |
✅ |
✅ |
✅ |
✅ |
|
0xF030 |
✅ |
✅ |
✅ |
✅ |
✅ |
✅ |
✅ |
✅ |
✅ |
|
0xF050 |
✅ |
✅ |
✅ |
✅ |
✅ |
✅ |
✅ |
✅ |
✅ |
|
0xF500 |
✅ |
✅ |
✅ |
✅ |
✅ |
✅ |
✅ |
✅ |
✅ |
|
0xF501 |
✅ |
✅ |
✅ |
✅ |
✅ |
✅ |
✅ |
✅ |
✅ |
|
0xF502 |
✅ |
✅ |
✅ |
✅ |
✅ |
✅ |
✅ |
✅ |
✅ |
|
0xF503 |
✅ |
✅ |
✅ |
✅ |
✅ |
✅ |
✅ |
✅ |
✅ |
|
0xF511 |
✅ |
✅ |
✅ |
✅ |
✅ |
✅ |
✅ |
✅ |
✅ |
|
0x40n0[2] |
✅ |
❌ |
❌ |
✅ |
✅ |
✅ |
✅ |
✅ |
✅ |
|
0x80n0[2] |
✅ |
❌ |
❌ |
✅ |
✅ |
✅ |
✅ |
✅ |
✅ |
|
0x80n8[2] |
✅ |
❌ |
❌ |
✅ |
✅ |
✅ |
✅ |
✅ |
✅ |
|
0x80n0[2] |
❌ |
✅ |
✅ |
❌ |
❌ |
❌ |
❌ |
❌ |
❌ |
|
0x80n8[2] |
❌ |
✅ |
✅ |
❌ |
❌ |
❌ |
❌ |
❌ |
❌ |
|
0x90n0[2] |
✅ |
❌ |
❌ |
✅ |
✅ |
✅ |
✅ |
✅ |
✅ |
|
0xA0n0[2] |
✅ |
❌ |
❌ |
✅ |
✅ |
✅ |
✅ |
✅ |
✅ |
|
0xF100 (TxPDO 0x1A80[3]) |
✅ |
❌ |
❌ |
✅ |
✅ |
✅ |
✅ |
✅ |
✅ |
|
0xF101 (TxPDO 0x1A81[3]) |
✅ |
❌ |
❌ |
✅ |
✅ |
✅ |
✅ |
✅ |
✅ |
|
0x1A90 |
✅ |
✅ |
✅ |
✅ |
✅ |
✅ |
✅ |
✅ |
✅ |
|
0x1A91 |
✅ |
✅ |
✅ |
✅ |
✅ |
✅ |
✅ |
✅ |
✅ |
|
0x1A92 (object 0x10F3:04) |
✅ |
✅ |
✅ |
✅ |
✅ |
✅ |
✅ |
✅ |
✅ |
|
0x1A93 (object 0x10F8:00) |
✅ |
✅ |
✅ |
✅ |
✅ |
✅ |
✅ |
✅ |
✅ |
|
0xF510 |
❌ |
❌ |
❌ |
❌ |
❌ |
❌ |
✅ |
❌ |
✅ |
Note
Object naming is identical across variants wherever possible. Index and subindex definitions for a concrete product code always follow the corresponding ESI.
Device type (0x1000)
This generic CoE object applies to all variants.
Subindex |
Name |
DataType |
Access |
|---|---|---|---|
0x00 |
Device type |
UDINT |
RO |
Error register (0x1001)
This generic CoE object applies to all variants.
Subindex |
Name |
DataType |
Access |
|---|---|---|---|
0x00 |
Error register |
USINT |
RO |
Device Name (0x1008)
This generic CoE object applies to all variants.
Subindex |
Name |
DataType |
Access |
|---|---|---|---|
0x00 |
Device Name |
STRING(20) |
RO |
Hardware Version (0x1009)
This generic CoE object applies to all variants.
Subindex |
Name |
DataType |
Access |
|---|---|---|---|
0x00 |
Hardware Version |
STRING(5) |
RO |
Software Version (0x100A)
This generic CoE object applies to all variants.
Subindex |
Name |
DataType |
Access |
|---|---|---|---|
0x00 |
Software Version |
STRING(5) |
RO |
Identity Object (0x1018)
This generic CoE object applies to all variants.
Subindex |
Name |
DataType |
|---|---|---|
0x00 |
Number of entries |
USINT |
0x01 |
Vendor ID |
UDINT |
0x02 |
Product Code |
UDINT |
0x03 |
Revision Number |
UDINT |
0x04 |
Serial number |
UDINT |
Error Settings (0x10F1)
This generic CoE object applies to all variants.
Subindex |
Name |
DataType |
|---|---|---|
0x00 |
Number of entries |
USINT |
0x01 |
Local Error Reaction |
UDINT |
0x02 |
Sync Error Counter Limit |
UINT |
Diagnosis History (0x10F3)
This generic CoE object applies to all variants.
Subindex |
Name |
DataType |
|---|---|---|
0x00 |
Number of entries |
USINT |
0x01 |
Maximum Messages |
USINT |
0x02 |
Newest Message |
USINT |
0x03 |
Newest Acknowledged Message |
USINT |
0x04 |
New Messages Available |
BOOL |
0x05 |
Flags |
UINT |
Subindex 0x04 (New Messages Available) is also mapped to the process data via Map TxPDO New Messages Available (0x1A92).
RxPDO mapping Ch. x (0x160n)
This generic mapping object links the channel-specific slot module to the raw process data object Output Data Ch. x and applies to all variants.
Index |
Name |
Access |
|---|---|---|
0x160n[1] |
RxPDO mapping of Ch. x |
RO |
RxPDO mapping of Output Pin 2 (0x1690)
This generic mapping object applies to all variants.
Index |
Name |
Access |
|---|---|---|
0x1690 |
RxPDO mapping of Output Pin 2 |
RO |
TxPDO mapping Ch. x (0x1A0n)
This generic mapping object links the channel-specific slot module to the raw process data object Input Data Ch. x and applies to all variants.
Index |
Name |
Access |
|---|---|---|
0x1A0n[1] |
TxPDO mapping of Ch. x |
RO |
Sync manager type (0x1C00)
Sync manager objects are configured automatically by the EtherCAT master during PDO assignment and normally do not need to be accessed directly.
Index |
Name |
|---|---|
0x1C00 |
Sync manager type |
SyncManager 2 Assign / RxPDO (0x1C12)
Sync manager objects are configured automatically by the EtherCAT master during PDO assignment and normally do not need to be accessed directly.
Index |
Name |
|---|---|
0x1C12 |
SyncManager 2 Assign (RxPDO) |
SyncManager 3 Assign / TxPDO (0x1C13)
Sync manager objects are configured automatically by the EtherCAT master during PDO assignment and normally do not need to be accessed directly.
Index |
Name |
|---|---|
0x1C13 |
SyncManager 3 Assign (TxPDO) |
SM output parameter (0x1C32)
Sync manager objects are configured automatically by the EtherCAT master during PDO assignment and normally do not need to be accessed directly.
Index |
Name |
|---|---|
0x1C32 |
SM output parameter |
SM input parameter (0x1C33)
Sync manager objects are configured automatically by the EtherCAT master during PDO assignment and normally do not need to be accessed directly.
Index |
Name |
|---|---|
0x1C33 |
SM input parameter |
Input Data Ch. x (0x60n0)
This object holds the raw input process data for each channel, referenced by TxPDO mapping Ch. x (0x1A0n).
Index |
Name |
DataType |
Access |
|---|---|---|---|
0x60n0[2] |
Input Data Ch. x |
See ESI |
RO |
Output Data Ch. x (0x70n0)
This object holds the raw output process data for each channel, referenced by RxPDO mapping Ch. x (0x160n).
Index |
Name |
DataType |
Access |
|---|---|---|---|
0x70n0[2] |
Output Data Ch. x |
See ESI |
RW |
Output Pin 2 (0xF700)
This generic CoE object applies to all variants.
Index |
Name |
DataType |
Access |
|---|---|---|---|
0xF700 |
Output Pin 2 |
BITARR8 |
RO |
Modular Device Profile (0xF000)
This generic CoE object applies to all variants.
Index |
Name |
Access |
|---|---|---|
0xF000 |
Modular Device Profile |
RO |
Configured Module Ident List (0xF030)
This generic CoE object applies to all variants.
Index |
Name |
Access |
|---|---|---|
0xF030 |
Configured Module Ident List |
RW |
Detected Module Ident List (0xF050)
This generic CoE object applies to all variants.
Index |
Name |
Access |
|---|---|---|
0xF050 |
Detected Module Ident List |
RO |
Firmware Build Information (0xF500)
This generic CoE object applies to all variants.
Index |
Name |
Access |
|---|---|---|
0xF500 |
Firmware Build Information |
RO |
Product Identification (0xF501)
This generic CoE object applies to all variants.
Index |
Name |
Access |
|---|---|---|
0xF501 |
Product Identification |
RO |
Fieldbus Information (0xF502)
This generic CoE object applies to all variants.
Index |
Name |
Access |
|---|---|---|
0xF502 |
Fieldbus Information |
RW |
Module Reboot (0xF503)
This generic CoE object applies to all variants.
Index |
Name |
Access |
|---|---|---|
0xF503 |
Module Reboot |
RW |
IOT Settings (0xF511)
This generic CoE object applies to all variants.
Index |
Name |
Access |
|---|---|---|
0xF511 |
IOT Settings |
RW |
Map TxPDO input pin 2 (0x1A90)
Index |
Subindex |
Name |
DataType |
Access |
|---|---|---|---|---|
0xF600 |
0x00 |
Input Pin 2 |
BITARR8 |
RO |
Map TxPDO pin 4 (0x1A0n)
Index range |
Subindex |
Name |
DataType |
Access |
|---|---|---|---|---|
0x6xxx |
module-specific |
Module-specific TxPDO input data (pin 4 mapping) |
Variable, see ESI module |
RO |
0x7xxx |
module-specific |
Module-specific RxPDO output data (pin 4 mapping) |
Variable, see ESI module |
RW |
The following index range applies in a modular EtherCAT device:
0x6xxx is a module-specific input range for TxPDO data.
0x7xxx is a module-specific output range for RxPDO data.
IO-Link data is up to 32 bytes for input and output.
If a connection is configured as a digital input or digital output, the value of pin 4 is mapped to data byte 0, bit 0.
Map TxPDO PowerStatus (0x1A91)
Index |
Subindex |
Name |
DataType |
Access |
|---|---|---|---|---|
0xF601 |
0x01 |
Global status, see Global status values (Subindex 0x01) |
UINT8 |
RO |
0x02 |
Short circuit in the sensor supply; one bit for each port |
UINT8 |
RO |
|
0x03 |
Short circuit at pin 4 of the actuator supply, one bit for each port |
UINT8 |
RO |
|
0x04 |
Short circuit at pin 2 of the actuator supply, one bit for each port |
UINT8 |
RO |
Global status values (Subindex 0x01)
Bit |
Description |
|---|---|
0 |
Sensor supply low (1 = low, 0 = OK) |
1 |
Actuator supply low (1 = low, 0 = OK) |
Map TxPDO New Messages Available (0x1A92)
Index |
Subindex |
Name |
DataType |
Access |
|---|---|---|---|---|
0x10F3 |
0x04 |
New Messages Available |
BOOL |
RO |
Map TxPDO Timestamp (0x1A93)
Index |
Subindex |
Name |
DataType |
Access |
|---|---|---|---|---|
0x10F8 |
0x00 |
Timestamp Object |
ULINT |
RO |
ISDU read/write Ch. x (0x4000 – 0x4FFF)
Note
Please check whether IO-Link is supported by your module before using this function. For more information on product variants that support IO-Link, see Supported product variants
Index |
Sub-index |
Name |
DataType |
Access |
|---|---|---|---|---|
0x40n0 |
0x00 |
Number of entries |
UINT8 |
RO |
0x01 |
Control |
UINT8 |
RW |
|
0x02 |
Status |
UINT8 |
RO |
|
0x03 |
Index |
UINT16 |
RW |
|
0x04 |
Subindex |
UINT8 |
RW |
|
0x05 |
Length |
UINT8 |
RW |
|
0x06 |
Data |
ARRAY [0…231] OF BYTE |
RW |
|
n = 0…7 |
0x07 |
Error Code |
UINT16 |
RW |
Control values (Subindex 0x01)
Value (UINT8) |
Function |
|---|---|
0 |
no control action |
2 |
write |
3 |
read |
Status values (Subindex 0x02)
Value (UINT8) |
Status |
|---|---|
0 |
no activity |
1 |
busy |
2 |
success |
4 |
error |
0xFF |
failure |
IO-Link Configuration Data Ch. x (0x8000 – 0x8FFF)
Note
Please check whether IO-Link is supported by your module before using this function. For more information on product variants that support IO-Link, see Supported product variants
Index |
Sub-index |
Name |
DataType |
Access |
Value/Description |
|---|---|---|---|---|---|
0x80n0, n = 0…7 |
0x00 |
Number of entries |
USINT |
RO |
|
0x04 |
Device ID |
UDINT |
RW |
||
0x05 |
Vendor ID |
UDINT |
RW |
||
0x20 |
IO-Link Revision |
USINT |
RW |
0x10 or 0x11 |
|
0x21 |
Reserved for Frame Capability |
USINT |
RW |
Not in use |
|
0x22 |
Cycle Time |
USINT |
RW |
Cycle time |
|
0x23 |
Reserved for Offset Time |
USINT |
RW |
Not in use |
|
0x24 |
Process Data In Length |
USINT |
RW |
Maximum length |
|
0x25 |
Process Data Out Length |
USINT |
RW |
Maximum length |
|
0x26 |
Reserved for Compatible ID |
UINT |
RW |
Not in use |
|
0x27 |
Reserved |
UINT |
RW |
Not in use |
|
0x28 |
Master Control |
UINT |
RW |
Additional IO-Link Configuration Data Ch. x (IO-Link variants)
Note
Please check whether IO-Link is supported by your module before using this function. For more information on product variants that support IO-Link, see Supported product variants
Index |
Sub-index |
Name |
DataType |
Access |
Value/Description |
|---|---|---|---|---|---|
0x80n8, n = 0…7 |
0x00 |
Number of entries |
USINT |
RO |
|
0x01 |
Validation and Backup |
USINT |
RW |
See values below |
|
0x02 |
IQ Behavior |
USINT |
RW |
See values below |
Values for Validation and Backup (Subindex 0x01)
Value |
Function |
|---|---|
0 |
No check |
1 |
V1.0 Device, no Datastorage |
2 |
V1.1 Device, no Datastorage |
3 |
V1.1 Device, Backup + Restore |
4 |
V1.1 Device, Restore |
Values for IQ Behavior (Subindex 0x02)
Value |
Function |
|---|---|
0 |
Deactivated |
1 |
Digital Input |
2 |
Digital Output |
5 |
Power |
Available values depend on the port hardware.
Configuration Data Ch. x (XG3-302)
Index |
Sub-index |
Name |
DataType |
Access |
Value/Description |
|---|---|---|---|---|---|
0x8000, 0x8010, …, 0x8070 |
0x01 |
Pin 4 Behavior |
UINT8 |
RW |
One object per channel (Ch.1 … Ch.8) |
Additional Configuration Data Ch. x (XG3-302)
This object group contains additional channel-specific configuration.
Index |
Sub-index |
Name |
DataType |
Access |
Value/Description |
|---|---|---|---|---|---|
0x8008, 0x8018, …, 0x8078 |
0x01 |
Pin 2 Behavior |
UINT8 |
RW |
One object per channel (Ch.1 … Ch.8) |
IO-Link Information Data Ch. x (0x9000 – 0x9FFF)
Note
Please check whether IO-Link is supported by your module before using this function. For more information on product variants that support IO-Link, see Supported product variants
Index |
Subindex |
Name |
DataType |
Access |
|---|---|---|---|---|
0x90n0, n = 0…7 |
0x04 |
Device ID |
UINT32 |
RO |
0x05 |
Vendor ID |
UINT32 |
RO |
|
0x20 |
IO-Link revision |
UINT8 |
RO |
|
0x22 |
Min Cycle Time |
UINT8 |
RO |
|
0x24 |
Process Data In Length |
UINT8 |
RO |
|
0x25 |
Process Data Out Length |
UINT8 |
RO |
IO-Link Diagnosis Data Ch. x (0xA000 – 0xAFFF)
Note
Please check whether IO-Link is supported by your module before using this function. For more information on product variants that support IO-Link, see Supported product variants
Index |
Subindex |
Name |
DataType |
Access |
|---|---|---|---|---|
0xA0n0, n = 0…7 |
0x01 |
IO-Link state |
UINT8 |
RO |
0x02 |
Lost Frames |
UINT8 |
RO |
Values for IO-Link state (Subindex 0x01)
Value |
Status of IO-Link Port |
|---|---|
0 |
Deactivated |
1 |
Digital Input |
2 |
Digital Output |
3 – 7 |
Reserved |
8 |
IO-Link Operate |
9 |
IO-Link Stop |
Values for Lost Frames (Subindex 0x02)
This parameter counts lost IO-Link Frames (M sequence repeats).
Two repeat attempts are generally added when changing the device. This value is only reset to zero during the start. The value is updated regularly, for example once a second.
IO-Link Status Data Ch. x (0xF100)
Note
Please check whether IO-Link is supported by your module before using this function. For more information on product variants that support IO-Link, see Supported product variants
Index |
Subindex |
Name |
DataType |
Access |
|---|---|---|---|---|
0xF100 |
0x01 |
Status of IO-Link Port 1 |
UINT8 |
RO |
0x02 |
Status of IO-Link Port 2 |
UINT8 |
RO |
|
0x03 |
Status of IO-Link Port 3 |
UINT8 |
RO |
|
0x04 |
Status of IO-Link Port 4 |
UINT8 |
RO |
|
0x05 |
Status of IO-Link Port 5 |
UINT8 |
RO |
|
0x06 |
Status of IO-Link Port 6 |
UINT8 |
RO |
|
0x07 |
Status of IO-Link Port 7 |
UINT8 |
RO |
|
0x08 |
Status of IO-Link Port 8 |
UINT8 |
RO |
The CoE object Device Status (0xF100) is mapped as TxPDO mapping of status data (TxPDO 0x1A80) to the process data.
IO-Link Port Qualifier Ch. x (0xF101)
Note
Please check whether IO-Link is supported by your module before using this function. For more information on product variants that support IO-Link, see Supported product variants
Index |
Subindex |
Name |
DataType |
Access |
|---|---|---|---|---|
0xF101 |
0x01 |
Port Qualifier Port 1 |
UINT8 |
RO |
0x02 |
Port Qualifier Port 2 |
UINT8 |
RO |
|
0x03 |
Port Qualifier Port 3 |
UINT8 |
RO |
|
0x04 |
Port Qualifier Port 4 |
UINT8 |
RO |
|
0x05 |
Port Qualifier Port 5 |
UINT8 |
RO |
|
0x06 |
Port Qualifier Port 6 |
UINT8 |
RO |
|
0x07 |
Port Qualifier Port 7 |
UINT8 |
RO |
|
0x08 |
Port Qualifier Port 8 |
UINT8 |
RO |
The CoE object Port Qualifier (0xF101) is mapped as TxPDO mapping of port qualifier (TxPDO 0x1A81) to the process data.
Port qualifier bits
Bit |
Description |
4 |
PortActive / Port activated 1 = Port can be used. 0 = Port deactivated. |
5 |
DevCom / device is ready for operation 1 = Device detected and in status Operate. 0 = Everything else. |
6 |
DevErr / device error 1 = Error occurred (validation error, short circuit, etc.). 0 = OK. |
7 |
PQ / validity of input data of IO-Link device 1 = Valid. 0 = Invalid. |
Module Settings (0xF510)
Using CoE object 0xF510 (Module Settings), it is possible to modify the output power loss behavior.
This setting is only available for the XG5-538-…-variants.
Index |
Subindex |
Name |
DataType |
Access |
Value/Description |
|---|---|---|---|---|---|
0xF510 |
0x00 |
Number of entries |
USINT |
RO |
|
0x01 |
Output Powerloss Behavior |
USINT |
RW |
See values below |
The parameter defines what happens to active outputs on Pin 2 and Pin 4 when UA voltage is lost.
Value 0 – US Outputs shutdown on UA powerloss
All active outputs on Pin 2 and Pin 4 are automatically switched off in the event of a UA voltage drop. This matches the behavior of a XG5-508-… master, even though Pin 2 and Pin 4 of Class A output ports are supplied by US, and Pin 4 of Class B ports are supplied by UA.
Value 1 – Hardware Defined
US powered outputs will not be switched off in the event of a UA voltage drop. All outputs remain in their current state. Only Class B Pin 2 outputs are physically supplied by UA and will therefore be shut down.
First step
Second step
Note
Only available for the XG5-538-… variants.
Configuration without ESI
Note
Please check whether IO-Link is supported by your module before using this function. For more information on product variants that support IO-Link, see Supported product variants
The ports can also be configured without integration of an ESI. For this, the master control and the respective length of the process data must be set in the object 0x8000.
Values for the master control (80X0:28)
Value |
Function |
|---|---|
0x0000 |
Deactivated |
0x0001 |
Port in Standard Input |
0x0002 |
Port in Standard Output |
0x0003 |
Port in IO-Link mode |
0x0005 |
Power |
Note
Automatic Shutdown of Pin 1 Power on Port Deactivation:
If a port is configured to deactivate Pin 2 and Pin 4, the power supply on Pin 1 is automatically shut down.
Process data length
IO-Link Ports
Byte |
Length of data |
|---|---|
1 Byte |
0x08 |
2 Byte |
0x16 |
4 Byte |
0x83 |
6 Byte |
0x85 |
8 Byte |
0x87 |
10 Byte |
0x89 |
16 Byte |
0x8F |
24 Byte |
0x97 |
32 Byte |
0x9F |
Standard input/output ports
0x01
Example
MasterControl = 3 –> IO-Link |
||||
|---|---|---|---|---|
IO-Link size |
Process Data In Length |
Process Data Out Length |
||
Hex |
Dec |
Hex |
Dec |
|
IOL_l_1byte |
0x08 |
8 |
0x00 |
0 |
IOL_l_2byte |
0x16 |
22 |
0x00 |
0 |
IOL_l_4byte |
0x83 |
131 |
0x00 |
0 |
IOL_l_6byte |
0x85 |
133 |
0x00 |
0 |
IOL_l_8byte |
0x87 |
135 |
0x00 |
0 |
IOL_l_10byte |
0x89 |
137 |
0x00 |
0 |
IOL_l_16byte |
0x8F |
143 |
0x00 |
0 |
IOL_l_24byte |
0x97 |
151 |
0x00 |
0 |
IOL_l_32byte |
0x9F |
159 |
0x00 |
0 |
IOL_l_1byte/0_1bytes |
0x08 |
8 |
0x08 |
8 |
IOL_l_2byte/0_2bytes |
0x16 |
22 |
0x16 |
22 |
IOL_l_2byte/0_4bytes |
0x16 |
22 |
0x83 |
131 |
IOL_l_4byte/0_4bytes |
0x83 |
131 |
0x83 |
131 |
IOL_l_4byte/0_2bytes |
0x83 |
131 |
0x16 |
22 |
IOL_l_2byte/0_8bytes |
0x16 |
22 |
0x87 |
135 |
In the start-up the configuration for Port 6 in IO-Link mode with 32 Byte process data length for input and output looks as follows: