DP Diagnostic Data (DiagData)
The DP diagnostic data consists of six bytes of DP standard diagnosis, along with up to 238 bytes of device-specific diagnostic data. The device-specific diagnostic data for Beckhoff slaves is represented in the DPV1 status message.
When the DP diagnostic data changes, the slave reports this fact to the master, and the master will automatically fetch the changed diagnostic data. This means that DP diagnostic data is not included in the DP process data in real-time, but is always sent to the controller a few cycles later.
In TwinCAT the DP diagnostic data is read from the DP Master interface (FC310x, CX1500-M310) using ADS (see the section describing Slave Diagnosis in the FC310x documentation).
DP standard diagnostic data
Offset |
Meaning |
---|---|
0x00.0 |
StationNonExistent: slave did not reply to the last telegram |
0x00.1 |
StationNotReady: slave still processing the Set_Prm / Chk_Cfg telegram |
0x00.2 |
CfgFault: slave signaling a configuration error |
0x00.3 |
ExtDiag: extended DiagData available and valid |
0x00.4 |
NotSupported: slave does not support a feature requested via Set_Prm or Global_Control |
0x00.5 |
InvalidSlaveResponse: slave response not DP-compatible |
0x00.6 |
PrmFault: slave reports a paramétrisation error |
0x00.7 |
MasterLock: slave currently exchanging data with another master |
0x01.0 |
PrmReq: re-parameterize and reconfigure slave |
0x01.1 |
StatDiag: slave signaling static diagnosis / DPV1 slave application not yet ready for data exchange |
0x01.2 |
PROFIBUS DP slave |
0x01.3 |
WdOn: DP watchdog on |
0x01.4 |
FreezeMode: DP slave in freeze mode |
0x01.5 |
SyncMode: DP slave in sync mode |
0x01.6 |
reserved |
0x01.7 |
Deactivated: DP slave has been deactivated |
0x02.0 |
reserved |
0x02.1 |
reserved |
0x02.2 |
reserved |
0x02.3 |
reserved |
0x02.4 |
reserved |
0x02.5 |
reserved |
0x02.6 |
reserved |
0x02.7 |
ExtDiagOverflow: too much extended data present |
0x03 |
MasterAdd: station address of master with which slave is exchanging data |
0x04,0x05 |
IdentNumber |
from 0x06 |
Device-specific diagnostic data (extended DiagData) |
Device-specific diagnostic data (DPV1 status message)
The meaning of the first 4 bytes of the DPV1 status message is specified by the DPV1 standard, while the bytes that follow are manufacturer-specific.
Byte |
Bit |
Description |
---|---|---|
6 |
0-7 |
The length of the DPV1 status message (including this byte) |
7 |
0-7 |
StatusType: the StatusType identifies the format of the diagnostic data starting at byte 16 (0x81: max. 64 modules, 0xA1: more than 64 modules) |
8 |
0-7 |
SlotNumber: always 0 |
9 |
0-7 |
Specifier: always 0 |
10 |
0 |
EEPROM checksum error (can be cleared by setting the manufacturers setting through KS2000 or DPV1, followed by a power off/power on cycle) |
10 |
4 |
Unknown module type |
10 |
5 |
The length of the CfgData is too great (too many modules are inserted) |
10 |
6 |
The length of the DP input data is too great (too many modules are inserted) |
10 |
7 |
The length of the DP output data is too great (too many modules are inserted) |
11 |
0-7 |
Error on an internal bus (K-bus, IP-Link, etc.) |
12 |
0-7 |
Error code on an internal bus (K-bus, IP-Link, etc.) |
13 |
0-7 |
Error argument on an internal bus (K-bus, IP-Link, etc.) |
14 |
0-7 | |
15 |
0-7 |
Errors in the modules (terminals, IP modules, IE module, etc.)
Diagnosis of the modules must be activated through the UserPrmData.
Couplers with a maximum of 64 possible modules
Byte |
Bit |
Description |
---|---|---|
16 |
0-5 |
Module number (0-63) with an error (bit 6 of the status bytes is set, except for the serial interface modules (KL6001, KL6011, KL6021, IP6002, IP6012, IP6022, IE6002, IE6012, IE6022), where bit 3 of the status byte is set) |
16 |
6-7 |
Associated channel number (0-3) |
17 |
0-7 |
Status byte of the faulty channel (bits 0-7) |
18 |
0-5 |
Module number (0-63) with an error (bit 6 of the status bytes is set, except for the serial interface modules (KL6001, KL6011, KL6021, IP6002, IP6012, IP6022, IE6002, IE6012, IE6022), where bit 3 of the status byte is set) |
18 |
6-7 |
Associated channel number (0-3) |
19 |
0-7 |
Status byte of the faulty channel (bits 0-7) |
... |
... |
... |
60 |
0-5 |
Module number (0-63) with an error (bit 6 of the status bytes is set, except for the serial interface modules (KL6001, KL6011, KL6021, IP6002, IP6012, IP6022, IE6002, IE6012, IE6022), where bit 3 of the status byte is set) |
60 |
6-7 |
Associated channel number (0-3) |
61 |
0-7 |
Status byte of the faulty channel (bits 0-7) |
Couplers with a maximum of more than 64 possible modules
Byte |
Bit |
Description |
---|---|---|
16 |
0-7 |
Module number (1-255) with an error (bit 6 of the status bytes is set, except for the serial interface modules (KL6001, KL6011, KL6021, IP6002, IP6012, IP6022, IE6002, IE6012, IE6022), where bit 3 of the status byte is set) |
17 |
6-7 |
Associated channel number (0-3) |
17 |
0-5 |
Status byte of the faulty channel (bits 0-5) |
18 |
0-7 |
Module number (1-255) with an error (bit 6 of the status bytes is set, except for the serial interface modules (KL6001, KL6011, KL6021, IP6002, IP6012, IP6022, IE6002, IE6012, IE6022), where bit 3 of the status byte is set) |
19 |
6-7 |
Associated channel number (0-3) |
19 |
0-5 |
Status byte of the faulty channel (bits 0-5) |
... |
... |
... |
60 |
0-7 |
Module number (1-255) with an error (bit 6 of the status bytes is set, except for the serial interface modules (KL6001, KL6011, KL6021, IP6002, IP6012, IP6022, IE6002, IE6012, IE6022), where bit 3 of the status byte is set) |
61 |
6-7 |
Associated channel number (0-3) |
61 |
0-5 |
Status byte of the faulty channel (bits 0-5) |