Hallo zusammen, ich steuer mittels eines STM32 ein CANOpen Gerät an. Hierbei werden SDOs gesendet die Parameter im Gerät ändern sollen. Sende ich die SDOs aus dem STM32 in einem zu kleinem Zeitabstand (<0,5ms) reagiert das Gerät nicht auf das zweite SDO. Weder der Parameter wird übernommen, noch wird die Antwortnachricht gesendet. Werden die Nachrichten mit größerem Zeitabstand gesendet (>1.5 ms) funktioniert die Kommunikation problemlos. Hierbei antwortet das Gerät auch zwischen den gesendeten Nachrichten. Daher die Frage: Gibt es einen definierten Mindestzeitabstand zwischen zwei SDOs oder darf ein zweites SDO erst nach der Antwort des Gerätes gesendet werden? Vielen Dank für eure Bemühungen Jens
Bei CANOpen gibt es eine "inhibit time": http://www.softing.com/home/en/industrial-automation/products/can-bus/more-can-open/process-data-object/pdo-parameter-inhibit-time.php?navanchor=3010609 Vielleicht liegt es daran.
SDO sind bestätigte Dienste. Ein Requester, der SDO Client, sendet den SDO Request und wünscht beim SDO Server ein Datum zu ändern. Dieser quittiert die Schreibanforderung mit OK oder einem sogenannten SDO Abort bei Fehlern, z.B. Schreiben auf dieses Datum nicht erlaubt. Jeder SOD Server wird erst einen neuen Request erlauben, wenn er den vorigen mit einer Response beantwortet hat. Ich empfehle bei Arbeiten mit dem CANopen Protokoll unbedingt das Buch: CANopen: Das standardisierte, eingebettete Netzwerk, Holger Zeltwanger, hard cover,190p. VDE-Verlag ; ISBN-13: 978-3800728459; und den Besuch der Wiki Seiten auf http://www.can-wiki.inf/doku.php?id=can_literature:main Grüße Heinz
Im Link fehlt ein 'o' bei info. Copy&Paste ... http://www.can-wiki.info/doku.php?id=can_literature:main
Hätte mit paste and copy nicht passieren dürfen :-) Heinz
Hallo, danke für die Antworten. Hat mir weitergeholfen! Grüße!
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.