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.
Eingänge
VAR_INPUT
sNetID : T_AmsNetId;
sHostName : T_MaxString := '';
bExecute : BOOL;
tTimeout : TIME := DEFAULT_ADS_TIMEOUT;
END_VAR
Name | Typ | Beschreibung |
---|---|---|
sNetID | T_AmsNetID | Hier kann die Netzwerkadresse des TwinCAT Rechners angegeben werden, auf dem das Kommando ausgeführt werden soll. Für den lokalen Rechner kann auch ein Leerstring angegeben werden. |
sHostName | T_MaxString | Host name als String. Z .B.: 'DataServer1'. |
bExecute | BOOL | Über eine positive Flanke an diesem Eingang wird der Baustein aktiviert. |
tTimeout | TIME | Gibt die Timeout-Zeit an, die bei der Ausführung des ADS-Kommandos nicht überschritten werden darf. |
Ausgänge
VAR_OUTPUT
bBusy : BOOL;
bError : BOOL;
nErrID : UDINT;
sAddr : T_IPv4Addr := '';
arrAddr : T_IPv4AddrArr :=[ 0, 0, 0, 0];
END_VAR
Name | Typ | Beschreibung |
---|---|---|
bBusy | BOOL | Bei der Aktivierung des Funktionsbausteins wird dieser Ausgang gesetzt und bleibt gesetzt, bis eine Rückmeldung erfolgt. |
bError | BOOL | Sollte ein Fehler bei der Übertragung des Kommandos erfolgen, dann wird dieser Ausgang gesetzt, nachdem der bBusy-Ausgang zurückgesetzt wurde. |
nErrID | UDINT | Liefert bei einem gesetzten bError-Ausgang die ADS-Fehlernummer. |
sAddr | T_Ipv4AddrArr | Internet Protokoll Netzwerkadresse (IPv4) als string. Z. B.: '172.16.7.199' |
arrAddr | T_Ipv4AddrArr | Internet Protokoll Netzwerkadresse als byte array |
Beispiel:
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 (Kategoriegruppe) |
---|---|---|
TwinCAT v3.1.0 | PC oder CX (WES7/Win7/Win10: TC RT x86/x64, WEC6/7: TC RT x86, WEC7: TC CE7 ARMV7) | Tc2_Utilities (System) |