The function block is started by setting the variable bGetTelegram in the main program to TRUE.
The rising edge is then used to send a GET request with the function block IotHttpRequest.
Once the request is complete, an error handling routine is invoked. If both the function block itself and the HTTP status code are error-free, the JSON response can be parsed by the web server in the PLC program.
CASE nState OF 0: IF RisingEdge.Q THEN IF fbRequest.SendRequest(sUri:=sConMessage, fbClient:=fbClient, eRequestType:=ETcIotHttpRequestType.HTTP_Get, 0, 0, 0) THEN nState:= 1; nReqCount:= nReqCount+1; bBusy:= TRUE; bError:= FALSE; END_IF END_IF 1: IF NOT fbRequest.bBusy THEN bError:= TRUE; IF NOT fbRequest.bError THEN bGetContentResult:= fbRequest.GetContent(pContent:= ADR(sContent), nContentSize:= SIZEOF(sContent), bSetNullTermination:= TRUE); IF fbRequest.nStatusCode >= 200 AND fbRequest.nStatusCode < 300 THEN bGetJsonResult:= FALSE; jsonDoc:= fbRequest.GetJsonDomContent(fbJson); IF jsonDoc <> 0 THEN ; // do something with the response nValidResCount:= nValidResCount+1; bError:= FALSE; END_IF nResCount:= nResCount+1; END_IF END_IF nState:= 0; bBusy:= FALSE; IF bError THEN nErrCount:= nErrCount+1; END_IF END_IF END_CASE