ADSREADEX

Der Funktionsbaustein führt einen ADS-Lesebefehl aus, um Daten von einem ADS-Gerät anzufordern. Der Funktionsbaustein hat die gleiche Funktionalität wie der ADSREAD-Funktionsbaustein, liefert aber zusätzlich auch die Anzahl der tatsächlich gelesenen Datenbytes als Parameter zurück.
Eingänge
VAR_INPUT
NETID : T_AmsNetId;
PORT : T_AmsPort;
IDXGRP : UDINT;
IDXOFFS : UDINT;
LEN : UDINT;
DESTADDR : PVOID;
READ : BOOL;
TMOUT : TIME := DEFAULT_ADS_TIMEOUT;
END_VAR
Name | Typ | Beschreibung |
---|---|---|
NETID | T_AmsNetId | String, der die AMS-Netzwerkkennung des Zielgerätes enthält, an das der ADS-Befehl gerichtet wird (Typ: T_AmsNetId). |
PORT | T_AmsPort | Portnummer des ADS-Gerätes (Typ: T_AmsPort) |
IDXGRP | UDINT | Index-Gruppennummer (32 Bit, unsigned) des angeforderten ADS-Dienstes. Dieser Wert ist der ADS-Tabelle des angesprochenen Gerätes zu entnehmen. |
IDXOFFS | UDINT | Index-Offsetnummer (32 Bit, unsigned) des angeforderten ADS-Dienstes. Dieser Wert ist der ADS-Tabelle des angesprochenen Gerätes zu entnehmen. |
LEN | UDINT | Anzahl der zu lesenden Daten in Bytes |
DESTADDR | PVOID | Adresse des Puffers, der die gelesenen Daten aufnehmen soll. Der Programmierer 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 mit dem ADR-Operator ermittelt werden kann. |
READ | BOOL | Durch eine steigende Flanke an diesem Eingang wird der ADS-Befehl ausgelöst. |
TMOUT | TIME | Gibt die Zeit bis zum Abbruch der Funktion an. |
Ausgänge
VAR_OUTPUT
BUSY : BOOL;
ERR : BOOL;
ERRID : UDINT;
COUNT_R : UDINT;
END_VAR
Name | Typ | Beschreibung |
---|---|---|
BUSY | BOOL | Dieser Ausgang bleibt so lange auf TRUE, bis der Baustein eine Befehlsanforderung ausführt, längstens aber für die Dauer der an dem Timeout-Eingang angelegten Zeit. Während BUSY = TRUE wird an den Eingängen kein neuer Befehl angenommen. Beachten Sie, dass nicht die Ausführung des Dienstes, sondern nur dessen Annahme zeitlich überwacht wird. |
ERR | BOOL | Dieser Ausgang wird auf TRUE geschaltet, wenn bei der Ausführung eines Befehls ein Fehler aufgetreten ist. Der befehlsspezifische Fehlercode ist in ERRID enthalten. Wenn der Baustein ein Timeout-Fehler hat, so ist ERR = TRUE und ERRID = 1861 (Hexadezimal 0x745). Wird durch das Ausführen eines Befehls an den Eingängen auf FALSE zurückgesetzt. |
ERRID | UDINT | ADS-Fehlercode oder befehlsspezifischer Fehlercode des zuletzt ausgeführten Befehls. Wird durch das Ausführen eines Befehls an den Eingängen auf 0 zurückgesetzt. |
COUNT_R | UDINT | Anzahl der erfolgreich gelesenen Datenbytes |
Voraussetzungen
Entwicklungsumgebung | Zielplattform | Einzubindende SPS-Bibliotheken (Kategoriegruppe) |
---|---|---|
TwinCAT v3.1.0 | PC oder CX (x86, x64, ARM) | Tc2_System (System) |