IF port_opened=2 THEN (*Удачно проинициализировали *)
CASE Init OF
1:
MB_03( (*модбас функция 03*)
Enable:=1 , (*разрешение работы блока *)
Mode:=MB_RTU , (*режим передачи*)
DevAddr:=4 , (*адрес*)
FirstAddr:=16#1000, (*регистр*)
Quantity:=1, (*количество регистров*)
ComHandle:= Settings.Port, (*номер сом-порта*)
TimeOut:=t#50ms , (*таймаут T#50ms*)
Buffer:=Buffer, (* буфер данных *)
);
IF MB_03.Complete THEN
x:=BYTE_TO_WORD(BUFFER[1]) OR SHL(BYTE_TO_WORD(BUFFER[0]),8);
Init:=Init+1;
END_IF;
2:
TON1(IN:=1,PT:=t#5s);
IF TON1.Q THEN
Init:=1;
TON1(IN:=0);
END_IF;
END_CASE;
END_IF;