CANopen-Grundlagen - Wächter - und Heartbeat-Node Überwachung über Node-Guarding - oder Heartbeat-Meldungen Um die Funktionsfähigkeit von Netzwerkknoten zu gewährleisten, bietet CANopen zwei Alternativen: Zyklische Abfrage des Knotenzustands durch eine Instanz höherer Ordnung, den sogenannten NMT-Master (Node Guarding Prinzip) ) Oder Automatische Übertragung einer Heartbeat-Nachricht durch die Netzwerkknoten (Heartbeat-Prinzip). Bei Knotenüberwachung fordert ein bestimmter Netzknoten (der sogenannte NMT-Master) die anderen Knoten im Netzwerk (entsprechend als NMT-Slaves bezeichnet) mit einem CAN-Remote-Frame nacheinander in definierten Intervallen (Wächterzeit) bis an Ein Datentelegramm mit seinem aktuellen Kommunikationszustand (gestoppt, betriebsbereit, voroperativ) zusammen mit einem Toggle-Bit senden. Wenn ein Knoten innerhalb einer bestimmten Zeit (Knotenlebensdauer) nicht auf die Anforderung des NMT-Masters antwortet, wird dies als Fehler des Knotens bewertet und dem Host-Controller des NMT-Masters als Knotenwächter angezeigt . Andererseits überwachen die NMT-Slaves auch, ob sie innerhalb der Lebensdauer eine Anfrage vom NMT-Master erhalten haben. Wenn eine solche Anforderung länger als die sogenannte Lebensdauer eines Knotens fehlte, geht der NMT-Slave davon aus, dass der NMT-Master selbst fehlgeschlagen ist und dieses Ereignis als Life-Guarding-Ereignis an seinen Hostcontroller anzeigt CAN-Identifizierung pro Knoten erforderlich ist, um den Kommunikationszustand anzufordern. Meldungen mit niedriger Priorität mit einem Wert von 1792 Knoten-ID sind dafür reserviert. Bei Knotenüberwachung nach dem Heartbeat-Prinzip überträgt ein Knoten automatisch seinen Kommunikationszustand in regelmäßigen Intervallen als Nachweis seiner Kommunikationsfähigkeit. Das Intervall zwischen zwei Heartbeat-Meldungen (Heartbeat-Intervall) eines Heartbeat-Produzenten wird über den Objektverzeichniseintrag 1017 konfiguriert. Ein Wert von 0 deaktiviert den Heartbeat-Mechanismus. Die sogenannte Heartbeat-Consumer-Zeit der bis zu 127 Netzwerkknoten wird im OD-Eintrag 1016 angegeben. Dieses Zeitintervall beschreibt die maximale Zeit, innerhalb der die Ankunft einer Heartbeat-Nachricht von einem bestimmten Knoten erwartet wird. In einer Guarding - oder Heartbeat-Nachricht wird der Kommunikationsstatus in Form eines Ein-Byte-Wertes übertragen: t. Toggle-Bit mit Knotenüberwachung r. Reserviert (0) mit Heartbeat Folgende Zustandswerte sind definiert: 0x00 - Bootup 0x04 - Stopped 0x05 - Operational 0x7F - Pre-Operational. Dem höchstwertigen Bit wird eine besondere Rolle zugewiesen - mit der Schutzfunktion muss es umschalten, bei Heartbeat muss es konstant 0 sein. Die Knotenstatusmeldung hat eine spezielle Applikation als sogenanntes Bootup-Ereignis. Diese Nachricht (Boot-up-Nachricht) wird automatisch von einem Netzknoten gesendet, sobald sie vom Initialisierungsstatus zum Pre-Operational-Zustand wechselt. Dadurch werden alle in einem CANopen-Netzwerk vorhandenen Knoten über die Anwesenheit eines neuen Knotens benachrichtigt. Zusätzlich wird ein Konfigurationsknoten (NMT-Master) informiert, wenn er mit der Konfiguration eines Knotens beginnen kann. Das Datenbyte der Startnachricht hat den Wert 0x00. Für weitere Informationen über die IXXAT CANopen Produkte von HMS besuchen Sie bitte unsere Unternehmenswebseite ixxat (C) 2004-2016 HMS Technology Center Ravensburg GmbHCANopen Netzwerkmanagement (NMT) Neben der Bereitstellung von Diensten und Protokollen für die Übertragung von Prozessdaten und die Konfiguration von Vorrichtungen erfordert der Betrieb eines über ein Netzwerk verteilten Systems Funktionen zur Befehlssteuerung des Kommunikationszustands der einzelnen Netzknoten. Da die Datenübertragung durch CANopen-Geräte in vielen Fällen ereignisgesteuert ist, ist auch eine kontinuierliche Überwachung der Kommunikationsfähigkeit der Netzknoten erforderlich. CANopen stellt für diese Aufgaben sogenannte Network Management Services und Protokolle bereit, nämlich die Steuerung des Kommunikationszustands von Netzwerkknoten und Knotenüberwachung. Status eines CANopen-Netzknotens und Zustandssteuerung über NMT-Meldungen CANopen beschreibt den Kommunikationszustand eines Netzknotens in einem Zustandsdiagramm. Durch das Senden spezifischer CAN-Meldungen (NMT-Meldungen) kann der Netzwerkmanagement-Master den Kommunikationszustand der anderen Netzknoten (die Netzwerkmanagement-Slaves) eines CANopen-Netzes steuern, dh er kann den Zustand aller Knoten oder eines einzelnen Knotens um a ändern Einzigen Befehl. NMT-Nachrichten werden mit der Nachrichten-ID mit der höchsten Priorität (CAN-ID 0) übertragen. Das Datenfeld besteht aus nur zwei Bytes: der gewünschte Zielzustand wird im ersten Datenbyte kodiert, das zweite Datenbyte gibt die Nummer des Knotens an, dessen Kommunikationszustand geändert werden soll. Auf diese Weise werden alle Knoten eines Netzes gemeinsam mit der virtuellen Knoten-ID 0 adressiert, zum Beispiel können alle Knoten gleichzeitig zum Zwecke eines gleichzeitigen Betriebsbeginns in den Betriebszustand gesetzt werden. Zustände und Zustandsänderungen Um auch ein teilweises Zurücksetzen eines bestimmten Knotens zu ermöglichen, gliedert sich dieser Zustand in drei Subzustände: Reset-Applikation, Reset-Kommunikation und Initialisierung. Nach einem HW-Reset oder Power-On befindet sich ein Knoten im Initialisierungszustand. Nach Beendigung der Grundknoteninitialisierung (z. B. Hostcontroller, CAN-Controller, Anwendungssoftware etc.) überträgt der Knoten die sogenannte Boot-up-Nachricht und schaltet sich selbst in den Pre-Operational-Zustand. Im Teilzustand Reset-Anwendung werden die Parameter des herstellerspezifischen und des Standardgeräteprofils auf ihre Power-On-Werte zurückgesetzt (entspricht den zuletzt gespeicherten Werten). Dann wechselt der Knoten in den Unterzustand Reset-Kommunikation. Im Subzustand Reset-Kommunikation werden die Parameter des Kommunikationsprofils auf Power-On Werte zurückgesetzt. Dann wechselt der Knotenzustand zu Initialisieren. Pre-Operational Dieser Zustand wird hauptsächlich für die Konfiguration von CANopen-Geräten verwendet. Daher ist ein Austausch von Prozessdaten (über PDOs) in diesem Zustand nicht möglich. Auf die Einträge der Geräteobjektwörterbücher kann über Service Data Objects (SDOs) zugegriffen werden. Durch Übertragen einer SDO-Nachricht kann das Objektverzeichnis einer bestimmten Vorrichtung modifiziert werden, z. B. Mit einem Konfigurationswerkzeug. Neben der Kommunikation über SDO-Meldungen können auch Notfall-, Synchronisations-, Zeitstempel und natürlich auch NMT-Steuerungsnachrichten gesendet oder empfangen werden. Durch Übertragen eines Start-Remote-Knotens wechselt ein Knoten in den Betriebszustand. Betrieb In diesem Zustand ist die Übertragung von Prozessdaten über so genannte Prozessdatenobjekte (PDOs) möglich. Mit Ausnahme von Knotenüberwachungs - oder Heartbeat-Nachrichten kann ein Knoten in diesem Zustand keine anderen Nachrichten senden oder empfangen. CANopen-Geräteüberwachung mit Node Guarding und Heartbeat-Mechanismen Um die Funktionsfähigkeit von Netzwerkknoten zu gewährleisten, bietet CANopen zwei Alternativen: Zyklische Abfrage des Knotenzustands durch eine höhere Ordnung, den sogenannten NMT-Master (Node Guarding Prinzip) oder Automatische Übertragung von a Heartbeat-Meldung durch die Netzwerkknoten (Heartbeat-Prinzip). Eine CAN-ID pro Knoten wird benötigt, um den Kommunikationszustand der Vorrichtung zu überwachen. Meldungskennungen mit niedriger Priorität mit einem Wert von 1792 Knoten-ID sind dafür reserviert. Bei der Knotenüberwachung fordert der NMT-Master die anderen Knoten im Netzwerk (nachfolgend als NMT-Slaves bezeichnet) mit einem CAN-Remote-Rahmen hintereinander an In vorgegebenen Intervallen (Guard Time) ein Datentelegramm mit seinem aktuellen Kommunikationszustand (gestoppt, betriebsbereit, voroperativ) zusammen mit einem Toggle-Bit zu übertragen. Wenn ein Knoten innerhalb einer bestimmten Zeit (Knotenlebensdauer) nicht auf die Anforderung des NMT-Masters antwortet, wird dies als Fehler des Knotens bewertet und dem Host-Controller des NMT-Masters als Knotenwächter angezeigt . Andererseits überwachen die NMT-Slaves auch, ob sie innerhalb der Lebensdauer eine Anfrage vom NMT-Master erhalten haben. Wenn eine solche Anforderung länger als der sogenannte Lebenszeitfaktor eines Knotens fehlte, geht der NMT-Slave davon aus, dass der NMT-Master selbst fehlgeschlagen ist und dieses Ereignis als Life-Guarding-Ereignis an seinen Host-Controller zeigt. Bei Knotenüberwachung nach dem Heartbeat-Prinzip überträgt ein Knoten automatisch seinen Kommunikationszustand in regelmäßigen Intervallen als Nachweis seiner Kommunikationsfähigkeit. Das Intervall zwischen zwei Heartbeat-Meldungen (Heartbeat-Intervall) eines sogenannten Heartbeat-Produzenten wird über den Objektverzeichniseintrag 1017 konfiguriert. Ein Wert von 0 deaktiviert den Heartbeat-Mechanismus. Im OD-Eintrag 1016 wird die sogenannte Heartbeat-Consumer-Zeit von bis zu 127 Netzwerkknoten angegeben. Dieses Zeitintervall beschreibt die maximale Zeitperiode für das Eintreffen einer Heartbeat-Nachricht an einem Überwachungsknoten. Heutzutage wird keine Knotenüberwachung mehr verwendet. Dies könnte vor allem auf die höhere Buslast (aufgrund von 2 CAN-Nachrichten pro Überwachungsintervall), aber auch auf die unerwünschte Zentralisierung der entscheidenden Knoten-gesunden Umfrage am NMT-Master zurückzuführen sein. Für weitere Informationen über die IXXAT CANopen Produkte von HMS besuchen Sie bitte unsere Unternehmenswebseite ixxat (C) 2004-2016 HMS Technology Center Ravensburg GmbH
Comments
Post a Comment