Delay — задержка включения сигнала
Delay ждёт заданное время перед включением выхода. Например, с его помощью можно убедиться, что расход воды появился и сохраняется 5 секунд, прежде чем разрешить нагрев.
Если входной сигнал исчез, выход выключается сразу, а отсчёт сбрасывается. Для запоминания аварии до сброса оператором используйте SignalsFilter, для повторяющихся включений — Pulse.
Состав и связи
Выход включается после выдержки, а при исчезновении входа выключается сразу. После повторного появления сигнала отсчёт начинается заново.
Первое подключение
Заполняйте пример в таблице «Параметры» (Params) добавленного компонента. Как добавить компонент и где искать настройки.
Перед включением нагрева нужно дождаться устойчивого расхода воды. В примере bFlowConfirmed = TRUE означает, что расход есть. Если он сохраняется 5 секунд, Delay разрешит продолжение.
1. Заполните параметры
| Параметр | Значение для примера |
|---|---|
DelayId |
FlowReady |
DelayComment |
Подтверждение устойчивого расхода |
DelayParent |
CabinetController_Inst |
DelayEn |
bFlowConfirmed |
2. Задайте задержку
| Настройка | Значение для примера |
|---|---|
Conf.FlowReady_Delay_diTime |
5 |
Conf.FlowReady_Delay_diMultiplier |
1000 |
Время задержки в миллисекундах равно diTime × diMultiplier. В примере получается 5 × 1000 = 5000 мс, то есть 5 секунд.
3. Используйте результат
Используйте FlowReady_Delay_Inst.out_bQ как разрешение следующего действия. В примере это означает, что расход подтверждён и можно переходить к нагреву.
| Событие | Результат |
|---|---|
Появился bFlowConfirmed |
Начался отсчёт |
| Условие сохраняется менее 5 с | Выход остаётся FALSE |
| Условие непрерывно сохранялось 5 с | Выход становится TRUE |
| Условие исчезло | Выход снимается, отсчёт сбрасывается |
| Условие появилось повторно | Начинается новый полный отсчёт |
Если расход появился на 2 секунды, пропал и появился снова, отсчёт начнётся с нуля. Складывать эти короткие промежутки Delay не будет. После полных 5 секунд выход останется включённым, пока расход есть и не подан сброс.
Выбор единиц времени
| Множитель | Единица значения diTime |
Пример |
|---|---|---|
1 |
Миллисекунды | 500 × 1 — 500 мс |
1000 |
Секунды | 5 × 1000 — 5 с |
60000 |
Минуты | 2 × 60000 — 2 мин |
3600000 |
Часы | 1 × 3600000 — 1 ч |
Если время или множитель равны нулю либо отрицательны, выход включается вместе со входом, без ожидания.
Сброс
Сигнал DelayParent.out_bWorktimeReset снимает выход и сбрасывает отсчёт. Пока сброс активен, выход выключен. Если после снятия сброса DelayEn остаётся активным, начинается новый отсчёт.
От родителя приходит только сброс. Какой сигнал нужно задержать, укажите в DelayEn.
Параметры компонента — Params
| Параметр | По умолчанию | Назначение |
|---|---|---|
$Delay |
Задержка сигнала |
Название группы параметров |
DelayId |
_ID_ |
ID задержки. Для FlowReady создаётся экземпляр FlowReady_Delay_Inst |
DelayComment |
Комментарий |
Название задерживаемого условия |
DelayParent |
CabinetController_Inst |
Родительский компонент, предоставляющий сброс out_bWorktimeReset |
DelayEn |
true |
Входное логическое условие. При TRUE начинается отсчёт; при FALSE отсчёт и выход сбрасываются |
DelayConf |
Пусто | ID набора настроек. Если пусто, используется DelayId |
DelayConfComment |
Пусто | Название набора настроек. Если пусто, комментарий составляется из DelayComment и $Delay |
Настройки во время работы — Conf
Полные имена приведены для DelayId = FlowReady и пустого DelayConf.
| Настройка | Тип | Начальное значение | Назначение |
|---|---|---|---|
Conf.FlowReady_Delay_diTime |
DINT |
1 |
Числовое значение выдержки |
Conf.FlowReady_Delay_diMultiplier |
DINT |
1000 |
Число миллисекунд в единице выдержки |
Начальная задержка составляет 1 секунду. Для одинаковой выдержки нескольких условий назначьте им общий DelayConf. Например, DelayConf = FlowCheck создаёт настройки Conf.FlowCheck_Delay_diTime и Conf.FlowCheck_Delay_diMultiplier. Отсчёт каждой задержки остаётся независимым.
Выход компонента
| Результат для примера | Тип | Назначение |
|---|---|---|
FlowReady_Delay_Inst.out_bQ |
BOOL |
Входное условие подтверждено заданной выдержкой |