FUNCTION_BLOCK MQTTSubscriber
VAR_INPUT
sTopic : STRING(255);
xtrigger : BOOL;
END_VAR
VAR_OUTPUT
sSubscribeData : STRING(255);
xError : BOOL;
END_VAR
VAR
eQualityOfService : eQualityOfService := 1;
mqttSub : wagoappcloud.FbSubscribeMQTT_2(econnection := econnectionid.Connection1);
dwSize : DWORD;
aData : ARRAY[0..100] OF BYTE;
xRetain : BOOL := FALSE;
xBusy : BOOL := FALSE;
xSubscribe : BOOL;
xDataReceived : BOOL;
// First split x from the rest, then y from z.
xString : STRING(255);
tempString : STRING(255);
yString : STRING(255);
zString : STRING(255);
firstString : STRING(255);
remainingString : STRING(255);
count : INT := 0;
myMessages : ARRAY[0..50] OF ARRAY [0..2] OF LREAL;
myString : STRING;
END_VAR
mqttSub(
xSubscribe:= xSubscribe,
sTopic:= sTopic,
eQoS:= eQualityOfService,
aPayloadData:= aData,
xBusy=>xBusy ,
xError=> xError,
xDataReceived=> xDataReceived,
dwRxNBytes=> dwSize,
);
wagosysplainmem.MemCopy(pDest:=ADR(sSubscribedata), pSource:=ADR(aData), udiSize:=dwSize);