Individual diagnostic data
The controller enables sending of diagnostic data from the PLC. You can write your own diagnostic message for the master and fill it individually with data (see Device-specific diagnostic data below).
DP Diagnostic Data (DiagData)
Transmission of the diagnostic telegram A diagnostic telegram is only transferred to the controller when the diagnostic data have changed. |
The DP diagnostic data consists of six bytes of DP standard diagnosis, along with up to 238 bytes of device-specific diagnostic data.
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 are read by the DP master connection via ADS.
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 |
ab 0x06 |
Device-specific diagnostic data (extended DiagData) |
Device-specific diagnostic data
Transmission of user-specific diagnostic data Byte 0 of the data must contain a 0x08. Bytes 1 to 5 are overwritten by the CX. Byte 6 and higher can contain your own diagnostic data. Make sure that your own diagnostic data conforms to the PROFIBUS standard for user-specific diagnosis. |
The ADSWRITE block is used for sending diagnostic data. The current DP diagnosis sent to the bus can be read via ADSREAD. Please note that an additional 6 bytes (PROFIBUS standard DP diagnosis) are required for reading, i.e. the number of bytes that are read exceeds the number of bytes that were written by 6. The ADS parameters for the read process are identical.
Input parameters |
Description |
---|---|
NETID |
local NetId of the Profibus device |
PORT number |
0x1000+slave address |
IDXGRP |
16#F481 |
IDXOFFS |
0 |
LEN |
max. 244 |
SRCADDR |
Pointer to diagnostic data |