PROFIBUS diagnostic data
The BX 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).
DP Diagnostic Data (DiagData)
The DP diagnostic data consists of 6 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. The DP diagnostic data are not available in real-time with the DP process data, but reach 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 parameterization error |
0x00.7 |
MasterLock: slave currently exchanging data with another master |
0x01.0 |
PrmReq: Slave must be parameterized and configured again |
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 switched 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
The function block ADSWRITE is used for sending the 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 BX |
PORT number |
100 |
IDXGRP |
16#0003_0000 |
IDXOFFS |
0 |
LEN |
1-238 bytes (writing), 7-244 (reading) |
SRCADDR |
Pointer to diagnostic data |
![]() | Diagnostic telegram is event-driven A diagnostic telegram is only sent to the controller if the diagnostic data have changed. |