FB_NLinkWrite

FB_NLinkWrite 1:

Dieser Funktionsbaustein sendet Daten vom lokalen TwinCAT System zum Fremdsystem (WRITE-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 to which the data is written (DB, DX only) *)
    nOffset        : WORD := 0; (* Start byte/word address to which the    data is send *)
    cbBuffer       : UDINT(0..MAX_NLink_DATALENGTH) := 0;(* Contains the number of source bytes to be send *)
    pBuffer        : DWORD := 0; (* Contains the address of the source buffer containing the data to be send *)
    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.) in den Daten geschrieben werden sollen.

nDB: Datenbausteinnummer auf dem Fremdsystem. In diesen Baustein sollen Daten geschrieben werden (nur relevant beim Zugriff auf Datenbausteine und erweiterte Datenbausteine).

nOffset: Die Start-Byteadresse oder Wortadresse ab der auf dem Fremdsystem Daten geschrieben werden sollen. Ob Byte- oder Wortadresse angegeben werden soll ist abhängig von dem Typ der verwendeten Fremdsteuerung/Protokoll und dem Datenbereich auf den Sie zugreifen möchten. Weitere Informationen finden Sie hier: Beschreibung der SPS-Datenbereich-Parameterwerte.

cbBuffer: Maximale Bytelänge der Daten, die vom Quelldatepuffer auf dem lokalen TwinCAT System zum Fremdsystem übertragen werden soll. Auch beim Zugriff auf Wortadressen wird hier die Bytelänge angegeben!

pBuffer: Pointer/Adresse auf den Quelldatenpuffer. Daten aus diesem Puffer werden zum Fremdsystem übertragen. Die Adresse kann mit dem ADR-Operator ermittelt werden. Der Quelldatenpuffer darf nicht kleiner sein als die angegebene Länge der zu sendenden 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;
    cbWrite : UDINT := 0;(* Number of successfull written 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.

cbWrite: Bei Erfolg Anzahl der erfolgreich geschriebenen Datenbytes.

Beispiel:

Siehe unter Beispiele.

Voraussetzungen

Entwicklungsumgebung

Zielplattform

Einzubindende SPS Bibliotheken

TwinCAT v2.11.0 Build > 1536

PC or CX (x86, ARM)

TcS5S7Comm.Lib