AzureMQTTClient (FB)¶
FUNCTION_BLOCK AzureMQTTClient
Function block to connect to Azure IoT Hub via MQTT.
- InOut:
Scope
Name
Type
Initial
Comment
Input
xEnable
BOOL
TRUE: Opens a connection, FALSE: Close connection
uiKeepAlive
UINT
10
Keep alive interval in seconds (default: 10s)
tPingInterval
TIME
TIME#2s0ms
Ping interval (default: 2s)
udiTimeOut
UDINT
0
Defines the time (µs) after which the connection setup aborts with xError.
tReconnectTime
TIME
TIME#0ms
Time for an automatically reconnection, default is T#0s and reconnection is not acitve.
sHubDomainName
STRING(255)
Domain name of the IoT Hub
sDeviceId
STRING(255)
Device ID
wsSaS
WSTRING(255)
Shared Access Signature (SAS Token)
pbWillMessage
POINTER TO BYTE
0
Pointer to the ‘Last Will’ message (optional)
uiWillMessageSize
UINT
0
Size of ‘Last Will’ message (optional)
itfTLSContext
NBS.ITLSContext
0
Encapsulates all the data neccecray to handle encrypted tcp connections
Static initialization, as shown in the following code snippet.
VAR commonName : STRING := 'MyRrasPi'; ciCertInfo : NBS.CERT_INFO := (psInfo:=ADR(commonName), udiSize:=LEN(commonName)); myTLSContext : NBS.TLSContext := ( ePurpose:=NBS.PURPOSE.CLIENT_SIDE, sUseCaseName:='NBSTest', sTLSVersion:='1.3', ciCertInfo:=ciCertInfo, udiVerificationMode:=2 ); END_VAR
itfAsyncProperty
NBS.IAsyncProperty
0
Runs the connect process in a own background task. Use this property if the connection setup takes longer than one task cycle (e.g. TLS connections)
Output
xError
BOOL
TRUE, if an error occurred
xBusy
BOOL
TRUE, while the function block is active
eError
MQTT.MQTT_ERROR
The error id
xConnectedToBroker
BOOL
FALSE
FALSE when there is no connection to Azure IoT Hub, otherwise TRUE