Поправил ошибки (выделил исправления жирным).
Код:
IF EnableRead THEN
CASE ReadState OF
STATE_MB_RD.CONNECTING:
fbTcpClient
(
xEnable := TRUE ,
tTimeout := T#5S,
sIpAddr := '192.168.0.7',
uiPort :=502
);
IF fbTcpClient.xActive THEN
fbReadRequest (xExecute := FALSE);
ReadState := STATE_MB_RD.READ;
ELSIF fbTcpClient.xError THEN
fbTcpClient(xEnable := FALSE);
ReadState := STATE_MB_RD.CONNECTING;
END_IF
STATE_MB_RD.READ:
fbReadRequest
(
xExecute:=TRUE,
tTimeout:=T#5S,
usiRetry:=5,
hConnection:=fbTcpClient.hConnection,
xIsRtuOverTcpMode:=FALSE,
usiUnitId:=1,
eFuncCode:=OCL.MB_FC.READ_INPUT_REGISTERS,
uiDataAddr:=1,
uiDataCount:=32,
pData:=ADR (DatafORFANK),
szSize:=SIZEOF (DatafORFANK)
);
IF fbReadRequest.xDone OR fbReadRequest.xError THEN
EnableRead:=FALSE;
ReadState := STATE_MB_RD.CONNECTING;
END_IF
END_CASE
END_IF
2021-08-19_7-58-40.png