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)
eCommunicationMode
COMMUNICATION_MODE.TCP
Communication mode: TCP or WEB_SOCKET, default: TCP
httpProxySettings
REFERENCE TO HttpProxySettings
Optional http proxy settings. Only relevant for COMMUNICATION_MODE.WEB_SOCKET.
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