KZR_DO_Sel (Управление трехходовым краном)

Рисунок 1 – Условное обозначение

Входы Тип данных Пояснения Диапазон
lv_IsWinter Bool Текущий сезон

0 – Лето 1 – Зима

En_H Bool Тип управления клапаном нагрева

0 – Аналоговое 1 – Дискретное

En_C Bool Тип управления клапаном охлаждения

0 – Аналоговое 1 – Дискретное

ia_Pwr_H Bool

Процент открытия клапана теплообменника нагрева

0…100
ia_Pwr_C Bool

Процент открытия клапана теплообменника охлаждения

0…100
ut_StepFull_H(s) Float Полное время хода клапана нагрева >0
ut_StepMin_H(s) Float Минимальная длительность импульса для клапана нагрева >0
ut_StepFull_C(s) Float Полное время хода клапана охлаждения >0
ut_StepMin_C(s) Float Минимальная длительность импульса для клапана охлаждения >0
ua_MinVlt_H Float

Минимальное напряжение на аналоговом выходе (управление клапаном нагрева)

0; 0.5; 2
ua_MinVlt_C Float

Минимальное напряжение на аналоговом выходе (управление клапаном охлаждения)

0; 0.5; 2
Av_Pump Bool

Циркуляционный насос в контуре нагрева неисправен

0 – Норма 1 – Авария

ut_Cycle(ms) Float Время цикла программы >0
ob_Open Bool Команда на открытие клапана

0 – Без изменений 1 – Открыть

ob_Close Bool Команда на закрытие клапана

0 – Без изменений 1 – Открыть

oa_Pwr_H Float

Процент открытия клапана теплообменника нагрева, отмасштабированный

0…1
oa_Pwr_C Float

Процент открытия клапана теплообменника охлаждения, отмасштабированный

0…1
ob_Pump Bool

Включить циркуляционный насос в контуре нагрева

0 – Выкл 1 – Вкл

Тип управления для каждого теплообменника задается отдельно (En_H, En_C). Для точного расчета длительности управляющих импульсов необходимо задать время цикла контроллера (ut_Cycle(ms)). Для расчета можно использовать макрос CycleTime.

Если выбрано аналоговое управление (En_x="0), то рассчитанный в алгоритме процент открытия клапана (ia_Pwr_x) сначала преобразуется в сигнал Х...10" В, где Х – минимальное напряжение, задается в настройках (ua_MinVlt_x) (типовые значения: 0, 0,5 и 2 В – зависят от типа привода клапана), а затем масштабируется в сигнал, подаваемый на аналоговый выход (аналоговый выход работает с сигналом 0…1). Таким образом, выход блока можно сразу соединять с аналоговым выходом прибора. Если выбрано дискретное управление (En_x="1), то для достижения соответствия между расчетным и фактическим положением клапана сервопривода подаются импульсы «открыть» (ob_Open=1") или «закрыть» (ob_Close="1) определенной длительности. Приросту процента открытия клапана от 0 до 100 соответствует импульс длительностью, равной времени полного хода клапана (ut_StepFull_x(s)).

Прирост определяется, как разница между новым рассчитанным (ia_Pwr_x) и предыдущим значением. Для предотвращения лишних колебаний импульс на сервопривод подается только, если его длительность больше минимальной длительности (ut_StepMin_x(s)). Если рассчитанный процент равен 100 (ia_Pwr_x=100), то это соответствует открытому положению клапана – на сервопривод подается команда «Открыть» (ob_Open=1"). Если рассчитанный процент равен 0 (ia_Pwr_x=0), то это соответствует закрытому положению клапана – на сервопривод подается команда «Закрыть» (ob_Close="1). Иллюстрация процесса приведена на рисунке 2. Если оба клапана управляются дискретными сигналами, то во время смены сезона сначала подается команда «Закрыть» в течение времени полного хода клапана с небольшим запасом (1",1*ut_StepFull_x(s)). Только после закрытия текущего клапана происходит переключение на управление другим. В качестве сигнала управления селектором используется команда на включение циркуляционного насоса (ob_Pump).

Рисунок 2 – Дискретное управление клапаном

Циркуляционный насос летом выключен, зимой включен. В случае если циркуляционный насос неисправен (ob_AvPump="1), клапан теплообменника нагрева работает в дискретном режиме (En_H=1"), и текущий сезон «Зима» (lv_IsWinter="1), то на клапан подается команда «Закрыть» в течение времени полного хода клапана с небольшим запасом (1",1*ut_StepFull_H(s)), после чего восстанавливается управление.