1
Tematy ogólne / Odp: Pomiar zanieczyszczenia powietrza i warunków meteo
« dnia: Listopad 08, 2019, 04:40:26 pm »
Akurat mam przeciwprądowy ale bardziej chodzi o to, że jest zamontowany w kotłowni więc ryzyka zamarznięcia nie ma.
Powrót do strony głównej: www.edom-plc.pl
FUNCTION_BLOCK PUSHSEND
VAR_INPUT
xDoit : BOOL;
sMessage : STRING;
sPriority : STRING(2) := '0';
END_VAR
VAR
wState : WORD;
oHttpsPost : HTTPS_POST;
xHttpsSend : BOOL;
diError : DINT;
sStatus : STRING;
sReqData : STRING(200);
sHeaderData : STRING(105) := 'token=TOKEN&user=USER_KEY&retry=300&expire=3600&message=';
abResponse : ARRAY [0..gcHTTPS_dwRxBufferSize] OF BYTE;
END_VAR
sReqData := CONCAT (sHeaderData, sMessage);
sReqData := CONCAT (sReqData, '&priority=');
sReqData := CONCAT (sReqData, sPriority);
oHttpsPost(sServerName:='api.pushover.net',
sMethod:='/1/messages.json',
sContentType:='application/x-www-form-urlencoded',
pabReqData:=ADR(sReqData),
uiReqDataCount:=LEN(sReqData),
xSend:=xHttpsSend,
diError=> diError,
sStatus=> sStatus,
tTimeOut:= t#5s,
abContentData:=abResponse);
CASE wState OF
0: (* IDLE - wait for something to do *)
IF xDoIt THEN
xHttpsSend := TRUE; (* Send HTTPS-POST request *)
wState := 10;
END_IF
10: (* Wait for HTTPS-POST response data *)
IF NOT xHttpsSend THEN
wState := 999;
END_IF
999: (* *)
xDoIt := FALSE;
wState := 0;
END_CASE
modbus:poll=10000
modbus:tcp.slave2.connection=192.168.0.1:502:rtu
modbus:tcp.slave2.id=1
modbus:tcp.slave2.type=coil
modbus:tcp.slave2.start=512
modbus:tcp.slave2.length=74
Group ALL
Switch MySwitch0 "My Modbus Switch0" (ALL) {modbus="slave2:0"}
Switch MySwitch1 "My Modbus Switch1" (ALL) {modbus="slave2:1"}
Switch MySwitch2 "My Modbus Switch2" (ALL) {modbus="slave2:2"}
Switch MySwitch3 "My Modbus Switch3" (ALL) {modbus="slave2:3"}
...