Рисунок 1 – Условное обозначение
Входы | Тип данных | Пояснения | Диапазон |
---|---|---|---|
cmd_Start | Bool | Разрешение на работу |
0 – Стоп 1 – Старт |
ub_Is_Hum | Bool | Наличие узла в системе |
0 – Не используется 1 – Используется |
ib_Av | Bool | Внешний сигнал о неисправности увлажнителя |
0 – Авария 1 – Норма |
ia_Hum | Float | Текущая влажность в помещении | 0…100 |
ua_Hum | Float | Уставка влажности | 30...80 |
ua_Hum_Hist | Float | Гистерезис | 1…9 |
ob_Hum_On | Bool | Управляющий сигнал на вкл/откл |
0 – Выкл 1 – Вкл |
Av_Hum | Bool | Увлажнитель неисправен |
0 – Норма 1 – Авария |
code_Hum | Int | Код состояния увлажнителя (статус) |
0 – Не используется 1 – Выключен 2 – Включен 3 – Авария |
Если узел не используется (ub_Is_Hum="0), то увлажнитель выключен (ob_Hum_On=0"), статус сменится на code_Hum ="0 (Не используется), независимо от состояния остальных входов. ub_Is_Hum = 0"
ob_Hum_On =" 0 "Av_Hum =" 0 "code_Hum =" 0
Если узел используется (ub_Is_Hum="1), то при появлении команды на запуск (cmd_Start=1") начинается регулирование влажности по двухпозиционному закону с гистерезисом:
- Если измеренная влажность меньше уставки с учетом гистерезиса (ia_Hum < ua_Hum – ua_Hum_Hist/2), тогда подастся команда на запуск увлажнителя (ob_Hum_On="1), статус сменится на code_Hum=2 (Включен).
- Если измеренная влажность больше уставки с учетом гистерезиса (ia_Hum > ua_Hum + ua_Hum_Hist/2), тогда снимается команда на запуск увлажнителя (ob_Hum_On=0), статус сменится на code_Hum=1" (Выключен).
Если узел используется (ub_Is_Hum="1), и есть сигнал о неисправности (авария увлажнителя, превышение влажности в канале и т.д.) (ib_Av=0), то работа увлажнителя блокируется, снимается команда на запуск увлажнителя (ob_Hum_On=0), фиксируется неисправность (Av_Hum=1"), статус сменится на code_Hum=3 (Авария). По устранению причины неисправности работа увлажнителя возобновляется.
Рисунок 2 – Диаграмма работы блока