MCO 305 Befehlsreferenz
LINKPDO
Kurzinfo
Syntax
Parameter
Beschreibung
__ Befehlsreferenz __
Mapping der RxPDOs: Inhalte eines RxPDO mit Elementen des internen
Systemvariablen-Pseudoarrays SYSVAR verknüpfen. Jede Änderung des RxPDOs
wird in der Folge automatisch in das konfigurierte SYSVAR-Element kopiert.
LINKPDO nr len indx pdo
nr
= Reihenfolge im RxPDO beginnend bei 1
len
= Anzahl der Bits, die übernommen werden sollen;
Bedingung: Länge = Vielfaches von 8 (bitweise);
(z.B. 128 um 4 long Werte in das PDO zu kopieren, falls PDO mehr als 8
Bytes hat.)
indx = Index des Systemvariablen-Pseudoarrays SYSVAR
pdo
= 1 .. 4 oder 5 ("serielles" PDO 5);
Um Abwärtskompatibilität zu gewährleisten werden alle anderen Werte
(z.B. auch der frühere Defaultwert 0) als 1 (= PDO 1) interpretiert.
ACHTUNG!
Die Reihenfolgen-Nummer (nr) muss – beginnend mit 1 – aufsteigen.
Multiple PDOs
Der Befehl kann für beliebige PDOs verwendet werden, d.h. PDO 2 .. PDO 5 werden
bei aktuellen Firmware- und Compilerversionen ebenfalls unterstützt. Die PDO-
Nummer wird mittels dem letzten Parameter (der in älteren Firmware-Versionen
reserviert war) des LINKPDO-Befehls übergeben. Um Abwärtskompatibilität zu
garantieren, wird jede Zahl abweichend von dem zulässigen Wertebereich als 1
interpretiert, d.h. das PDO 1 ist Default. Dies ermöglicht die Abwärtskompatibilität
mit älteren Versionen, bei denen keine PDO-Auswahl möglich war oder der letzte
Parameter auf 0 gesetzt wurde.
CANopen PDO Größe
Ein PDO ist immer 8 Byte lang; es kann daher maximal 8 Objekte enthalten.
PDO 5 (= „Serielles PDO") Größe
Die Mailbox-Größe des PDO 5 kann eine Länge von maximal circa 250 Bytes
besitzen. Das PDO 5 wird ebenfalls von dem Oszilloskop-Tool der APOSS
Entwicklungsumgebung genutzt. Es wird deshalb empfohlen dieses PDO nicht in
Applikationsprogrammen zu verwenden, die später mit dem Oszilloskop-Tool
gedebugged werden sollen.
Der Befehl LINKPDO verknüpft Inhalte von RxPDOs mit beliebigen Elementen des
Systemvariablen-Pseudoarrays SYSVAR. Dies wird als PDO-Mapping bezeichnet. Die
Inhalte des RxPDOs werden in der Folge automatisch, entsprechend der mit
LINKPDO erstellten Mapping-Konfiguration in die zugewiesenen Elemente des
Systemvariablen-Pseudoarrays kopiert.
Das Systemvariablen-Pseudoarray SYSVAR umfasst sämtliche SDOs (gemäß SDO
Object Dictionary) und somit auch jeweils die ersten 250 Elemente von
Anwendungsarrays. Es ist nahezu beliebig möglich den Inhalt von RxPDOs in interne
Variablen, Parameter oder Arrays zu leiten. Der benötigte SYSVAR-Index eines SDOs
kann wie folgt berechnet werden:
0x01000000 + ("SDO-Index" << 8) + "SDO-Subindex"
Beispiel 1: SDO 0x2300 / 12 (= SDO mit dem Achsparameter KPROP der Achse 1)
=> SYSVAR-Index: 0x0123000C
Beispiel 2: SDO 0x2100 / 5 (= SDO mit 1.Element des Anwendungsarrays 1)
®
MG.34.R1.03 – VLT
ist ein eingetragenes Warenzeichen von Danfoss.
55