Anwendungsbeispiel
Angenommen, ein Netzwerk besteht aus mehreren CANopen-Geräten und dem NMT-Master 2 (siehe Bild 4), und das Netzwerk soll ohne funktionstüchtigen NMT-Master nicht lauffähig sein. NMT-Master 2 ist der aktive NMT-Master. Der NMT-Master 1 wird eingeschaltet. Dieser wartet für eine bestimmte, gerätespezifische Zeit und prüft dann, ob bereits ein anderer NMT-Master aktiv ist. Da dies der Fall ist, vergleicht der NMT-Master 1 seine Priorität mit der von NMT-Master 2. Wie in Bild 4 zu sehen ist, sind die Prioritäten identisch, der NMT-Master bleibt, trotz höherer Knotennummer, aktiv. NMT-Master 3 wird eingeschaltet, welcher auf Grund seiner höheren Priorität (siehe Bild 2) den Dienst \’Force NMT flying master negotiation\‘ auführt; es kommt zum \’NMT flying master negotiation\‘. NMT-Master 3 wird zum aktiven NMT-Master, da er wegen seiner niedrigen Priorität eine deutlich kürzer Antwortzeit hat (siehe Formeln). Die beiden anderen potentiellen NMT-Master wechseln nach Erhalt der Bestätigung von NMT-Master 3 in den Modus NMT-Slave. Der Ausfall von NMT-Master 3 wird von den anderen potentiellen NMT-Mastern durch die Überwachung des aktiven NMT-Masters, z.B. durch Heartbeat bemerkt. Andere CANopen-Geräte bemerken ebenfalls den Ausfall des aktiven NMT-Masters und können dies durch das Senden einer Emergency-Nachricht signalisieren. Zur Sicherung der Funktion des Systems findet eine neue NMT master negotiation statt, um einen neuen aktiven NMT-Master zu bestimmen. Nach dem Ausfall von NMT-Master 3 wird NMT-Master 1 der aktive NMT-Master, da er bei gleicher Priorität über eine kleine Node-ID besitzt und somit 1150ms (in der Voreinstellung) vor NMT-Master 2 antwortet.
Geteiltes Netzwerk
Ein anderes Szenario ist das fehlerhafte oder unbeabsichtige Trennen eines Netzwerkes, so dass sich die potentiellen NMT-Master auf die beiden Teilnetzwerke aufteilen. In dem Teil des Netzwerkes, indem es keinen aktiven NMT-Master gibt, wird einer der potentiellen NMT-Master zum aktiven NMT-Master durch den \’NMT master negotiation\‘-Dienst. Nun ist jeweils ein NMT-Master in den beiden Teilnetzwerken aktiv. Wird das Kabel im laufenden Betrieb wieder verbunden, so gilt es, einen Konflikt zwischen den aktiven NMT-Mastern zu verhindern. Dies kann man beispielsweise durch ein regelmäßiges Ausführen des Dienstes \’Active NMT-master detection\‘ lösen. Oder dies wird anhand der Überwachung des periodisch gesendeten Heartbeat-Protokolles entdeckt. Jedes CANopen-Gerät sendet periodisch diese Nachricht, deren CAN-Identifier sich aus der Geräteadresse (node-ID) abgeleitet ist. Im Falle einer unbeabsichtigten Netzwerkteilung bemerken die potentiellen NMT-Master, dass der aktive NMT-Master keine Heartbeat-Nachricht mehr sendet. Der höchstpriore übernimmt dann das Netzwerkmanagment. Falls die beiden Teilnetzwerke wieder verbunden werden, entdecken die beiden aktiven NMT-Master gegenseitig die Heartbeat-Nachrichten und leiten den Prozess der \’NMT master negotiation\‘ ein. Der NMT-Master mit der höchsten Priorität ist danach wieder der einzig aktive NMT-Master, die anderen sind \’hot stand-by\‘.
Zusammenfassung
Mit dem \’Flying NMT master\‘-Konzept und der redundanten Auslegung der Busleitungen stehen standardisierte Meachnismen zum Aufbau von CANopen-Netzwerken für sicherheitskritische Anwendungen zur Verfügung. Neben der Schiffsautomation fordern auch die Medizintechnik, die Flugzeugindustrie, die Bahntechnik sowie die Energieerzeugung sichere Kommunikationssysteme. Hochverfügbare Netzwerke sind auch in einigen Maschinen und Anlagen erforderlich. Kasten: