MCO 305 Projektierungshandbuch
sysvar[0x01120101] = (SDO2_txid | COB_NOT_VALID)
sysvar[0x01120102] = (SDO2_rxid | COB_NOT_VALID)
CANopen Master Library
Diese Bibliothek bietet Funktionen um den Einsatz von CANopen-Slaves wie I/O-Module oder Drehgeber
oder sogar Antriebe zu unterstützen. Diese Funktionen erlauben nicht nur die Konfiguration mit SDOs
sondern auch den Einsatz von Prozessdaten durch PDOs.
SDOREAD und SDOWRITE werden benutzt, um die Object Dictionary eines beliebigen Slaves zu lesen oder
zu schreiben. Auch SDOREADSEG bzw. SDOREADSEGP, die das segmentierte Lesen erlauben (entweder
ungepackt oder gepackt), werden bei der Ausführung unterstützt.
Solche Befehle erlauben dem Anwender CAN-Slaves über den Bus zu konfigurieren und zu steuern. So
könnte zum Beispiel ein weiterer Antrieb auf ein spezielles Modul gesetzt oder der Antrieb mit einer vorge-
gebenen Drehzahl gestartet werden (falls der Antrieb über eine CAN-Option verfügt).
Um den einfachen Gebrauch von externen I/Os über den CAN-Bus zu ermöglichen, wurden die normalen IN
und OUT Befehle erweitert. Sobald eine Nummer größer als 256 bestimmt wird, wird automatisch ein CAN-
I/O angenommen. Daher wird mit dem Befehl OUT 257 1 der Ausgang Nummer 1 auf das CAN-I/O Modul
mit der Node ID 1 gesetzt.
Die Nummer des Ausgangs entspricht (Node_Id * 256 + Ausgangs-Nr.). Das gleiche gilt für INAD und
OUTDA. Daher können beliebige analoge I/O-Module benutzt werden.
Des weiteren kann ein CANopen-Modul mit dem Befehl CANINI angemeldet werden. Dabei wird das Modul
automatisch im Hintergrund überwacht. Dies macht auch den I/O-Traffic schneller und man kann sogar ein
ON INT für einen CANopen-Eingang verwenden.
Folgende Befehle und Parameter realisieren Master-Funktionalität:
Befehl
Beschreibung
CANIN (>100)
Sammelt alle Transmit-
PDOs von digitalen
Eingangs-Modulen oder den
CAN-Antriebstatus mit
einem einzigen CAN-
Telegramm.
CANINI,
Initialisiert die notwendigen
Objekte (PDOs) für den
Datenaustausch mit
CANopen-Teilnehmern oder
aktiviert die erweiterten
Funktionen CANINI und
CANIN.
SDOREAD
Liest SDO eines
angeschlossenen CANopen
Gerätes.
192
__ Programmieren mit APOSS __
Syntax
erg = CANIN (id *
100) timeout control
varhi varlo
CANINI nr, nr, ...,
CANINI 999
CANINI nr, 999, ...
val = SDOREAD id
index sub
®
MG.33.L5.03 – VLT
ist ein eingetragenes Warenzeichen von Danfoss.
Parameter
id = CAN id
timeout =
-1 = wartet nicht auf Daten
0 = wartet bis die Daten ankommen
>0 = wartet timeout [ms] auf Daten
control =
0 = kopiert die neu erhaltenen Daten in
die Variablen
1 = sendet einen Remote-Fame and
wartet auf Daten abhängig von timeout
varhi = Byte 0 bis 3 der CAN Objektdaten
varlo = Byte 4 bis 7 der CAN Objektdaten
nr = guard * (busoffset * 1000 + id)
guard = -1, +1 (mit / ohne Guarding)
busoffset = 100000 , 0 (Slave-Bus,
Master-Bus)
id = CAN ID (1...127)
-id = führt den Befehl ohne Warten auf
eine Antwort aus
index = Index des Objekts
sub = Subindex (0x00 – 0xFF)