ResolveHostname (FB)

FUNCTION_BLOCK PUBLIC FINAL ResolveHostname EXTENDS ETrigTo

Attempts to resolve the sHostname to an IIPAddress.
If an IP address is already specified as a parameter, its format is checked.

The time out value has no effect for this function block.

Below is an example of how to handle the itfIPAddress parameter. It is necessary to assign an instance of NBS.IPv4Address to a variable of type NBS.IIPAddress.

VAR
    myResolver : NBS.ResolveHostname;
    sHostname : STRING := 'www.codesys.com';
    myIPAddress : NBS.IPv4Address;
    itfIPAddress : NBS.IIPAddress := myIPAddress;
    udiCount : UDINT;
    sIPAddress : NBS.IPADDRESS;
END_VAR

myResolver(
    sHostname:=sHostname,
    itfIPAddress:=itfIPAddress,
    udiCount=>udiCount
);

IF myResolver.xExecute AND myResolver.xDone THEN
    sIPAddress := myIPAddress.CompressedIP;
    myResolver.xExecute := FALSE;
END_IF
InOut:

Scope

Name

Type

Initial

Comment

Inherited from

Input

xExecute

BOOL

Rising edge: Starts defined operation
FALSE: Resets the defined operation after ready condition was reached

ETrigTo

udiTimeOut

UDINT

Max. operating time for executing [µs], 0: No operating time limit

ETrigTo

Output

xDone

BOOL

Ready condition reached

ETrigTo

xBusy

BOOL

TRUE: Operation is running

ETrigTo

xError

BOOL

TRUE: Error condition reached

ETrigTo

eErrorID

ERROR

ETrigTo

Input Const

itfAsyncProperty

IAsyncProperty

Input

sHostname

REFERENCE TO STRING

udiIndex

UDINT

0

Select a specific item, if more then one interface per hostname is avaiable

Inout

itfIPAddress

IIPAddress

Output

udiCount

UDINT

The number of possible IP addresses for the sHostname specified

Methods:

Structure: