Frage zu Mapped PDO's bei CANOpen

OP #3516759
Lesenswert?
• ▲
▼
Hallo,

ich beschäftige mich mit der Implementierung eines virtuellen Terminals 
in CANOpen.

Der Datenaustausch soll mittels Mapped PDO erfolgen:

COB-ID: 0x500 + 0x02 (Node ID Gerät)
Länge: 8 Bytes
Address: 0x02
Multiplexor: 0x600Ah, Subindex 2
Data: 4 Zeichen

Mir ist nicht ganz nicht klar, wie die zu sendenden Mapped-PDO's 
aussehen müssen.

Ich würde diese folgendermaßen belegen:

Byte1+Byte2: 0x600A (Multiplexor)
Byte3: 0x02 (Subindex)
Byte4: 0x08 (Länge)
Byte 5..8: Daten

Stimmt das so ?
Gast #3518195
Lesenswert?
• ▲
▼
Holger B. schrieb:
> Zur Übertragung der eingentlichen Daten stehen ja bei den Mapped
> PDO's nur 4 Byte zur Verfügung. die anderen 4 Bytes enthalten
> Objekt-Infos.
>
> Diesbezüglich bin ich mir nicht sicher, wie diese 4 Bytes mit den
> Zusatzinfos aussehen müssen.

Wo steht das ?
Kenne ich so nicht.
Persönliche Seite #3518231
Lesenswert?
• ▲
▼
Ich beschreib das mal wie das bei mir aussieht mit PDO1
Ich habe ein PDO indem stehen quasi die Parameter der Übertragung. Also 
die COB-ID des PDO, den Übertragungstyp, den Intervall, etc.

Dann hab ich noch das eigentliche Datenobjekt bzw. mehrere davon, in dem 
die Daten stecken die über das PDO gesendert werden sollen.

Und dann noch ein/mehrere Objekt, welches die Zusammensetzung des PDOs 
aus den Daten enthält. Und dieses ist wie folgt aufgebaut: XXXX YY ZZ
X: Adresse
Y: Subadresse
Z: Länge

Fiktives Beispiel:
Daten liegen auf Objekt 7000 Sub0 8 Bit und 7005 Sub3 32 Bit:
DIe beiden zum PDO zugehörigen Objekte haben dann als Wert:
[70000008] und [70050320]

Ich hoffe ich konnte dir helfen
OP #3518850
Lesenswert?
• ▲
▼
@ Christoper:

Danke !

In Deiner Anwendung scheinen die PDO's mit den Daten und den Objektinfos 
getrennt zu sein.

Demnächst bekomme ich ein Gerät, welches Tastatur-Daten über MPDO nach 
CiA417 sendet. Daraus kann ich die Zusammensetzung der Nachrichten 
analysieren.

Im Internet habe ich diverse Beiträge gefunden - die Multiplexor-PDO 
scheinen vom Applikationsprofil abzuhängen.
Gast #3518868
Lesenswert?
• ▲
▼
Holger B. schrieb:
> Zur Übertragung der eingentlichen Daten stehen ja bei den Mapped
> PDO's
> nur 4 Byte zur Verfügung. die anderen 4 Bytes enthalten Objekt-Infos.
Von so etwas steht im CANopen-Standard EN 50325-4 nichts. PDO-Messages 
enthalten immer nur 1-8 Datenbytes. Zu welchen Objekten die im 
Dictionary gehören wird über die "PDO Communication Parameter Record"'s 
(Indices 0x1400-0x15FF, 0x1800-0x19FF) und "PDO Mapping Parameter 
Record"'s (Indices 0x1600-0x17FF, 0x1A00-0x1BFF) festgelegt.

Wenn du ohne (die etwas fummelige) Konfiguration dieser Parameter 
"direkt" Multiplexer & Daten "in einem" übertragen willst, brauchst du 
SDO's. Bei denen gibt es die "Expedited" Variante, bei der tatsächlich 4 
Datenbytes Kommando+Multiplexor sind und die restlichen 4 Daten.
Das ist aber nur eine von 4 (PDO, Segmented SDO, Expedited SDO, Block 
SDO) Transfer-Möglichkeiten. Ein CANopen-konformes Gerät muss davon aber 
mindestens 3 (PDO, Segmented SDO, Expedited SDO) unterstützen.

Holger B. schrieb:
> Demnächst bekomme ich ein Gerät, welches Tastatur-Daten über MPDO nach
> CiA417 sendet. Daraus kann ich die Zusammensetzung der Nachrichten
> analysieren.
Wenn das Gerät CANopen-Konform ist, nein; dann musst du die Transfer-Art 
konfigurieren (durch ein eigenes Programm auf einem µC oder ein 
gekauftes Konfigurations-Tool) und kannst nach deinen Wünschen 
einstellen was da übertragen wird. Standardmäßig sendet ein 
CANopen-Gerät nämlich gar nichts.

Holger B. schrieb:
> Im Internet habe ich diverse Beiträge gefunden - die Multiplexor-PDO
> scheinen vom Applikationsprofil abzuhängen.
Ja, die Indices werden teilweise vom CANopen-Standard, dem Profil, dem 
Hersteller definiert.

PS: Es ist stark zu empfehlen, ein Buch über CANopen zu lesen, da der 
Standard nicht sonderlich gut verdaulich ist; z.B. ISBN 0929392787

Antwort schreiben

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

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.