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

SensLim — контроль границ измерения

SensLim сообщает, что давление, температура, уровень или другое измерение вышло за допустимые границы. Для датчика можно задать два предупредительных и два аварийных порога, задержки срабатывания и порядок сброса.

Компонент добавляется к уже настроенному Sensor. Он использует готовое измерение, например давление в барах. Сам аналоговый вход повторно подключать не нужно. Если нужно поддерживать значение, а не только проверять границы, используйте регулятор PID, TwoStep или готовый узел с регулированием.

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

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

Sensor добавляется отдельно. SensLim использует его готовое измерение, например давление в барах; сырой аналоговый вход повторно подключать не нужно.

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

Заполняйте пример в таблице «Параметры» (Params) добавленного компонента. Как добавить компонент и где искать настройки.

Перед генерацией выберите вариант работы с MetaLab: добавить готовые сценарии или пока отключить их создание.

Есть датчик давления PT101 с диапазоном 0–10 бар. Для примера зададим предупреждения при 2 и 8 бар, аварии при 1 и 9 бар. Рабочие пороги для своего оборудования выбирайте по его требованиям.

1. Укажите датчик и пороги

Параметр Значение для примера
SensId PT101
Comment Давление после насосов
SensLimParent CabinetController_Inst
LLVal 1.0
LVal 2.0
HVal 8.0
HHVal 9.0
LLEnable, LEnable, HEnable, HHEnable true
SensErrFlt true
SensErrWrn false
FltAutoReset false
WrnAutoReset true

SensId должен совпадать с ID Sensor. Измерение берётся из PT101_SensFilter_Inst.out_fY, ошибка — из PT101_Sensor_Inst.out_bError. Сначала в программе должен выполняться Sensor, затем SensLim.

2. Включите нужные проверки

Все четыре шунта SensLim изначально включены. Чтобы пороги проверялись, установите следующие значения:

Настройка Значение для примера
Conf.PT101_SensLim_HH_bBypass false
Conf.PT101_SensLim_H_bBypass false
Conf.PT101_SensLim_L_bBypass false
Conf.PT101_SensLim_LL_bBypass false
Conf.PT101_SensLim_Flt_diDelay 1 с
Conf.PT101_SensLim_Wrn_diDelay 1 с

Проверьте также Conf.PT101_Sensor_EV_bLimitBypass: при TRUE он отключает все четыре проверки SensLim. Это существующая настройка Sensor, SensLim её использует, но не создаёт.

3. Как это будет работать

При давлении 8,5 бар через одну секунду появится верхнее предупреждение. При росте до 9 бар начнётся выдержка верхней аварии. Пока она не закончилась, предупреждение сохраняется. После срабатывания аварии верхнее предупреждение снимается.

Если давление вернулось в норму, предупреждение исчезает само, а авария остаётся до сброса оператором. Для нижних порогов действует тот же порядок.

Если авария должна останавливать оборудование, подключите PT101_SensLim_Flts_Inst.out_bQ к соответствующему запрету или входу внешней аварии. SensLim сам команд пуска и останова не выдаёт.

Какие границы проверяются

Обозначение Значение Условие
HH Верхняя аварийная граница Измерение больше или равно HH
H Верхняя предупредительная граница Измерение больше или равно H
L Нижняя предупредительная граница Измерение меньше или равно L
LL Нижняя аварийная граница Измерение меньше или равно LL

Все четыре числа задаются в единицах готового измерения: барах, градусах, процентах уровня. Обычно их располагают в порядке LL < L < H < HH. Отдельного гистерезиса у SensLim нет. Задержка требует, чтобы условие сохранялось непрерывно.

Аварийные границы HH и LL имеют общую настройку времени. Предупредительные H и L — другую общую настройку времени.

Предупреждение при аварии

После срабатывания HH верхнее предупреждение H перестаёт получать условие срабатывания. При обычном WrnAutoReset = true оно сразу снимается. То же происходит с L после срабатывания LL.

Если HH запрещён или зашунтирован, он не подавляет H. Предупреждение может оставаться и выше численного порога HH. Если авария HH сохранена до ручного сброса, она продолжает подавлять H до своего снятия.

При WrnAutoReset = false уже записанное предупреждение тоже требует сброса: одно появление аварии его не очищает.

Ошибка датчика

Когда Sensor сообщает ошибку, SensLim прекращает новые проверки числовых границ. Вместо них может включиться отдельная причина «Ошибка датчика». Это позволяет не оценивать пороги по недостоверному измерению.

Параметр Что включает
SensErrFlt = true Ошибку датчика в аварийной группе
SensErrWrn = true Ошибку датчика в предупредительной группе

Если включить оба параметра, ошибка попадёт в обе группы. Для этих каналов дополнительная задержка SensLim равна нулю; собственная обработка ошибки выполняется в Sensor.

Ошибка датчика не очищает ранее записанные аварии границ. Они снимаются по установленному порядку сброса. Шунты HH, H, L и LL не отключают отдельный канал ошибки датчика.

Разрешения, шунты и сброс

Разрешения HHEnable, HEnable, LEnable, LLEnable определяют, когда проверять каждый порог. В них можно указать true, false или условие программы. Например, нижнее давление можно контролировать только после выхода насосной группы на рабочий режим.

При выключенном автосбросе снятие разрешения не очищает ранее сработавшую причину само по себе. Общий сброс от SensLimParent.out_bFaultReset снимает её, если условие уже исчезло или проверка запрещена.

Индивидуальный шунт сразу снимает свою причину и прекращает её проверку. Общий Conf.PT101_Sensor_EV_bLimitBypass действует так же сразу на все четыре порога. Для возобновления контроля нужны снятые шунты и включённое разрешение.

FltAutoReset общий для HH, LL и аварийного канала ошибки датчика. WrnAutoReset общий для H, L и предупредительного канала ошибки датчика.

Состав

Экземпляр для PT101 Назначение
PT101_SensLim_Flts_Inst CSignalsFilter: HH, LL и ошибка датчика
PT101_SensLim_Wrns_Inst CSignalsFilter: H, L и ошибка датчика

Sensor и его фильтр измерения уже должны существовать. SensLim не создаёт их повторно.

Параметры компонента — Params

Параметр По умолчанию Назначение
$Limit Пределы датчика Название группы параметров
SensId _ID_ ID существующего Sensor
Comment датчик Название измерения в комментариях
SensLimParent CabinetController_Inst Источник общей команды сброса
SensErrFlt true Разрешение аварийного канала ошибки датчика
SensErrWrn false Разрешение предупредительного канала ошибки датчика
FltAutoReset false Автосброс аварийной группы
WrnAutoReset true Автосброс предупредительной группы
HHVal 90.0 Начальная верхняя аварийная граница
HHEnable true Условие проверки HH
HVal 80.0 Начальная верхняя предупредительная граница
HEnable true Условие проверки H
LVal 20.0 Начальная нижняя предупредительная граница
LEnable true Условие проверки L
LLVal 10.0 Начальная нижняя аварийная граница
LLEnable true Условие проверки LL

Поля с окончанием Val задают начальные значения настроек Conf. Во время работы пороги изменяются через Conf. Начальные 10, 20, 80 и 90 не являются готовыми уставками для любого датчика: замените их значениями в единицах своего измерения.

Настройки во время работы — Conf

Имена приведены для SensId = PT101.

Настройка Тип Начальное значение Назначение
Conf.PT101_SensLim_fHH REAL HHVal, по умолчанию 90.0 Верхняя аварийная граница
Conf.PT101_SensLim_fH REAL HVal, по умолчанию 80.0 Верхняя предупредительная граница
Conf.PT101_SensLim_fL REAL LVal, по умолчанию 20.0 Нижняя предупредительная граница
Conf.PT101_SensLim_fLL REAL LLVal, по умолчанию 10.0 Нижняя аварийная граница
Conf.PT101_SensLim_Flt_diDelay DINT 1 Задержка HH и LL, с
Conf.PT101_SensLim_Wrn_diDelay DINT 1 Задержка H и L, с
Conf.PT101_SensLim_HH_bBypass BOOL true Шунт HH
Conf.PT101_SensLim_H_bBypass BOOL true Шунт H
Conf.PT101_SensLim_L_bBypass BOOL true Шунт L
Conf.PT101_SensLim_LL_bBypass BOOL true Шунт LL

Для задержки 0 дополнительное ожидание отключено. Значение TRUE у шунта означает, что проверка выключена. Отдельного выбора общего набора настроек у SensLim нет: имена содержат ID датчика.

Результаты для программы и панели

Все перечисленные результаты имеют тип BOOL; TRUE означает срабатывание.

Поле экземпляра Что означает
PT101_SensLim_Flts_Inst.out_Signal1_bQ Верхняя авария HH
PT101_SensLim_Flts_Inst.out_Signal2_bQ Нижняя авария LL
PT101_SensLim_Flts_Inst.out_Signal3_bQ Ошибка датчика в аварийной группе
PT101_SensLim_Flts_Inst.out_bQ Любая из трёх аварий
PT101_SensLim_Wrns_Inst.out_Signal1_bQ Верхнее предупреждение H
PT101_SensLim_Wrns_Inst.out_Signal2_bQ Нижнее предупреждение L
PT101_SensLim_Wrns_Inst.out_Signal3_bQ Ошибка датчика в предупредительной группе
PT101_SensLim_Wrns_Inst.out_bQ Любое из трёх предупреждений

Для панели эти восемь результатов доступны в View. Например, верхняя авария — View.PT101_SensLim_Flts_Inst_out_Signal1_bQ, общий аварийный результат — View.PT101_SensLim_Flts_Inst_out_bQ.

Отдельной команды сброса в SensLim нет: используется out_bFaultReset указанного родителя. При стандартном CabinetController сброс с панели выполняется записью TRUE в View.CabinetController_Inst_inout_bFaultReset.

Перед генерацией

Если сейчас нужна только программа, откройте у этого компонента область «Экспорт MetaLab» и удалите заполненные строки в своём проекте. После этого можно генерировать без сценариев.

Если будете выполнять виртуальную наладку, оставьте экспорт и импортируйте в раздел MetaLab следующие компоненты из полного архива MetaKit:

Компонент MetaLab Файл в архиве MetaKit
SensLim MetaLab/Sys Scenarios/SensLim.yaml

Один шаблон достаточно добавить один раз, даже если он нужен нескольким механизмам. Сохраните указанные имена: по ним MetaPlatform находит нужный сценарий. Сами значения для механизмов будут подставлены при генерации.

При заполненном экспорте отсутствие шаблона остановит генерацию. Этот шаг нужен для MetaCore, CODESYS 3.5 и Siemens TIA Portal; для CODESYS 2.3 сценарии MetaLab не создаются.