MetaKit Руководство по компонентам

CondRecCtrl — контроль условия с выдержкой восстановления

CondRecCtrl запрещает работу при неисправности и разрешает её снова после выдержки времени. Например, при падении давления он запрещает продолжать работу, а после восстановления давления ждёт ещё 10 секунд и только затем снова выдаёт разрешение.

Повторное разрешение появляется автоматически. Если после неисправности обязательно нужен сброс оператором, используйте SignalsFilter.

Состав и связи

CondRecCtrl: Подключите выход готовности к разрешению нужного действия. Повторное разрешение выдаётся автоматически после выдержки восстановления.
В рамке — состав компонента, снаружи — подключения проекта. Нажмите на схему, чтобы открыть её крупнее.

Подключите выход готовности к разрешению нужного действия. Повторное разрешение выдаётся автоматически после выдержки восстановления.

Первое подключение

Заполняйте пример в таблице «Параметры» (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.