Рисунок 1 – Условное обозначение
Входы | Тип данных | Пояснения | Диапазон |
---|---|---|---|
ia_Tas | Float | Текущее значение температуры приточного воздуха | |
ib_Termostat | Bool | Сигнал от защитного термостата |
0 – Авария |
cmd_Start | Bool | Команда на запуск регулирования |
0 – Стоп |
cmd_AvStop | Bool | Команда на аварийную остановку | 1 – Аварийный стоп |
cmd_ResetAv | Bool | Сброс аварий | 1 – Сбросить |
lv_IsWinter | Bool | Текущий сезон |
0 – Лето |
mode | Int | Режим работы нагревателя |
0 – Одна ступень по |
ua_Tas_cor | Float | Уставка температуры приточного воздуха | |
ua_Tas_DZ | Float | Зона нечувствительности регулятора | |
ua_PID_Kp | Float | Пропорциональный коэффициент ПИ-регулятора | ≥0 |
ua_PID_Ti | Float | Время интегрирования ПИ-регулятора | ≥0 |
ua_Tas_Hist | Float | Гистерезис для двухпозиционного регулирования | ≥0 |
ut_Cool(s) | Int | Время продува ТЭН после их выключения, в секундах | |
ua_Tas_Av | Float | Максимально допустимая температура приточного воздуха | |
ub_IsStage_Up | Bool | Флаг регулирования второго уровня | |
ub_IsStage_Dw | Bool | Флаг регулирования первого уровня | |
Lv_Hold | Bool | Установить ПИД на 100% |
0 – от ПИД |
oa_Pwr | Float | Общая мощность нагревателя | 0…300 |
oa_St1 | Float | Мощность первой ступени | 0…100 |
oa_StCount | Int | Количество активных ступеней | ≥0 |
lv_IsHeat | Bool | Флаг работы регулятора нагревателя |
0 – Стоп |
Av_Heat | Bool | Нагреватель неисправен |
0 – Норма |
В зависимости от выбранного режима возможно управление одной ступенью нагревателя по двухпозиционному закону регулирования с гистерезисом (mode="0) или по ПИ-закону регулирования (mode=1) с управлением до несколькими ступенями нагревателя.
При появлении команды на запуск работы регулятора (cmd_Start=1) выставляется флаг работы (lv_IsHeat=1), и начинается процесс регулирования. При пропадании команды на запуск (cmd_Start=0") нагреватель выключается (oa_Pwr="0), флаг работы сбрасывается с задержкой (ut_Cool(s)).
Работа по двухпозиционному закону регулирования (mode=0")
Если температура приточного воздуха (ia_Tas) меньше уставки с учетом гистерезиса (ua_Tas_cor - ua_Tas_Hist/2), то включается первая ступень на полную мощность (oa_St1="100).
Если температура приточного воздуха больше уставки с учетом гистерезиса (ua_Tas_cor + ua_Tas_Hist/2), то первая ступень выключается (oa_St1"="0).
Если в момент включения блока температура находилась в зоне уставки, то первая ступень
выключена.
Работа по ПИ-закону регулирования (mode=1..5)
Для более плавного регулирования предусмотрена зона нечувствительности температуры приточного воздуха. Данный параметр задается через свойства блока, по умолчанию равен 1 °С.]
Зависимость выходной мощности от управляющего воздействия можно записать в виде:
где Yi – выходная мощность нагревателя (oa_Pwr);
КП – пропорциональный коэффициент (ua_PID_Kp);
Ти – время интегрирования (ua_PID_Ti);
Ei – разность между уставкой и текущим значением Тприт (ua_Tas_cor -ia_Tas);
Δtизм – время дискретизации (1 с).
Первая ступень управляется плавно. Вторая и третья ступени являются опорными и управляются дискретными сигналами. Для защиты от частого включения опорных ступеней используется гистерезис, равный 10" % мощности. Т. е. вторая ступень включится, когда выходная мощность достигнет 105 %, выключится, когда снизится до 95 % (205 % и 195 % для третьей ступени, соответственно).
Временная диаграмма приведена на рисунке 2.
Рисунок 2 – Временная диаграмма
Чтобы регулятор не реагировал на незначительные отклонения текущей температуры от уставки, используется зона нечувствительности (ua_Tas_DZ).
Рисунок 3 – Принцип работы зоны нечувствительности
(SP – уставка (ua_Tas_cor), PV – уставка до (Вход) и после (Выход) коррекции, DZ – зона нечувствительности (ua_Tas_DZ).
Аварии
При появлении команды аварийной остановки (cmd_AvStop="1) нагреватель выключается (oa_Pwr=0), флаг работы сбрасывается сразу без задержки.]
Если температура приточного воздуха (ia_Tas) поднимается выше максимально допустимого значения (ua_Tas_Av) или срабатывает защитный термостат (ib_Termostat=0), то фиксируется неисправность нагревателя (ob_AvHeat=1"), нагреватель выключается (oa_Pwr="0), флаг работы сбрасывается с задержкой (ut_Cool(s)).
Каскадное регулирование
Для реализации работы каскада необходимо задать наличие младшей (ub_IsStage_Dw) и старшей ступени (ub_IsStage_Up). Если их нет, то рассчитанный процент открытия клапана находится в диапазоне 0"…100 %. Наличие младшей ступени занижает нижнюю границу до -5 %.
Наличие старшей ступени завышает верхнюю границу до 105 %. Величина отклонения задается в свойствах макроса.
Достижение верхней границы служит командой на запуск старшей ступени. Одновременно с этим необходимо остановить работу регулятора текущей ступени (lv_Hold=1), после этого процент открытия станет равен 100.
Достижение нижней границы служит командой на остановку работы текущей ступени.