Hallo, ich möchte bei meinem CANopen Slave keine Angaben über das Defaultmapping für die PDOS tätigen, sondern das PDO-Mapping soll zur Laufzeit von dem Master bestimmt werden. Welche Objektverzeichnisse müssen hierfür über eine Write-SDO geändert werden? Freundliche Grüße Biba
Es müssen die Kommunikations- und die Mapping Parameter der jeweiligen PDOs angefasst werden. Entsprechend CiA301 lassen sich PDOs nur im deaktivierten Zustand ummappen. Es können nur Mappbare Objekte gemappt werden. Das PDO muss dynamisches PDO Mapping unterstützen. => eds File
Steffen R. schrieb: > Entsprechend CiA301 lassen sich PDOs nur im deaktivierten Zustand > ummappen. Also soll ich den Slave in den Pre-Operation Modus setzen, dann die entsprechenden Einträge ändern und ihn anschließend wieder zurück setzen?
Eine PDO wird über Bit31 in der COBID deaktiviert. Aber es ist günstig, dies im NMT Preoperational Zustand zu machen.
Steffen R. schrieb: > Eine PDO wird über Bit31 in der COBID deaktiviert. > Aber es ist günstig, dies im NMT Preoperational Zustand zu machen. Danke dir, hat mir schon mal geholfen. Allerdings habe ich noch ein Problem. Und zwar kann ich eine deaktivierte PDO ummappen, was absolut perfekt klappt. Die PDO wird auch gesendet, bei Änderung des Wertes. Allerdings kann ich nachdem die PDO einmal benutzt wurde, sie nicht mehr ummappen, es kommt immer die Fehlermeldung 0x06 01 00 00 zurück bei dem Versuch sie umzumappen, trotz gesetztem 31 Bit in der COB ID. Hat einer eine Idee woran das liegen könnte?
Biba schrieb: > Danke dir! Hinbekommen? Der Vollständigkeit halber: Auch das (alte) Mapping muß ungültig gemacht werden. (Sub 0 des Mappings auf 0). Alles Nachzulesen im CiA301, welches jeder Downloaden kann.
Steffen R. schrieb: > Biba schrieb: >> Danke dir! > > Hinbekommen? > > Der Vollständigkeit halber: > Auch das (alte) Mapping muß ungültig gemacht werden. (Sub 0 des Mappings > auf 0). > > Alles Nachzulesen im CiA301, welches jeder Downloaden kann. Ja genau so hab ichs jetzt gemacht und klappt. Danke. Hab noch eine Frage zu SDOs. Und zwar kann ich den Wert eines Gerätespezifischen Einträgs, welcher als READ-PDO dient nur im Pre-Operational Modus ändern. Ist das normal? Die Write-PDO kann ich auch im Operational Modus über eine SDO ändern.
Ich gehe bei der Beantworteung mal davon aus, dass mit READ-PDO = Receive PDO und WRITE-PDO = Transmit PDO aus Sicht des Gerätes gemeint ist. Und ich gehe davon aus, dass auf gemappte Daten per SDO zugegriffen werden soll. Biba schrieb: > Und zwar kann ich den Wert eines Gerätespezifischen Einträgs, welcher > als READ-PDO dient nur im Pre-Operational Modus ändern. Ist das normal? Normal nicht unbedingt. Kommt aber vor. > Die Write-PDO kann ich auch im Operational Modus über eine SDO ändern. Dies ist eher merkwürdig, da TPDOs häufig Werte der Hardware oder der Applikation versenden. Diese sind üblicherweise read-only.
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.