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
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.
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
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.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.