
Eiserstraße 5 / D-33415 Verl / Telefon 05246/963-0 / Telefax 05246/963-149
56
ADSREAD / ADSWRITE
Parameter Beschreibung
NETID Die NetID ist ein String mit 23 Byte Länge und ergibt sich per Default aus der IP-Adresse
des Rechners, ergänzt um zwei Bytes. Sie adressiert die FC5101 Karte und kann dem Griff
"ADS" im System Manager entnommen werden.
PORT Enthält die Portnummer des ADS Gerätes - hier also die Portnummer des zu adressieren-
den CANopen Busteilnehmers.
IDXGRP
Entspricht dem 16 Bit Index im CANopen Objektverzeichnis.
IDXOFFS
Entspricht dem 8 Bit Subindex im CANopen Objektverzeichnis.
LEN Die Länge des zu lesenden bzw. zu schreibenden Parameters in Bytes.
DESTADDR
(nur ADS-
READ)
Enthält die Adresse des Puffers, der die gelesenen Daten aufnehmen soll. Der Program-
mierer ist selbst dafür verantwortlich den Puffer in der Größe so zu dimensionieren, dass er
‚LEN' Bytes aufnehmen kann. Der Puffer kann eine Einzelvariable, ein Array oder eine
Struktur sein, dessen Adresse man mit dem ADR - Operator ermitteln kann.
SRCADDR (nur
ADSWRITE)
Enthält die Adresse des Puffers, aus dem die zu schreibenden Daten geholt werden sollen.
Der Programmierer ist selbst dafür verantwortlich, den Puffer in der Größe so zu dimensio-
nieren, dass ‚LEN'- Bytes daraus entnommen werden können. Der Puffer kann eine Einzel-
variable, ein Array oder eine Struktur sein, dessen Adresse man mit dem ADR - Operator
ermitteln kann.
READ Durch eine steigende Flanke an diesem Eingang wird der ADS-Befehl ausgelöst
TIMEOUT Gibt die Zeit bis zum Abbrechen der Funktion an
BUSY Dieser Ausgang bleibt solange auf TRUE, bis der Baustein eine Befehlsanforderung aus-
führt, längstens aber für die Dauer der, an dem 'Timeout'-Eingang angelegten, Zeit. Wäh-
rend Busy = TRUE wird an den Eingängen kein neuer Befehl angenommen. Bitte beachten
Sie, dass nicht die Ausführung des Dienstes, sondern nur dessen Annahme zeitlich über-
wacht wird.
ERR Dieser Ausgang wird auf TRUE geschaltet, wenn bei der Ausführung des Befehls ein Fehler
aufgetreten ist.
ERRID Enthält den befehlsspezifischen Fehlercode des zuletzt ausgeführten Befehls. Wird durch
das Ausführen eines Befehls an den Eingängen auf 0 zurückgesetzt.
Die ERRID enthält die allgemeinen ADS ERROR CODES im Low-Word sowie SDO-spezifische Error Codes im
High-Word:
Bit 0...3 enthält die SDO Error Class
Bit 4...7 enthält den SDO Error Code
Bit 8...14 enthält den Additional Code des SDO Abbruchs
Bit 15 ist immer 1
Beispiel: SDO Read per ADS
Im folgenden Beispielprogramm (Strukturierter Text) für die Verwendung der ADS Dienste für die SDO Kom-
munikation wird Objekt 0x1000, Subindex0 aus dem Knoten mit der Portnummer 0x1001 ausgelesen. Es han-
delt sich um den CANopen DeviceType. Dieser ist als UnSigned32 codiert und damit 4 Bytes lang.
SDO_READ(
StartReading := ReadStart,
CO_Index := 16#1000,
CO_SubIndex := 16#0,
DataLength := 4,
Komentáře k této Příručce