FB_GetHostAddrByName
Mit diesem Funktionsbaustein kann die (IPv4) Internet Protokoll Netzwerkadresse für den angegebenen Hostnamen ausgelesen werden. Die Adresse wird als String und Byte-Array zurückgeliefert.
VAR_INPUT
VAR_INPUT
sNetID : T_AmsNetId;
sHostName : T_MaxString := '';
bExecute : BOOL;
tTimeout : TIME := DEFAULT_ADS_TIMEOUT;
END_VAR
sNetID: Hier kann die Netzwerkadresse des TwinCAT Rechners angegeben werden, auf dem das Kommando ausgeführt werden soll. Für den lokalen PC (default) kann auch ein Leerstring angegeben werden.
sHostName: Host name als String. Z.B.: 'DataServer1'.
bExecute: Über eine positive Flanke an diesem Eingang wird der Baustein aktiviert.
tTimeout: Gibt die Timeout-Zeit an, die bei der Ausführung des Kommandos nicht überschritten werden darf.
VAR_OUTPUT
VAR_OUTPUT
bBusy : BOOL;
bError : BOOL;
nErrID : UDINT;
sAddr : T_IPv4Addr := '';
arrAddr : T_IPv4AddrArr := 0, 0, 0, 0;
END_VAR
bBusy: Bei der Aktivierung des Funktionsbausteins wird dieser Ausgang gesetzt und bleibt gesetzt, bis eine Rückmeldung erfolgt.
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 ADS-Fehlernummer.
sAddr: Internet Protokoll Netzwerkadresse (IPv4) als string. Z.B.: '172.16.7.199'
arrAddr: Internet Protokoll Netzwerkadresse als byte array.
Beispiel in ST:
PROGRAM MAIN
VAR
fbGet : FB_GetHostAddrByName;
bGet : BOOL := TRUE;
bError : BOOL;
nErrID : UDINT;
sIPv4 : T_IPv4Addr;(* Result: '87.106.8.100' *)
arrIPv4 : T_IPv4AddrArr;
state : BYTE;
END_VAR
CASE state OF
0:
IF bGet THEN
bGet := FALSE;
sIPv4 := '';
fbGet( bExecute:= FALSE );
fbGet( bExecute:= TRUE, sHostName := 'www.beckhoff.com' );
state := 1;
END_IF
1:
fbGet( bExecute:= FALSE, bError=>bError, nErrID=>nErrID, sAddr=>sIPv4, arrAddr=>arrIPv4 );
IF NOT fbGet.bBusy THEN
state := 0;
END_IF
END_CASE
Voraussetzungen
Entwicklungsumgebung | Zielplattform | Einzubindende SPS Bibliotheken |
---|---|---|
TwinCAT v2.10.0 Build > 1340 | PC or CX (x86, ARM) | TcUtilities.Lib |