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 ?
Ich bin mir gerade nicht sicher was du genau haben willst. Kannst du das nochmal erklären? Gruß
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.
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.
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
@ 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.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.