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
(BibliothekCAA CiA 405
)Eigenschaft
<Name im Gerätebaum>.CANopenState
(Bibliothek3S CANopenStack
)Methode
<Name im Gerätebaum>.GetDeviceState
(BibliothekCAA 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
undDEVICE_STATE
ist in der Bibliotheksdokumentation vonCANopenStack
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 BusstrangsRECV_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)