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

PROFIBUS diagnostic data 1:

Diagnostic telegram is event-driven

A diagnostic telegram is only sent to the controller if the diagnostic data have changed.