FB_NLinkFetch

FB_NLinkFetch 1:

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 (Typ: T_HNLINK). 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;
    eArea        : E_NLinkArea := eNLinkArea_DB;
    nDB          : WORD := 0;
    nOffset      : WORD := 0;
    cbBuffer     : UDINT(0..MAX_NLink_DATALENGTH) := 0;
    pBuffer      : POINTER TO BYTE := 0;
    nOpt         :
 DWORD := 0;
    bExecute     : BOOL;
    tTimeout     : TIME := DEFAULT_ADS_TIMEOUT;
END_VAR

devAddr: Geräteadresse, MPI-Adresse der Komponente auf dem Fremdsystem oder eine PROFIBUS-Adresse.

eArea: SPS Datenbereich auf dem Fremdsystem (Eingänge, Ausgänge, Datenbaustein usw.) aus dem Daten gelesen werden sollen (Typ: E_NLinkArea).

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: S5/S7 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;
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
(Kategoriegruppe)

TwinCAT v3.1.4016 oder höher

PC oder CX (x86, x64, ARM)

Tc2_S5S7Com (Communication->TcpIp)
Tc2_TcpIp (Communication->TcpIp)
Tc2_Utilities (System)