Profinet integration
Configuration
When planning Profinet devices, a device is mapped as a modular system, which has a headslot and several data modules.
GSDML file
Note
The GSDML files are available in two languages at www.balluff.com .
The device data required for project planning is stored in Generic Station Description Markup Language (GSDML) files. The data modules of a network module are displayed in the project planning software itemized by subslots.
The GSDML file provides the possible data modules (input or output of different data widths). To configure the network modules, the corresponding data modules are assigned to a subslot.
Note
Outdated GSDML versions may not be compatible with the latest FW version.
Integrating a module
The device can be found in the catalog via the search function and pulled into the Profinet string via drag & drop (see Integrating a module).
The BNI PNT… module with the PN-IO, Port 1-M12 and Port 2-M12 sub-modules are used for Profinet communication.
In X1 PN-IO, functions such as prioritized startup or the domains for the ring topology can be selected.
Slot 1 is reserved for IO-Link. The following submodules can be inserted in the eight submodules below:
IO-Link
Digital Input (DI)
Digital Output (DO)
Port deactivated
Only the IO-Link headslot is plugged in by default. The submodules are free.
Hardware configuration
The remaining submodules can, if necessary, be pulled into the configuration table from the hardware catalog using drag & drop and must be configured in accordance with the configuration of the headslot.
Addressing modules
After double-clicking on the submodules, the addressing can be changed in the Addresses window.
Configuring the network module
The ports 1…8 are reserved for the IO-Link Ports.
In accordance with the process data length of the IO-Link device, select a matching network module in the catalog and drag it to the corresponding slot using drag & drop.
The process data length required by the device can be found in the manual for the IO-Link device.
Port Qualifier (PQI)
Network modules are available with and without PQI. The PQI is 1 byte long and contains various information about the respective port status. This information can be found at the end of the input data of the submodule of a port for each bit.
Bit 7 |
Bit 6 |
Bit 5 |
Bit 4 |
Bit 3 |
Bit 2 |
Bit 1 |
Bit 0 |
|---|---|---|---|---|---|---|---|
Device Process Data validity |
Port/Device error indication |
Device communication |
Port operation ( |
Reserved ( |
Reserved ( |
Reserved ( |
Reserved ( |
PQ |
DevErr |
DevCom |
Port active |
- |
- |
- |
- |
IO-Link submodules without PQI save 1 byte. The information which the PQI contains can currently not be replaced with another submodule. Submodules which contain this information (e.g. PD Valid, Pin2/4, etc.), will be added in the future.
The flags have the following meaning:
- PQ
Value
Description
0
Process data from device invalid
1
Process data from device valid
- DevErr
Value
Description
0
No errors/warnings
1
Errors/warnings occurred.
- DevCom
Value
Description
0
No device available
1
Device available
- PortActive
Value
Description
0
Port deactivated.
1
Port activated.
Configuring digital input and digital output
In order to configure the port pins to input or output, the corresponding submodule Digital Input or Digital Output must be dragged to the port. Input/Output are always configured to Pin 4 of the port. Pin 2 must be manually configured in the module parameters of the port properties.
The inputs and outputs can be mapped either to the network module 1 (see Network module 1) or to the submodules Input-Pin 2/4 or Output-Pin 2/4 in slot 3.
Note
XG1 devices have no outputs to Pin 2.
To save the two bytes in the network module, there is a second network module without IO data. If this is used, the inputs and outputs can be mapped to the corresponding submodules in slot 3.
If the network module has been inserted with IO data, the submodules Input-Pin 2/4 and Output-Pin 2/4 can be inserted in slot 3 but the output module has no function. Only the configuration of the ports in slot 1 is valid. The inputs are also always displayed at slot 3.
Note
The following modules can only be plugged in if the Extended Modules module is plugged into slot 2.
Disable IO-Link diagnosis
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
If this function is configured, the IO-Link diagnosis remains activated for all ports and can be deactivated for the desired ports by setting the bit for the respective port.
IO-Link communication
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
Bit status for each IO-Link port, i.e. feedback on whether communication has been established.
IO-Link PD Valid
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
Bit status for each IO-Link Port, i.e. feedback whether the process data at the corresponding port are set to Valid.
Note
Bit 0 … 7 corresponds to the port designations Port 1 … 8.
Deactivating diagnostic messages
The Diagnostics Deactivated module allows various diagnostic messages sent by the module to be suppressed.
To deactivate the diagnostic messages:
Plug the Diagnosis Disable module into the extended modules (see Configurations of the Diagnosis Disable module).
The table below shows the individual bits fields and their possible values.
Pending diagnostics can be deleted at runtime by toggling the bit.
Configuring device
After double-clicking on the module in the Profinet string, the communication parameters of the module are displayed.
Assign IP address
The IP address is configured under IP Protocol.
Establishing a device connection
In theDevice overview, right-click on the module and select Assign device name.
The identification takes place via the MAC address or via the Flash LED function. This function causes the SF-LED on the module to flash three times at a frequency of 1 Hz.
Assigning the device name
Assign the desired device name and assign it to the selected, found device by clicking on Assign name.
Note
The device name must match the name that was previously configured (see chapter Configuring device ).
Completing the configuration
Download the configuration into the module parameterization.
⇒ The bus error should be reset at the module.
If the module continues to report a bus error, this could be because the device relationship has not been established. The following remedies are possible:
Via Target system > Ethernet > Ethernet subscriber > Browse, scan the network and check whether the device is reporting under the correct device name and IP address.
If necessary, change the IP address or the device name.
Assign the device name to the device again and download the configuration.
IO-Link 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
Port configuration settings
In the network module properties, the IO-Link parameters of the respective port can be changed.
Note
IO-Link configuration:
If the connected IO-Link device provides outputs, Pin 2 at the corresponding port must be configured as an output (see Port Qualifier (PQI)). Does not apply to XG1 devices.
The following settings can be made:
- Enable port diagnostics
Activates or deactivates the diagnostic messages of the port (static muting).
- Configure process alarms
Maps single-shot events (notifications) to process alarms.
- Activate input fraction
Checks the PD size of the device against the PD size of the plugged module.
Note
Only affects PD inputs. PD output size is always checked.
- Enable Pull/Plug
Blocks the call of module OB82 (diagnosis alarm) or enables it.
- Port mode
Defines the mode of the port.
The following settings are possible:
Deactivated: Switches the port off.
Auto Config: Activates IO-Link and the data exchange between master and device.
Set Port Config: Enables some settings to be changed manually, e.g.Cycle Time.
Note
Set Port Config must be activated to enable validation and back-up (data storage).
- Validation and backup
Validation and backup are used to identify specific or individual device types with which a data exchange should take place.
The following settings are possible:
No Device Check: Validation is deactivated and every device is accepted.
Compatibility Device V1.0: Only devices according to IOL specification 1.0 are accepted. No data storage, only validation active.
Compatibility Device V1.1: Only devices according to IOL specification 1.1 are accepted. No data storage, only validation active.
Compatibility Device V1.1 Backup and recovery: Only devices according to IOL specification 1.1 are accepted. Data storage with upload and download, with validation.
Compatibility Device V1.1 Recovery: Only devices according to IOL specification 1.1 are accepted. Data storage only with download (Master to Device), with validation.
- Port Class / Pin2 behavior
Defines the behavior of pins.
The following settings are possible:
Class A / NC: Pin 2: Deactivated
Class A / DI: Pin 2: Digital input
Class A / DO: Pin 2: Digital output
Class A / Power = actuator supply/continuous voltage on pin 2
Class B / NC: Pin 2: Deactivated
Class B / DI: Pin 2: Digital input
Class B / DO: Pin 2: Digital output
Class B / Power: actuator supply/continuous voltage on pin 2
Note
The Pin 4 behavior is specified by the plugged submodule.
Note
Class B only available for devices with Class B property.
- Cycle Time
Makes it possible to influence the IO-Link communication speed.
The cycle time can be adjusted using the scroll-down menu.
- Port class
The plugged submodule for Pin 4 / Pin 2 behavior is always the configuration for Pin 4.
In addition, NC (Not connected), DI, DO or Power can be selected for pin 2.
- Settings for Pin 4 / Pin 2 behavior
The following settings are possible:
Class A / NC: Defines Pin 4 as digital input / disables Pin 2.
Class A / DI: Defines Pin 4 and Pin 2 as digital input.
Class A / DO: Defines Pin 4 as digital input and Pin 2 as digital output.
Class A / Power: Continuous voltage on pin 2.
Note
Configuration using pin 4 digital input as an example.
Function module
To be able to write or read out the ISDU data of connected IO-Link devices during operation, the common programming interfaces of the control manufacturers provide corresponding function modules or libraries.
- REQ
Use Request to start the action in order to write or read data.
- ID
The ID is permanently declared by the master via the hardware configuration.
This can be found under System constants in the hardware identification.Select the hardware ID of the module IO-Link_I_O_Ports_1~BALLUFF_….
- CAP Value
This is assigned by the manufacturer. For Balluff products, it is the value 0xB400.
- Read/Write
The command is defined here. To read data, it must be a 0; to write data, it must be a 1.
- Port
Here you select the port to which the device has been connected. The master counts as 0 and the ports are counted from 1…8.
- Index
This is the index of the IO-Link subscriber being read out or written. This can be found in the user’s guide for the IO-Link device.
- SubIndex
The sub-index is defined by the data to be processed. This can also be found in the operating instructions for the connected IO-Link device.
- LEN
This is the length of the data. This can also be found in the parameter data in the user’s guide for the IO-Link device.
- RECORD_IOL_DATA
A data module is used for communication. The structure must be established in Array of Bytes. The data to be changed is written into this array.
- DONE_VALID
Confirms the successful request to read or write data.
- BUSY
Shows the working state of the module.
- ERROR
If an error occurs in the function, it is reported here.
- STATUS
Error status of the function
- IOL_STATUS
Describes the current status or an error.
- RD_LEN
Shows how many bytes were read by the module.
The IOL_Call function module composes a telegram that is transferred to the master via acyclic services. The following settings are required for this:
Diagnosis address |
CAP access |
|---|---|
The diagnosis address of module IO-Link_I_O_Ports_1~BALLUFF… is used. |
0xB400 |
The telegram set-up is described in the table below.
| Range | Size in bytes | Value | Definition |
| Call – Header | 1 | 0x08 | 0x08 for Call, fix |
| 1 | 0 | IOL Master | |
| 1…63 | Port number | ||
| 64…255 | reserved | ||
| 2 | 65098 | FI_Index, IO-Link Header is following | |
| IO-Link Header | 1 | 0…255 | Task |
| 2 = Write | |||
| 3 = Read | |||
| 2 | 0…32767 | IO-Link Index | |
| 65535 | Port Function | ||
| 1 | 0…255 | IO-Link Subindex | |
| Data range | 232 | Range of data to be written or read |
Read
To be able to read out data, the master must be sent a read task for the corresponding slot/index/subindex.
For this, the telegram must be adapted accordingly (slot, index) and entered at Task 0x03 for reading. The telegram can then be sent to the corresponding module via write command.
The module reads the data from the IO-Link device.
The data can be fetched by reading with the same telegram.
Write
To be able to write data, the network module must be sent a write task for the corresponding slot/index/subindex.
For this, the telegram must be adapted accordingly (slot, index) and entered at Task 0x02 for writing. The telegram can then be sent to the corresponding module via write command.
Ring topology
The network module also supports the ring topology with media redundancy, which is enabled via the Media Redundancy Protocol (MRP). For this, the module and the MRP master (Managed Switch, CPU, etc.) must be in the same topology instance.
With the ring topology, it is possible to establish a redundant system. I.e. in normal operation, one side of the ring line from the MRP master is deactivated. If the
line is damaged or capped at one place in the ring, the deactivated branch is activated again and there are two linear topologies.
Activating ring topology
Set the media redundancy role to Client (the default setting is Non-subscriber).
To ensure uninterrupted operation, the watchdog time should be greater than 200 milliseconds, as the MRP master requires some time to activate the second line. If the watchdog time is less than the switching time of the MRP master, this will cause a communication breakdown.
The watchdog time is calculated from the “Update time” and the Accepted update cycles without IO data factor.
Device replacement without exchangeable medium
The modules also support simple device replacement in LLDP mode (Link Layer Discovery Protocol).
Activating device replacement without exchangeable medium
In the CPU hardware configuration, activate the Support device replacement without exchangeable medium checkbox.
Create the Profinet topology in the hardware configuration.
Note
The connections of the individual ports must match the hardware wiring. If the topology in the hardware configuration is not a match, errors can occur.
ISDU parameterization via GSDML
With ISDU parameterization via GSDML, the connected IO-Link devices can be configured via the parameters of the corresponding submodules when establishing a connection with Profinet.
The parameters are transferred when the BNI establishes the connection with the controller and are then forwarded directly to the corresponding IO-Link devices as ISDU write accesses. When an IO-Link device is unplugged and plugged in, the ISDU parameters configured in advance and transmitted by the controller are written again.
Carry out ISDU parameterization
Plug an IOL submodule into slot 1 of the desired port.
Insert the ISDU parameter configuration module into slot 3.
Select the corresponding submodule to define the maximum number of ISDU parameters that can be written to the corresponding port.
The assignment position submodule = port number applies, e.g. slot 3/subslot 3 = Port 2 (see Assignment position submodule = port number).
Enter the ISDU parameters in the corresponding fields.
Note
Regardless of the submodule used, only the parameters that are entered are written to the IO-Link device (condition: length > 0). When the connection is established, all parameters are transferred to the BNI.
Example
ISDU 64 parameter is plugged in and 5 ISDU parameters are described.
All 64 parameters are transferred when the connection is established.
Only the 5 described ISDU parameters are transferred to the device.
Set ISDU parameterization
The following settings exist for the ISDU parameterization:
Reset to factory defaults: Resets the ISDU parameters to factory settings. The ISDU parameters can then be reset.
Start block parameterization: Starts the check of several parameters of a device. The parameters are checked for plausibility only at the end of the complete parameterization.
End block parameterization: Ends the check of the parameters of a device. Setting the parameter is mandatory if Start block parameterization has been selected.
ISDU parameterization via GSDML and device catalog
With the ISDU parameterization via GSDML and device catalog, the connected IO-Link devices can be configured with the parameters taken from the IOOD of the device when establishing a connection with Profinet.
Carry out ISDU parameterization
Plug the desired devices from the GSDML catalog into the corresponding subslots of the IO-Link ports (slot 1).
⇒ The device parameters appear in the module parameters of the corresponding port and can be selected.
The parameters are forwarded to the corresponding devices as ISDU write accesses and written to the device in the following cases:
each time the IO-Link device is reconnected
for a new connection with the PLC
Integrating Safety-Hub
Connecting the safe I/O module to the network module
When project planning for Profinet devices, a device is mapped as a modular system, which has a headslot and several data modules. The illustrations used here are taken as examples from the Totally Integrated Automation Portal (TIA Portal) project planning software and from the SIMTATIC Manager from Siemens AG and are for illustrative purposes only.
The necessary settings depend on the application and are the responsibility of the user. The BNI IOF-329-P02-Z038 must always be connected via a compatible Balluff network module.
Placing module on slot
The GSDML file provides the data modules available for the respective network module.
Select module IO-Link I/O ports (w/o IO data) with Safety Hub and ISDU and drag and drop to slot 1.
Select module IO-Link I/O ports (w/o IO data) with Safety Hub and ISDU
Note
The list of module entries is automatically doubled, as the secure IO-Link IO module consists of one sub-module each for secure and standard communication.
Assigning a secure I/O module to a slot
Before assigning to the desired slot, the two default entries Port deactivated and Empty submodule on the network module must be deleted. The BNI IOF-329-P02-Z038 security module can then be dragged and dropped under the tab Device view > Device overview to any IO-Link Port of the compatible Balluff network module as a new IO-Link data module.
Delete entries Port deactivated and Empty submodule on the network module
The device data for the secure I/O module can be found in the Safety Hub submodule of the project planning software.
Configuring slot
Delete default setting for the Port deactivated and Empty submodule entries.
Drag and drop the secure I/O module for the secure data from the Safety Hub submodule to the upper free slot. Place the submodule for the standard IO data in the slot below.
Note
For further configurations, see the Safety Hub guide.
Note
After integrating and configuring the module, the master must be restarted!
Diagnosis
Diagnosis message
The diagnosis message that the module generates in the event of an error is usually read out from the PLC and processed. It is also possible for the diagnosis to be read out and evaluated from the module using function modules.
The diagnosis message is 40 bytes long and split into 3 blocks (Block Header, Alarm Header, Alarm Item) (see table below).
| Byte | Value | Meaning | Block |
| 0 | 0x00 | Block Type | Block Header |
| 1 | 0x02 | ||
| 2 | 0x00 | BlockLength | |
| 3 | 0x24 | ||
| 4 | 0x01 | BlockVersion | |
| 5 | 0x00 | ||
| 6 | 0x00 | AlarmType | Alarm Header |
| 7 | XX | ||
| 8 | 0x00 | API (Application Process Identifier) | |
| 9 | 0x00 | ||
| 10 | 0x4E | ||
| 11 | 0x01 | ||
| 12 | 0x00 | SlotNumber | |
| 13 | 0x01 | ||
| 14 | 0x00 | SubslotNumber | |
| 15 | XX | ||
| 16 | 0x00 | ModuleIdentNumber (module identification) | |
| 17 | 0x00 | ||
| 18 | XX | ||
| 19 | XX | ||
| 20 | XX | SubmoduleIdentNumber (submodule identification) | |
| 21 | XX | ||
| 22 | XX | ||
| 23 | XX | ||
| 24 | XX | Alarm Specifier | |
| 25 | XX | ||
| 26 | 0x80 | User Structure Identifier | Alarm Item |
| 27 | 0x02 | ||
| 28 | 0x80 | ChannelNumber | |
| 29 | 0x00 | ||
| 30 | XX | ChannelProperties | |
| 31 | 0x00 | ||
| 32 | 0x95 | ChannelErrorType | |
| 33 | XX | ||
| 34 | XX | ExtChannelErrorType | |
| 35 | XX | ||
| 36 | 0x00 | reserved | |
| 37 | 0x00 | ||
| 38 | 0x00 | ||
| 39 | 0x00 |
Block Header
The first part of the diagnosis is the so-called Block Header, which is 6 bytes long.
BlockType
The first 2 bytes of the Block Header are written by the block type, in order to define the data type.
Other values |
Meaning |
|---|---|
0x0002 |
Alarm Notification Low |
BlockLength
2 bytes of data; Information about the length of the following diagnosis message (for the complete diagnosis message, the 2 bytes of the block type and the 2 bytes of the block length must be added together).
BlockVersion
Low Byte fixed at 0x00, High Byte fixed at 0x01.
Alarm Header
The second part of the diagnosis is known as the Alarm Header, which is 20 bytes long.
AlarmType
2 bytes of data; Information on the alarm type.
Other values |
Meaning |
|---|---|
0x0001 |
Diagnosis |
0x0003 |
Pull |
0x0004 |
Plug |
0x000C |
Diagnosis disappears |
API
4 bytes of data; Application Process Identifier.
Other values |
Meaning |
|---|---|
0x00004E01 |
Administrative number |
SlotNumber
2 bytes of data; defines which slot of the module is reporting an error.
Other values |
Meaning |
|---|---|
0x0001 |
Slot 1, IO-Link Blocks |
SubslotNumber
2 bytes of data; defines which subslot of the slot reports an error.
| Network module | Other values | Meaning |
|
IO-Link I/O ports or IO-Link I/O ports (without IO data) |
0x0002 | Port 1 (Digital Port or IO-Link Port) |
| 0x0003 | Port 2 (Digital Port or IO-Link Port) | |
| 0x0004 | Port 3 (Digital Port or IO-Link Port) | |
| 0x0005 | Port 4 (Digital Port or IO-Link Port) | |
| 0x0006 | Port 5 (Digital Port or IO-Link Port) | |
| 0x0007 | Port 6 (Digital Port or IO-Link Port) | |
| 0x0008 | Port 7 (Digital Port or IO-Link Port) | |
| 0x0009 | Port 8 (Digital Port or IO-Link Port) | |
|
IO-Link I/O ports (without IO data) with Safety-Hub |
0x0002 | Port 1 (Digital Port, IO-Link Port or Safety IO-Link Port) |
| 0x0004 | Port 2 (Digital Port, IO-Link Port or Safety IO-Link Port) | |
| 0x0006 | Port 3 (Digital Port, IO-Link Port or Safety IO-Link Port) | |
| 0x0008 | Port 4 (Digital Port, IO-Link Port or Safety IO-Link Port) | |
| 0x000A | Port 5 (Digital Port, IO-Link Port or Safety IO-Link Port) | |
| 0x000C | Port 6 (Digital Port, IO-Link Port or Safety IO-Link Port) | |
| 0x000E | Port 7 (Digital Port, IO-Link Port or Safety IO-Link Port) | |
| 0x0010 | Port 8 (Digital Port, IO-Link Port or Safety IO-Link Port) |
ModuleIdentNumber
4 bytes of data; defines which module is plugged in to the respective slot (module identification is saved in the GSDML).
SubmoduleIdentNumber
4 bytes of data; defines which submodule is used in the respective module (submodule identification is stored in the GSDML).
| Group | Other values | Meaning |
|---|---|---|
| IO-Link Digital IO | 0x00008100 | Digital Output |
| 0x00000081 | Digital Input | |
| 0x00004001 | Digital Output w/o IO | |
| 0x00004002 | Digital Input w/o IO | |
| IO-Link Generic Devices | 0x00000002 | IOL_I_01_Byte + PQI |
| 0x00000003 | IOL_I_02_Byte + PQI | |
| 0x00000005 | IOL_I_04_Byte + PQI | |
| 0x00000007 | IOL_I_06_Byte + PQI | |
| 0x00000009 | IOL_I_08_Byte + PQI | |
| 0x0000000B | IOL_I_10_Byte + PQI | |
| 0x00000011 | IOL_I_16_Byte + PQI | |
| 0x00000019 | IOL_I_24_Byte + PQI | |
| 0x00000021 | IOL_I_32_Byte + PQI | |
| 0x00000101 | IOL_O_01_Byte + PQI | |
| 0x00000201 | IOL_O_02_Byte + PQI | |
| 0x00000401 | IOL_O_04_Byte + PQI | |
| 0x00000601 | IOL_O_06_Byte + PQI | |
| 0x00000801 | IOL_O_08_Byte + PQI | |
| 0x00000A01 | IOL_O_10_Byte + PQI | |
| 0x00001001 | IOL_O_16_Byte + PQI | |
| 0x00001801 | IOL_O_24_Byte + PQI | |
| 0x00002001 | IOL_O_32_Byte + PQI | |
| 0x00000102 | IOL_I/O_01/01_Byte + PQI | |
| 0x00000203 | IOL_I/O_02/02_Byte + PQI | |
| 0x00000403 | IOL_I/O_02/04_Byte + PQI | |
| 0x00000205 | IOL_I/O_04/02_Byte + PQI | |
| 0x00000405 | IOL_I/O_04/04_Byte + PQI | |
| 0x00000803 | IOL_I/O_02/08_Byte + PQI | |
| 0x00000805 | IOL_I/O_04/08_Byte + PQI | |
| 0x00000209 | IOL_I/O_08/02_Byte + PQI | |
| 0x00000409 | IOL_I/O_08/04_Byte + PQI | |
| 0x00000809 | IOL_I/O_08/08_Byte + PQI | |
| 0x00000A0B | IOL_I/O_10/10_Byte + PQI | |
| 0x00002005 | IOL_I/O_04/32_Byte + PQI | |
| 0x00000421 | IOL_I/O_32/04_Byte + PQI | |
| 0x00002021 | IOL_I/O_32/32_Byte + PQI | |
| 0x00001011 | IOL_I/O_16/16_Byte + PQI | |
| 0x00001819 | IOL_I/O_24/24_Byte + PQI | |
| 0x40000001 | IOL_I_01_Byte | |
| 0x40000002 | IOL_I_02_Byte | |
| 0x40000004 | IOL_I_04_Byte | |
| 0x40000006 | IOL_I_06_Byte | |
| 0x40000008 | IOL_I_08_Byte | |
| 0x4000000A | IOL_I_10_Byte | |
| 0x40000010 | IOL_I_16_Byte | |
| 0x40000018 | IOL_I_24_Byte | |
| 0x40000020 | IOL_I_32_Byte | |
| 0x40000100 | IOL_O_01_Byte | |
| 0x40000200 | IOL_O_02_Byte | |
| 0x40000400 | IOL_O_04_Byte | |
| 0x40000600 | IOL_O_06_Byte | |
| 0x40000800 | IOL_O_08_Byte | |
| 0x40000A00 | IOL_O_10_Byte | |
| 0x40001000 | IOL_O_16_Byte | |
| 0x40001800 | IOL_O_24_Byte | |
| 0x40002000 | IOL_O_32_Byte | |
| 0x40000101 | IOL_I/O_01/01_Byte | |
| 0x40000202 | IOL_I/O_02/02_Byte | |
| 0x40000402 | IOL_I/O_02/04_Byte | |
| 0x40000204 | IOL_I/O_04/02_Byte | |
| 0x40000404 | IOL_I/O_04/04_Byte | |
| 0x40000802 | IOL_I/O_02/08_Byte | |
| 0x40000804 | IOL_I/O_04/08_Byte | |
| 0x40000208 | IOL_I/O_08/02_Byte | |
| 0x40000408 | IOL_I/O_08/04_Byte | |
| 0x40000808 | IOL_I/O_08/08_Byte | |
| 0x40000A0A | IOL_I/O_10/10_Byte | |
| 0x40002004 | IOL_I/O_04/32_Byte | |
| 0x40000420 | IOL_I/O_32/04_Byte | |
| 0x40002020 | IOL_I/O_32/32_Byte | |
| 0x40001010 | IOL_I/O_16/16_Byte | |
| 0x40001818 | IOL_I/O_24/24_Byte | |
| Safety-Hub | 0x00000001 | BNI IOF-329-P02-Z038 Safety I/O |
| 0x00020002 | BNI IOF-329-P02-Z038 Standard I/O | |
| IO-Link Devices | 0xFFFF0001 | BNI IOL-101-000-XXXX |
| 0xFFFF0002 | BNI IOL-102-00X-XXXX | |
| 0xFFFF0003 | BNI IOL-102-S01-XXXX | |
| 0xFFFF0FFF | BNI IOL-104-00X-XXXX | |
| 0xFFFF0005 | BNI IOL-104-002-X046 | |
| 0xFFFF0006 | BNI IOL-104-002-X046 extended | |
| 0xFFFF0007 | BNI IOL-104-S02-XXXX extended with BNI IOL-104-S02-XXXX | |
| 0xFFFF0008 | BNI IOL-104-S02-ZXXX extended with BNI IOL-751-VXX-K007 | |
| 0xFFFF0009 | BNI IOL-104-S02-RXXX extended with BNI IOL-751-VXX-K007 | |
| 0xFFFF000A | BNI IOL-104-S0X-XXXX |
| Group | Other values | Meaning |
|---|---|---|
| 0xFFFF000B | BNI IOL-252-000-XXXX | |
| 0xFFFF000C | BNI IOL-252-S01-XXXX | |
| 0xFFFF000D | BNI IOL-256-000-XXXX | |
| 0xFFFF000E | BNI IOL-256-S01-XXXX | |
| 0xFFFF000F | BNI IOL-302-00X-XXXX | |
| 0xFFFF0010 | BNI IOL-302-002-X046 | |
| 0xFFFF0011 | BNI IOL-302-002-XXXX extended | |
| 0xFFFF0012 | BNI IOL-302-002-X046 extended with BNI IOL-104-002-X046 | |
| 0xFFFF0013 | BNI IOL-302-S01-XXXX | |
| 0xFFFF0014 | BNI IOL-302-S01-XXXX only Input and Output | |
| 0xFFFF0015 | BNI IOL-302-S01-XXXX only Output | |
| 0xFFFF0016 | BNI IOL-302-S01-XXXX-C01 | |
| 0xFFFF0017 | BNI IOL-302-S02-XXXX | |
| 0xFFFF0018 | BNI IOL-302-S02-X026 | |
| 0xFFFF0019 | BNI IOL-309-00X-XXXX | |
| 0xFFFF001A | BNI IOL-310-000-XXXX | |
| 0xFFFF001B | BNI IOL-355-S02-XXXX | |
| 0xFFFF001C | BNI IOL-719-002-XXXX | |
| 0xFFFF001D | BNI IOL-771-000-XXXX | |
| 0xFFFF001E | BNI IOL-772-000-XXXX | |
| 0xFFFF001F | BNI IOL-800-000-Z036 | |
| 0xFFFF0020 | BNI IOL-800-000-Z037 | |
| 0xFFFF0021 | BNI IOL-801-000-Z036 | |
| 0xFFFF0022 | BNI IOL-801-000-Z037 | |
| 0xFFFF0023 | BNI IOL-802-000-Z036 | |
| 0xFFFF0024 | BNI IOL-802-000-Z037 | |
| 0xFFFF0025 | BIS M-4XX-045 | |
| 0xFFFF0026 | BIS M-4XX-072 | |
| 0xFFFF0027 | BIS L-4XX-045 | |
| 0xFFFF0028 | BNI IOL-709-000-XXXX (10 Byte Input) | |
| 0xFFFF0029 | BNI IOL-710-000-XXXX (10 Byte Input) | |
| 0xFFFF002A | BNI IOL-727-S51-XXXX (16 Byte Input and 1 Byte Output) | |
| 0xFFFF002B | BNI IOL-728-S51-XXXX (23 Byte Input and 0 Byte Output) |
Alarm Specifier
2 bytes of data; Alarm Specifier is divided as follows:
Sequence Number (Bit 0…10)
This counter is incremented with each new diagnostic message.
Channel Diagnosis (Bit 11)
Other values |
Meaning |
|---|---|
0x00 |
No channel-based diagnosis available |
0x01 |
Channel-based diagnosis available |
Manufacturer Specific Diagnosis (Bit 12)
Other values |
Meaning |
|---|---|
0x00 |
No manufacturer-based diagnosis available |
0x01 |
Manufacturer-based diagnosis available |
Submodule Diagnosis State (Bit 13)
Other values |
Meaning |
|---|---|
0x00 |
No further diagnosis of the submodule available |
0x01 |
At least one further diagnosis of the submodule available |
Reserved (Bit 14)
AR Diagnosis State (Bit 15)
Other values |
Meaning |
|---|---|
0x00 |
No further diagnosis of the module available |
0x01 |
At least one further diagnosis of the module available |
Alarm Item
The third part of the diagnostics is known as the Alarm Item, which is 14 bytes long.
User Structure Identifier
2 bytes of data; defines the type of diagnostics.
Other values |
Meaning |
|---|---|
0x8002 |
Extended Channel Diagnosis |
0x8100 |
Alarm Head Maintenance |
0x8000 |
Channel-based diagnosis |
ChannelNumber
2 bytes of data; defines the channel number.
Other values |
Meaning |
|---|---|
0x8000 |
Submodule |
ChannelProperties
2 bytes of data; Channel Properties are divided as follows:
Type (Bit 0…7)
Other values |
Meaning |
|---|---|
0x00 |
Complete submodule |
Accumulative (Bit 8)
Other values |
Meaning |
|---|---|
0x00 |
Not used. |
Maintenance (Bit 9 and 10)
Other values |
Meaning |
|---|---|
0x00 |
Not used. |
Specifier (Bit 11 and 12)
Other values |
Meaning |
|---|---|
0x00 |
Not used. |
0x01 |
Diagnosis occurred. |
0x02 |
Diagnosis done. |
0x03 |
Diagnosis done but another is still active. |
Direction (Bit 13…15)
Other values |
Meaning |
|---|---|
0x00 |
Not used. |
ChannelErrorType
2 bytes of data; Information on the error type.
If User Structure Identifier has the value 0x8000, the module-related errors are displayed here:
Error code |
Meaning |
|---|---|
0x0002 |
Undervoltage |
0x0003 |
Overvoltage |
0x0105 |
Undervoltage of the actuator supply |
0x0104 |
No actuator supply |
ExtChannelErrorType
2 bytes of data; Information on the error type.
| ChannelErrorType | ExtChannelErrorType (EventCode) | Error text | Help text |
|---|---|---|---|
| IO-Link device events in the lower range (9500) | 0x1000 | General malfunction | Unknown error |
| 0x4000 | Temperature fault | Overload | |
| 0x4210 | Device temperature exceeded. | Remove heat source. | |
| 0x4220 | Device temperature undershot. | Insulate the device. | |
| 0x5000 | Fault in the device hardware | Replace the device. | |
| 0x5010 | Malfunction of a component | Repair or replace | |
| 0x5011 | Loss of non-volatile memory | Check batteries. | |
| 0x5012 | Batteries weak | Replace batteries. | |
| 0x5100 | General fault in the power supply | Check availability. | |
| 0x5101 | Fuse blown/open. | Replace fuse. | |
| 0x5110 | Primary supply voltage exceeded. |
Check tolerance. | |
| 0x5111 | Primary supply voltage undershot. |
Check tolerance. | |
| 0x5112 | Fault in the secondary supply voltage (Port Class B) |
Check tolerance. | |
| 0x6000 | Fault in the device software | Check firmware version. | |
| 0x6320 | Parameter error | Check data sheet and values. | |
| 0x6321 | Parameter missing. | Check data sheet. | |
| 0x6350 | Parameters changed. | Check configuration. | |
| 0x7700 | Wire break of subordinate device | Check installation. | |
| 0x7701 | Wire break of subordinate device 1 | Check installation. | |
| 0x7702 | Wire break of subordinate device 2 | Check installation. | |
| 0x7703 | Wire break of subordinate device 3 | Check installation. | |
| 0x7704 | Wire break of subordinate device 4 | Check installation. | |
| 0x7705 | Wire break of subordinate device 5 | Check installation. | |
| 0x7706 | Wire break of subordinate device 6 | Check installation. | |
| 0x7707 | Wire break of subordinate device 7 | Check installation. | |
| 0x7708 | Wire break of subordinate device 8 | Check installation. | |
| 0x7709 | Wire break of subordinate device 9 | Check installation. | |
| 0x770A | Wire break of subordinate device 10 | Check installation. | |
| 0x770B | Wire break of subordinate device 11 | Check installation. | |
| 0x770C | Wire break of subordinate device 12 | Check installation. | |
| 0x770D | Wire break of subordinate device 13 | Check installation. | |
| 0x770E | Wire break of subordinate device 14 | Check installation. | |
| 0x770F | Wire break of subordinate device 15 | Check installation. | |
| 0x7710 | Short circuit | Check installation. | |
| 0x7711 | Grounding fault | Check installation. |
| ChannelErrorType | ExtChannelErrorType (EventCode) | Error text | Help text |
|---|---|---|---|
| IO-Link device events in the upper range (9501) | 0x0C00 | Technology-specific application errors | Reset device. |
| 0x0C01 | Simulation active. | Check operating mode. | |
| 0x0C10 | Process variable range exceeded. | Process data uncertain | |
| 0x0C20 | Measuring range exceeded. | Check application. | |
| 0x0C30 | Process variable range undershot. | Process data uncertain | |
| 0x0C40 | Maintenance required – Cleaning | Clean device. | |
| 0x0C41 | Maintenance required – Top up | Top up the device. | |
| 0x0C42 | Required maintenance – Wear and tear | Replace wearing parts. | |
| IO-Link device events in the lower range (9502) | 0x17FF | Process data does not match. | Check submodule configuration. |
| 0x1800 | No device | – | |
| 0x1801 | Error during start parameterization | Check parameters. | |
| 0x1802 | Incorrect Vendor ID | Inspection level inconsistent | |
| 0x1803 | Incorrect device ID | Inspection level inconsistent | |
| 0x1804 | Short circuit at C/Q | Check cable connection. | |
| 0x1805 | IO-Link PHY above temperature | – | |
| 0x1806 | Short circuit at L+ | Check cable connection. | |
| 0x1807 | Undervoltage at L+ | Check power supply (e.g. L1+). |
|
| 0x1808 | Overflow of device event | – | |
| 0x1809 | Backup inconsistent | Memory out of range (2k) | |
| 0x180A | Backup inconsistent | Data memory index not available | |
| 0x180B | Backup inconsistent | Data memory unspecific errors | |
| 0x180C | Backup inconsistent | Error during upload | |
| 0x180D | Backup inconsistent | Error during download | |
| 0x180E | P24 (Class B) missing or undervoltage | Check cable connection (e.g. L2+). |
|
| 0x180F | Short circuit at P24 (Class B) | Check cable connection (e.g. L2+). |
|
| 0x1810 | Short circuit at I/Q | Check cable connection. | |
| 0x1811 | Short circuit at C/Q (Digital Output) | Check cable connection. | |
| 0x1812 | Overcurrent at I/Q | Check load. | |
| 0x1813 | Overcurrent at C/Q (Digital Output) | Check load. | |
| 0x1883 |
S7-PCT configuration error (incorrect or inconsistent parameterization) |
Check parameterization. | |
| 0x1888 | Module defective | Replace module. | |
| 0x6000 | Invalid cycle time | Check cycle time. | |
| 0x6001 | Version error | Incompatible protocol version | |
| 0x6002 | ISDU batch failed. | Parameters inconsistent |
Profinet diagnostic module – Pin 4/2 Actor Ground Short Circuit Detection
If a short circuit is detected at a port on the pin, the corresponding bit is set to 1.
| Byte 0 | Bit 7 | Bit 6 | Bit 5 | Bit 4 | Bit 3 | Bit 2 | Bit 1 | Bit 0 |
| Port 8 Pin 4 | Port 7 Pin 4 | Port 6 Pin 4 | Port 5 Pin 4 | Port 4 Pin 4 | Port 3 Pin 4 | Port 2 Pin 4 | Port 1 Pin 4 | |
| Byte 0 | Bit 7 (15) | Bit 6 (14) | Bit 5 (13) | Bit 4 (12) | Bit 3 (11) | Bit 2 (10) | Bit 1 (9) | Bit 0 (8) |
| Port 8 Pin 2 | Port 7 Pin 2 | Port 6 Pin 2 | Port 5 Pin 2 | Port 4 Pin 2 | Port 3 Pin 2 | Port 2 Pin 2 | Port 1 Pin 2 |
Profinet module – Short Circuit and Actor Warning Detection
If an error with the following modules occurs, the corresponding bit is set to true:
Pin 1 Short Circuit Detection
Pin 4/2 Actor Warning Detection
Pin 4/2 Actor Ground Short Circuit Detection
Pin 4 IO-Link Short Circuit Detection
Bit 7 |
Bit 6 |
Bit 5 |
Bit 4 |
Bit 3 |
Bit 2 |
Bit 1 |
Bit 0 |
|---|---|---|---|---|---|---|---|
Port 8 |
Port 7 |
Port 6 |
Port 5 |
Port 4 |
Port 3 |
Port 2 |
Port 1 |
Profinet diagnostic module – Pin 4 IO-Link Short Circuit Detection
If an IO-Link short circuit is detected at a port on pin 4, the corresponding bit is set to 1. The port must be configured to IO-Link.
Profinet module – IO-Link Device Event Pending
If there is a pending IO-Link device event at any connection, the corresponding bit is set to 1.
Bit 7 |
Bit 6 |
Bit 5 |
Bit 4 |
Bit 3 |
Bit 2 |
Bit 1 |
Bit 0 |
|---|---|---|---|---|---|---|---|
Port 8 |
Port 7 |
Port 6 |
Port 5 |
Port 4 |
Port 3 |
Port 2 |
Port 1 |
Profinet diagnostic module – Pin 4/2 Actor Warning Detection
If pin 2/4 of connection x (where x is a number between 1 and 8) is configured to:
OUTPUT (Pin 2/4)
If the voltage is low and an external voltage is applied, the bit is set to true.
If high-controlled (UA is missing; therefore the output is physically low) and an external voltage is applied, the bit is set to true.
POWER (Pin 2)
If UA is missing and external voltage is applied, the bit is set to true.
| Byte 0 | Bit 7 | Bit 6 | Bit 5 | Bit 4 | Bit 3 | Bit 2 | Bit 1 | Bit 0 |
| Port 8 Pin 4 | Port 7 Pin 4 | Port 6 Pin 4 | Port 5 Pin 4 | Port 4 Pin 4 | Port 3 Pin 4 | Port 2 Pin 4 | Port 1 Pin 4 | |
| Byte 0 | Bit 7 (15) | Bit 6 (14) | Bit 5 (13) | Bit 4 (12) | Bit 3 (11) | Bit 2 (10) | Bit 1 (9) | Bit 0 (8) |
| Port 8 Pin 2 | Port 7 Pin 2 | Port 6 Pin 2 | Port 5 Pin 2 | Port 4 Pin 2 | Port 3 Pin 2 | Port 2 Pin 2 | Port 1 Pin 2 |
Profinet module – Port Event Pending
If an upcoming event is detected, the bit for the port is set to 1. If an outgoing event is sent for this event, the bit is reset to 0.
Bit 7 |
Bit 6 |
Bit 5 |
Bit 4 |
Bit 3 |
Bit 2 |
Bit 1 |
Bit 0 |
|---|---|---|---|---|---|---|---|
Port 8 |
Port 7 |
Port 6 |
Port 5 |
Port 4 |
Port 3 |
Port 2 |
Port 1 |