FB_NLinkFetch
Dieser Funktionsbaustein liest Daten vom Fremdsystem und schreibt diese ins lokale TwinCAT System (FETCH-Dienst).
VAR_IN_OUT
VAR_IN_OUT
hLink : T_HNLINK;
END_VAR
hLink : Netzwerkverbindungshandle. Hier übergeben Sie die Instanz der Variablen die bei der Verbindungsherstellung von dem FB_NLinkOpen-Funktionsbaustein verwendet wurde.
VAR_INPUT
VAR_INPUT
devAddr : BYTE := 2;(* Device address, MPI address of the remote component or its PROFIBUS address *)
eArea : E_NLinkArea := eNLinkArea_DB;(* PLC data area *)
nDB : WORD := 0; (* Data block number from which the data is read (DB, DX only). *)
nOffset : WORD := 0; (* Start byte/word address from which the data are taken to *)
cbBuffer : UDINT(0..MAX_NLink_DATALENGTH) := 0; (* Contains the max. number of destination bytes to be received *)
pBuffer : DWORD := 0; (* Contains the address of the destination buffer for the received data *)
nOpt : DWORD := 0; (* Additional options (reserved) *)
bExecute : BOOL; (* Rising edge at this input starts command execution *)
tTimeout : TIME := DEFAULT_ADS_TIMEOUT;(* Maximum time allowed for the execution of the command *)
END_VAR
devAddr: Geräteadresse, MPI-Adresse der Komponente auf dem Fremdsystem.
eArea: SPS Datenbereich auf dem Fremdsystem (Eingänge, Ausgänge, Datenbaustein usw.) aus dem Daten gelesen werden sollen.
nDB: Datenbausteinnummer auf dem Fremdsystem. Aus diesem Datenbaustein sollen Daten gelesen werden (nur relevant beim Zugriff auf Datenbausteine und erweiterte Datenbausteine).
nOffset: Die Start-Byteadresse oder Wortadresse ab der in dem Fremdsystem Daten gelesen werden sollen. Ob Byte- oder Wortadresse angegeben werden soll ist abhängig von dem Typ der verwendeten Fremdsteuerung/Protokoll und Datenbereich auf den Sie zugreifen möchten. Weitere Informationen finden Sie hier: Beschreibung der SPS-Datenbereich-Parameterwerte.
cbBuffer: Maximale Anzahl der Datenbytes, die gelesen werden soll. Auch beim Zugriff auf Wortadressen wird hier immer die Bytelänge angegeben!
pBuffer: Pointer/Adresse des Zieldatenpuffers auf dem TwinCAT System. In diesen Puffer werden die gelesenen Daten geschrieben. Die Adresse kann mit dem ADR-Operator ermittelt werden. Der Zieldatenpuffer darf nicht kleiner sein als die angegebene Länge der zu lesenden Daten.
nOpt: Reserviert für zukünftige Anwendungen.
bExecute: Über eine positive Flanke an diesem Eingang wird der Baustein aktiviert.
tTimeout: Gibt die Timeout-Zeit an, die bei der Annahme des Kommandos nicht überschritten werden darf.
VAR_OUTPUT
VAR_OUTPUT
bBusy : BOOL;
bError : BOOL;
nErrID : UDINT;
cbRead : UDINT := 0; (* Number of recend realy returned data bytes *)
END_VAR
bBusy: Bei der Aktivierung des Funktionsbausteins wird dieser Ausgang gesetzt und bleibt gesetzt, bis eine Rückmeldung erfolgt. Während Busy = TRUE wird an den Eingängen kein neuer Befehl angenommen. Bitte beachten Sie, dass nicht die Ausführung des Kommandos, sondern nur dessen Annahme zeitlich überwacht wird.
bError: Sollte ein Fehler bei der Übertragung des Kommandos erfolgen, dann wird dieser Ausgang gesetzt, nachdem der bBusy-Ausgang zurückgesetzt wurde.
nErrID: Liefert bei einem gesetzten bError-Ausgang die Fehlernummer.
cbRead: Bei Erfolg Anzahl der erfolgreich gelesenen Datenbytes.
Beispiel:
Siehe unter Beispiele.
Voraussetzungen
Entwicklungsumgebung | Zielplattform | Einzubindende SPS Bibliotheken |
---|---|---|
TwinCAT v2.11.0 Build > 1536 | PC or CX (x86, ARM) | TcS5S7Comm.Lib |