Skip to main content

Diagnose in der Applikation

CANopen-Zustand

Der CANopen-Zustand eines Geräts kann auf drei verschiedene Möglichkeiten in der Applikation abgefragt werden:

  • Funktionsbaustein GET_STATE (Bibliothek CAA CiA 405)

  • Eigenschaft <Name im Gerätebaum>.CANopenState (Bibliothek 3S CANopenStack)

  • Methode <Name im Gerätebaum>.GetDeviceState (Bibliothek CAA Device Diagnosis)

    Die Methode liefert zwar keinen CANopen-Zustand zurück, jedoch die Information, ob das Gerät läuft oder nicht. Eine Mapping-Tabelle zwischen CANopenState und DEVICE_STATE ist in der Bibliotheksdokumentation von CANopenStack zu finden.

Der CANopen Manager hat zudem Eigenschaften um abzufragen, ob alle verpflichtende und optionalen Slaves im Status OPERATIONAL sind. Bitte beachten Sie, dass diese Eigenschaften nur einmalig nach der Konfigurationsphase gesetzt werden, wenn die Bedingung zutrifft. Wenn danach ein Slave ausfällt, bleiben diese Eigenschaften entsprechend gesetzt.

Des Weiteren kann der CANopen-Zustand auch gesetzt werden: Mit Funktionsbaustein NMT (Bibliothek CAA CiA 405) oder über die Methode <Name im Gerätebaum>.SetCommunicationState (Bibliothek CAA Device Diagnosis).

CANopen Kernel-Zustand

Mit der Abfrage des CANopen Kernel-Zustands kann ein Busfehler, ein Konfigurationsfehler oder ein Überwachungsfehler ermittelt werden.

Der Zustand kann über die Eigenschaft <Name CANopen Manager im Gerätebaum>.KernelState oder den Funktionsbaustein GET_CANOPEN_KERNEL_STATE (Bibliothek CAA CiA 405) abgefragt werden.

Emergency

Sie können Emergency-Telegramme über CIA405-Funktionsbausteine empfangen.

  • RECV_EMCY: Empfang aller Emergencys aller Geräte des Busstrangs

  • RECV_EMCY_DEV: Empfang der Emergencys eines bestimmten Geräts

Pre-defined Error-Field und Error-Register

Die Objekte des Objektverzeichnisses eines Slaves können mit den CiA405-Funktionsbausteinen SDO_READ4 und SDO_READ_DATA gelesen werden.

Safety-Diagnose

Im Falle von Safety bieten die implizit angelegten Bausteine mit Präfix „S_“ entsprechende Ausgänge zur Diagnose an. Mit diesen Bausteinen können Sie feststellen, ob die SRDO-Kommunikation zu einem Slave aktiv ist oder ob der sichere Zustand erreicht wurde.

Des Weiteren bietet der Funktionsbaustein auch Eingänge, um Fehler eines einzelnen Slaves zu quittieren, sowie die SRDO-Kommunikation temporär zu deaktivieren.

Für weitere Informationen siehe CANopenManagerSIL2 und CANRemoteDeviceSafe (FB)