FUNCTION_BLOCK MB_RD_INP_REGS
VAR_INPUT
Enable: BOOL; (* разрешение работы блока *)
Mode: MB_MODE; (* Serial Transmission Mode of MODBUS networks *)
DevAddr: BYTE (1..247); (* адрес подчиненного устройства в сети MODBUS *)
FirstAddr: WORD; (* начальный адрес регистра *)
Quantity: BYTE (1..125); (* количество регистров для чтенеия *)
ComHandle

WORD; (* дескриптор последовательного порта библиотеки SysLibCom *)
TimeOut: TIME; (* время тайм-аута [мс] - макс. задержка на обработку запроса *)
END_VAR
VAR_IN_OUT
Buffer: ARRAY[0..255] OF BYTE; (* байтовый буфер данных *)
END_VAR
VAR_OUTPUT
Complete: BOOL; (* если = TRUE, то обмен завершен *)
Exception: BYTE; (* исключения протокола MODBUS или 0хFF - таймаут *)
ByteCnt: BYTE; (* размер прочитанного блока данных, байт *)
END_VAR
VAR
RxData: MB_UNI_IO; (* функциональный блок чтения данных *)
Read: BOOL; (* активен режим чтения, запрос уже отправлен *)
END_VAR
VAR CONSTANT
EXC_DE: BYTE := 16#FD; (* INPUT DATA ERROR *)
END_VAR