CondRecCtrl — контроль условия с выдержкой восстановления
CondRecCtrl запрещает работу при неисправности и разрешает её снова после выдержки времени. Например, при падении давления он запрещает продолжать работу, а после восстановления давления ждёт ещё 10 секунд и только затем снова выдаёт разрешение.
Повторное разрешение появляется автоматически. Если после неисправности обязательно нужен сброс оператором, используйте SignalsFilter.
Состав и связи
Подключите выход готовности к разрешению нужного действия. Повторное разрешение выдаётся автоматически после выдержки восстановления.
Первое подключение
Заполняйте пример в таблице «Параметры» (Params) добавленного компонента. Как добавить компонент и где искать настройки.
Перед следующим этапом работы установке нужно нормальное давление. Краткий провал можно пропустить, но если давление низкое 3 секунды, продолжение нужно запретить. После восстановления давления выждем 10 секунд. В примере bLowPressure = TRUE означает, что давление ниже допустимого.
1. Заполните параметры
| Параметр | Значение для примера |
|---|---|
CondRecCtrlId |
PressureReady |
CondRecCtrlComment |
Восстановление давления |
CondRecCtrlParent |
CabinetController_Inst |
CondRecCtrlCond |
bLowPressure |
CondRecCtrlEn |
true |
2. Задайте выдержки
| Настройка | Значение для примера |
|---|---|
Conf.PressureReady_CondRecCtrl_bBypass |
false |
Conf.PressureReady_CondRecCtrl_diCondDelay |
3 |
Conf.PressureReady_CondRecCtrl_diRecoveryDelay |
10 |
3. Используйте готовность
Разрешение выдаёт PressureReady_CondRecCtrl_Inst.out_bReady. При TRUE можно продолжать работу, при FALSE нужно ждать.
Подключите этот выход к разрешению нужного этапа или механизма. Без такой связи компонент только покажет состояние давления и ожидания.
Как меняются состояния
После первого включения компонента он тоже ждёт 10 секунд, прежде чем выдать разрешение, если причина не успела сработать. Это происходит и при нормальном давлении.
После появления готовности последовательность выглядит так:
| Событие | Что происходит |
|---|---|
| Появилось недостаточное давление | Начинается выдержка фиксации 3 с; готовность пока сохраняется |
| Причина исчезла раньше 3 с | Условие не фиксируется; готовность сохраняется |
| Причина сохранялась 3 с | out_bCond = TRUE, готовность снимается |
| Давление восстановилось | out_bCond снимается сразу; начинается выдержка восстановления 10 с |
| Выдержка восстановления завершена | out_bReady = TRUE; работа снова разрешена |
out_bRecovery означает: контроль не показывает неисправность, но время ожидания разрешения ещё не прошло. out_bWarning включён всё время запрета — и при подтверждённом низком давлении, и во время последующего ожидания.
Если во время ожидания давление снова упало, оно должно оставаться низким 3 секунды, чтобы контроль сработал заново. Короткий повторный провал не начинает выдержку восстановления сначала.
Таким образом, компонент ждёт после исчезновения уже подтверждённой причины. Он не требует, чтобы исходный сигнал CondRecCtrlCond был непрерывно выключен все 10 секунд.
Шунт, отключение и сброс
| Действие | Результат |
|---|---|
Включён bBypass |
Зафиксированное условие снимается, готовность выдаётся сразу, предупреждение отсутствует |
CondRecCtrlEn = FALSE |
Контроль и оба отсчёта сбрасываются; готовность равна TRUE |
| Контроль снова включён | Обработка начинается заново, включая первоначальную выдержку восстановления |
| Подан общий сброс аварий | Активную причину не отменяет и выдержку восстановления не сокращает |
При включённом шунте разрешение выдаётся сразу, но таймер восстановления продолжает отсчёт. Если выключить шунт раньше окончания выдержки, разрешение может временно исчезнуть до её завершения. Если давление всё ещё низкое, снова начнётся обычная проверка с задержкой.
Сброс приходит через out_bFaultReset компонента, указанного в CondRecCtrlParent. В CondRecCtrlCond укажите неисправность, а в CondRecCtrlEn — когда её нужно проверять.
Параметры компонента — Params
| Параметр | По умолчанию | Назначение |
|---|---|---|
$CondRecCtrl |
Контроль условия |
Название группы параметров |
CondRecCtrlId |
_ID_ |
ID контроля. Для PressureReady создаётся экземпляр PressureReady_CondRecCtrl_Inst |
CondRecCtrlComment |
Комментарий |
Название контролируемого условия |
CondRecCtrlParent |
CabinetController_Inst |
Родительский компонент, предоставляющий общий сброс out_bFaultReset |
CondRecCtrlCond |
false |
Неблагоприятное условие: TRUE означает наличие причины |
CondRecCtrlEn |
true |
Разрешение контроля. При FALSE контроль отключён и готовность выдана |
CondRecCtrlConf |
Пусто | ID набора настроек. Если пусто, используется CondRecCtrlId |
CondRecCtrlConfComment |
Пусто | Название набора настроек. Если пусто, комментарий составляется из CondRecCtrlComment и $CondRecCtrl |
Настройки во время работы — Conf
Полные имена приведены для CondRecCtrlId = PressureReady и пустого CondRecCtrlConf.
| Настройка | Тип | Начальное значение | Назначение |
|---|---|---|---|
Conf.PressureReady_CondRecCtrl_bBypass |
BOOL |
false |
Шунт контроля: при TRUE готовность выдаётся независимо от причины |
Conf.PressureReady_CondRecCtrl_diCondDelay |
DINT |
1 |
Непрерывное время наличия причины до её фиксации, с |
Conf.PressureReady_CondRecCtrl_diRecoveryDelay |
DINT |
1 |
Время ожидания готовности после снятия зафиксированного условия, с |
Нулевая или отрицательная выдержка означает отсутствие соответствующей задержки.
Для общих настроек укажите одинаковый CondRecCtrlConf. Например, при CondRecCtrlConf = PressureCommon задержка фиксации называется Conf.PressureCommon_CondRecCtrl_diCondDelay. Общими станут обе выдержки и шунт; состояния и таймеры останутся отдельными для каждого экземпляра.
Выходы компонента
| Результат для примера | Тип | Назначение |
|---|---|---|
PressureReady_CondRecCtrl_Inst.out_bCond |
BOOL |
Условие прошло выдержку фиксации и остаётся активным |
PressureReady_CondRecCtrl_Inst.out_bRecovery |
BOOL |
Условие не зафиксировано, но готовность ещё не выдана |
PressureReady_CondRecCtrl_Inst.out_bWarning |
BOOL |
Зафиксировано условие либо идёт восстановление |
PressureReady_CondRecCtrl_Inst.out_bReady |
BOOL |
Готовность после восстановления, при шунте или отключённом контроле |
Для отображения используются View.PressureReady_CondRecCtrl_Inst_out_bCond, View.PressureReady_CondRecCtrl_Inst_out_bRecovery, View.PressureReady_CondRecCtrl_Inst_out_bWarning и View.PressureReady_CondRecCtrl_Inst_out_bReady.