PROFIBUS Diagnose-Daten
Der BX-Controller ermöglicht Ihnen aus der PLC heraus Diagnose-Daten zu verschicken. So können Sie sich Ihre eigene Diagnosemitteilung für den Master schreiben und diese individuell mit Daten füllen (siehe Gerätespezifische Diagnosedaten).
DP-Diagnosedaten (DiagData)
Die DP-Diagnosedaten bestehen aus 6 Bytes DP-Standard-Diagnose und bis zu 238 Bytes gerätespezifischen Diagnosedaten.
Wenn sich die DP-Diagnosedaten ändern, meldet das der Slave dem Master, der die geänderten Diagnosedaten in der Regel daraufhin automatisch abholt. Die DP-Diagnosedaten sind also nicht in Echtzeit zu den DP-Prozessdaten verfügbar, sondern erreichen die Steuerung immer erst einige Zyklen später.
In TwinCAT werden die DP-Diagnosedaten per ADS von der DP-Master-Anschaltung (FC310x, CX1500-M310) ausgelesen (s. Kapitel Slave-Diagnose in der FC310x-Dokumentation).
DP-Standard-Diagnosedaten
Offset | Bedeutung |
---|---|
0x00.0 | StationNonExistent: Slave beim letzten Telegramm nicht geantwortet |
0x00.1 | StationNotReady: Slave verarbeitet noch das Set_Prm bzw. Chk_Cfg-Telegramm |
0x00.2 | CfgFault: Slave meldet einen Konfigurationsfehler |
0x00.3 | ExtDiag: Extended DiagData sind vorhanden und gültig |
0x00.4 | NotSupported: Slave unterstützt ein Feature nicht, das mit Set_Prm oder Global_Control gefordert wurde |
0x00.5 | InvalidSlaveResponse: Slave antwortet nicht DP-konform |
0x00.6 | PrmFault: Slave meldet einen Parametrierfehler |
0x00.7 | MasterLock: Slave ist im Datenaustausch mit einem anderen Master |
0x01.0 | PrmReq: Slave muss neu parametriert und konfiguriert werden |
0x01.1 | StatDiag: Slave meldet statische Diagnose bzw. Applikation des DPV1-Slave noch nicht bereit für den Datenaustausch |
0x01.2 | PROFIBUS-DP-Slave |
0x01.3 | WdOn: DP-Watchdog ist eingeschaltet |
0x01.4 | FreezeMode: DP-Slave ist im Freeze-Mode |
0x01.5 | SyncMode: DP-Slave ist im Sync-Mode |
0x01.6 | reserviert |
0x01.7 | Deactivated: DP-Slave wurde deaktiviert |
0x02.0 | reserviert |
0x02.1 | reserviert |
0x02.2 | reserviert |
0x02.3 | reserviert |
0x02.4 | reserviert |
0x02.5 | reserviert |
0x02.6 | reserviert |
0x02.7 | ExtDiagOverflow: zu viele Extended DiagData vorhanden |
0x03 | MasterAdd: Stationsadresse des Masters, der mit dem Slave Datenaustausch macht |
0x04,0x05 | IdentNumber |
ab 0x06 | gerätespezifische Diagnosedaten (Extended DiagData) |
Gerätespezifische Diagnosedaten
Für das Absetzen der Diagnosedaten wird der Funktionsbaustein ADSWRITE verwendet. Die aktuelle DP-Diagnose, wie sie auf den Bus gesendet wird kann per ADSREAD gelesen werden. Achten Sie beim Lesen darauf, dass Sie 6 Byte (die PROFIBUS Standard DP-Diagnose) mitberücksichtigen müssen, d.h. 6 Byte mehr auslesen, als Sie geschrieben haben. Die ADS-Parameter sind mit dem Lesen identisch.
Eingangsparameter | Beschreibung |
---|---|
NETID | lokale NetId des BX |
PORT Nummer | 100 |
IDXGRP | 16#0003_0000 |
IDXOFFS | 0 |
LEN | 1-238 Bytes (schreiben), 7-244 (lesen) |
SRCADDR | Pointer auf die Diagnosedaten |
![]() | Diagnosetelegramm ist ereignisabhängid Es wird erst dann ein Diagnosetelegramm zur Steuerung übertragen, wenn sich die Diagnosedaten geändert haben. |