Среда разработки Unimod PRO 2 (версия 2.3.40)
 Руководство по программированию
×

MB_R_B - чтение 8-ми дискретных входов


Назначение.
Функциональный блок MB_R_B применяется для чтения состояния 8-ми последовательных дискретных входов со Slave-устройства по протоколу Modbus. Используется функция Modbus с кодом 2 (Read Input Status).
 
Входные параметры:
Параметр
Тип данных
Описание
RUN
BOOLEAN
  • RUN=TRUE - запуск блока и передача в задачу связи MB_RTU_MST/MB_TCP_MST команды на чтение данных со Slave-устройства;
  • RUN=FALSE - остановка блока и задачи связи.
ID_DRV
INTEGER
Идентификатор задачи связи Modbus-RTU MST или Modbus-TCP MST, в рамках которой будет выполняться запрос.
SLAVE
INTEGER
Сетевой адрес Slave-устройства по протоколу Modbus задается целым числом от 1 до 255.
ADR
INTEGER
Modbus-адрес первого дискретного входа на Slave-устройстве. Особенности назначения modbus-адресов описаны в разделе 9.9.2.1 "Блок MB_R - Чтение группы данных".
 
Выходные параметры:
Параметр
Тип данных
Описание
READY
BOOLEAN
Признак завершения операции:
  • READY=FALSE - когда обнаружена ошибка во входных параметрах блока, запрос не направляется;
  • READY=TRUE - выставляется сразу после направления запроса, независимо от его результатов.
FAULT
INTEGER
Код завершения операции, список возможных кодов описан в конце раздела 9.9.1.1 «MB_RTU_MST - конфигурация связи по протоколу Modbus-RTU Master».
INP0
. .
INP7
BOOLEAN
Состояния дискретных входов на Slave-устройстве по адресам от ADR+0 до ADR+7.
 
Пример синтаксиса на языке ST.
//вызов функционального блока
Block.MB_R_B(RUN, ID_DRV, SLAVE, ADR);
//чтение состояния дискретного входа с адресом ADR+0
INP0 := Block.INP0;
//чтение состояния дискретного входа с адресом ADR+1
INP1 := Block.INP1;
//чтение состояния дискретного входа с адресом ADR+7
INP1 := Block.INP7;
//чтение признака и кода завершения операции
READY := Block.READY;
FAULT := Block.FAULT;