CANopen dynamic PDO mapping über SDO

Gast #4357675
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
Gast
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?
Gast
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.

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 10 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.