Netzwerkmanagement

Das Netzwerkmanagement (NMT) definiert das Kommunikationsverhalten eines CANopen Teilnehmers und besteht aus den Zuständen Initialisation, Pre-Operational, Operational und Stopped.

Wird ein Teilnehmer eingeschaltet oder neu gestartet, wechselt der Teilnehmer automatisch in den Zustand Initialisation. Sobald der Zustand Initialisation abgeschlossen ist, wechselt der Teilnehmer automatisch in den Zustand Pre-Operational.

Von diesem Zustand aus kann jeder andere Zustand eingenommen werden. Damit z.B. die Teilnehmer starten, ist nur eine einzige CAN-Nachricht erforderlich:
Start_Remote_Node: Identifier 0, zwei Datenbytes: 0x01, 0x00.
Diese Nachricht überführt die Teilnehmer in den Zustand Operational.

Das folgende Diagramm zeigt welche Zustände ein CANopen Teilnehmer einnehmen kann:

Netzwerkmanagement 1:


  • Initialisation
    Der Teilnehmer geht automatisch in den Zustand Initialisation. Sobald der Zustand Initialisation abgeschlossen ist, geht der Teilnehmer automatisch in den Zustand Pre-Operational.
  • Pre-Operational
    Nach der Initialisierung wechselt der Teilnehmer automatisch, d.h. ohne Befehl von außen, in den Zustand Pre-Operational. In diesem Zustand sind die Servicedatenobjekte (SDO) bereits aktiv und der Teilnehmer kann konfiguriert werden. Die Prozessdatenobjekte (PDO) sind noch gesperrt.
  • Operational
    Im Zustand Operational sind die Prozessdatenobjekte (PDO) aktiv.
    Wenn der Teilnehmer wegen äußerer Einflüsse (z.B. CAN-Störung, keine Ausgangsspannung) oder innerer Einflüsse (z.B. K-Bus-Fehler) nicht mehr in der Lage ist, Ausgänge zu setzen oder Eingänge zu lesen bzw. zu kommunizieren, dann versucht er eine entsprechende Emergency-Nachricht zu senden. Danach geht der Teilnehmer in den Fehlerzustand und wechselt in den Zustand Pre-Operational zurück. Damit kann auch die NMT-Statusmaschine des Masters fatale Fehler sofort erkennen.
  • Stopped
    Im Zustand Stopped (früher Prepared) ist keine Kommunikation mit dem Teilnehmer möglich. Nur Netzwerkmanagement (NMT) Nachrichten werden empfangen. Die Ausgänge gehen in den Fehlerzustand.

Zustandsübergänge

Die Zustandsübergänge werden mit einer CAN-Nachricht ausgeführt. Die CAN-Nachrichten haben einen sehr einfachen Aufbau:
CAN-Identifier 0 mit zwei Byte Dateninhalt.

  • Das erste Datenbyte enthält den sogenannten Command-Specifier (cs),
  • das zweite Datenbyte die Knotenadresse (Node-ID), wobei die Knotenadresse 0 alle Knoten anspricht (Broadcast).

11-bit Identifier

2 Byte Nutzdaten

0x00

cs

Node-ID

 

 

 

 

 

 

 

Die folgende Tabelle gibt einen Überblick über alle möglichen Zustandsübergänge und die dazugehörigen Command Specifier (cs). Nehmen Sie auch das zuvor gezeigte Diagramm, dass die Zustände veranschaulicht, als Übersicht dazu:

Zustandsübergang

Command Specifier cs

Erläuterung

(1)

--

Der Initialisierungs-Status wird beim Einschalten selbsttätig erreicht

(2)

--

Nach der Initialisierung wird der Status Pre-Operational automatisch erreicht - dabei wird die Boot-Up-Nachricht abgeschickt.

(3), (6)

cs = 1 = 0x01

Start_Remote_Node.
Startet den Teilnehmer, gibt Ausgänge frei und startet die PDO-Übertragung.

(4), (7)

cs = 128 = 0x80

Enter_Pre-Operational.
Stoppt die PDO-Übertragung, SDO weiter aktiv.

(5), (8)

cs = 2 = 0x02

Stop_Remote_Node.
Ausgänge gehen in den Fehlerzustand, SDO und PDO abgeschaltet.

(9)

cs = 129 = 0x81

Reset_Node.
Führt Reset durch. Alle Objekte werden auf Power-On Defaults zurückgesetzt.

(10)

cs = 130 = 0x82

Reset_Communication.
Führt Reset der Kommunikationsfunktionen durch. Objekte 0x1000 - 0x1FFF werden auf Power-On Defaults zurückgesetzt

Beispiel 1
Mit folgendem Telegramm werden netzwerkweit alle Teilnehmer in den Fehlerzustand (Ausgänge sicherer Zustand) überführt:

11-bit Identifier

2 Byte Nutzdaten

0x00

0x02

0x00

 

 

 

 

 

 

 

Beispiel 2
Mit folgendem Telegramm wird Knoten 17 zurückgesetzt (neu gestartet):

11-bit Identifier

2 Byte Nutzdaten

0x00

0x81

0x11