Industrielle styresystemer - Wiki
Industrielle styresystemer - Wiki
Input:
(NEEDS TO BE UPDATED WHEN I HAVE THE FUNCTION IN FRONT OF ME)
sTopic : STRING(255);
xtrigger : BOOL;
Output:
sSubscribeData : STRING(255);
xError : BOOL
v : ARRAY [0..2] OF LREAL;
Output:
norm : LREAL;
Info |
---|
Type: Functionblock Responsible: Magnus |
MQTT Functionblock that subscribes to topics from the MQTT-Server running at a laptop. This makes near realtime updates from external sources available at the Wago-PLC.
Code Block | ||||||
---|---|---|---|---|---|---|
| ||||||
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);
|