Forum: Mikrocontroller und Digitale Elektronik Frage zu Mapped PDO's bei CANOpen


von Holger B. (rst-el)


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 ?

von Christopher B. (chrimbo) Benutzerseite


Lesenswert?

Ich bin mir gerade nicht sicher was du genau haben willst. Kannst du das 
nochmal erklären?
Gruß

von Holger B. (rst-el)


Lesenswert?

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.

von NurEinGast (Gast)


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.

von Christopher B. (chrimbo) Benutzerseite


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

von Holger B. (rst-el)


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.

von Kindergärtner (Gast)


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

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
Noch kein Account? Hier anmelden.