CIFx0-CAN: Box-Diagnose
Die CANopen Feldbuskarte CIFx0-CAN verfügen über umfangreiche Diagnosemöglichkeiten für die angeschlossenen Netzwerkknoten.
Für jeden CANopen Feldbusknoten gibt es die Eingangsvariable Box State, die den Status des jeweiligen Slaves zur Laufzeit signalisiert und z.B. mit der SPS verknüpft werden kann.
BoxState
DataExchange
Über dieses Bit wird angezeigt, ob sich der Knoten im Datenaustausch befindet. Es können nur Knoten überwacht werden, bei denen das Guarding Protokoll aktiviert wurde.
CANopen-Emergency-Objekt
Einige CANopen-Statusdaten sowie bis zu 5 empfangene Emergency-Objekte eines Nodes können per ADS von jedem TwinCAT Programm gelesen bzw. an jedes TwinCAT-Programm gemeldet werden. Dabei sind die ADS-Parameter wie folgt einzustellen:
Port: 300
IndexGroup: 0x5000 + Device-ID
IndexOffset: Hi-Word: Node-ID, Lo-Word: 0x100
Länge: 8 - 48
Die Diagnosedaten sind wie folgt aufgebaut:
Offset: 0: Nodestatus-Bits
Bit 7: Node ist deaktiviert
Bit 3: Guarding-Protokoll ist aktiv
Bit 2: Parametrierfehler
Bit 1: Emergency-Buffer Überlauf
Bit 0: Node antwortet nicht
Offset: 1,2: Node-Type (Index 0x1000)
Offset: 3,4: Profile-Number
Offset: 5: Node-State
1: Disconnecting
2: Connecting
3: Preparing
4: Prepared
5: Operational
127: Pre-Operational
Offset: 6: aktueller Fehler
30: Guarding fehlerhaft
31: Node hat Zustand verändert
32: Sequence-Fehler im Guarding-Protokoll
33: keine Antwort von einer Remote-Frame-PDO
34: keine Antwort während der Konfiguration des Nodes
35: Profilnummer des Nodes stimmt nicht
36: Device Type des Nodes stimmt nicht
37: unbekannte SDO-Response empfangen
38: SDO-Syntax-Fehler
39: Node in STOP-Modus
Offset: 7: Anzahl Emergency-Meldungen
Offset: 8-47: Emergency-Buffer (-> Node-Beschreibung)
Die Daten enthalten den aktuellen Status. Im Emergency-Buffer stehen die zuletzt empfangenen Emergency-Meldungen. Die Nodestatus-Bits sind im Diagnose-Eingang Box-State zusammengefaßt.