Unbekannter CANopen NMT Befehl -> Reaktion

OP #4820871
Hallo,

zu meiner Frage:
wie soll sich ein CAN Slave verhalten, wenn er ein NMT Befehl empfängt, 
welcher nicht in CanOpen spezifiziert ist ?

Ich habe hier zwei verschiedene Slaves. Der eine geht in STOP und der 
andere ignoriert den nicht bekannten Befehl einfach, deswegen stellt 
sich mir die Frage, was ist "richtiger" ?

Ich habe schon die CiA DS301 und das Internet durchsucht, aber nichts 
aussagekräftiges gefunden.
Der einzige Hinweis war dass es eventuell im "Device Profile" stehen 
könnte.

Vilen Dank schon mal für die Antworten !

Gruß
Florian
Gast
Mir ist auch keine Festlegung im CiA301 bekannt.

Vorschlag: Frag die CiA in Nürnberg und veröffentliche die Antwort hier 
in diesem Thread.
Ich habe die Fachleute dort als sehr aufgeschlossen erlebt.

Mein Bauch sagt: Ungültige NMT Befehle ignorieren führt zu einem 
robusteren Verhalten des Knotens.
OP
Anfrage ist rausgegangen ;-)

Klar wird der Knoten robuster, aber ist dies gewollt?

Meine Gedankengang war nur etwas anders aus sicht eines CANopen Slaves:
 - Ich empfange einen Befehl mit höchter Priorität
 - Ich verstehe nicht was mir der Master befehlen will
 - Ich stelle mir die Frage, ob es dem Master schon noch gut geht
 - Ich geh lieber mal in den STOP Modus, damit nichts passieren kann

Bei der robusten Lösung verstehe ich das eher so:
 - Scheiß egal welchen Mist mir der Master befehlen will, ich mach 
weiter

Gruß
Florian
OP
Antwort von CiA:

CiA 301 beschreibt keine Reaktion auf eine falsche Implementierung.
Sollte so ein nicht CiA 301 konforme NMT Befehl geben dann ist das
Verhalten des Empfängers (CANopen Gerätes) undefiniert.

Ich würde jedoch ein unbekannte NMT Befehl ignorieren,
denn wenn eine Reaktion darauf  wie der Übergang des Gerätes in NMT 
Stopped  kommt, wäre das ebenso eine falsche Implementierung wie die des 
Gerätes welches ein falsches NMT Befehl sendet.
Es ist fest vorgegeben in CiA 301 von welchem NMT Zustand der Übergang 
zum NMT Stopped erfolgen soll.

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 9 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.