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

FltsWrns — группа аварий и предупреждений

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

Выбирайте его, когда общая логика шкафа уже есть, а участку нужна своя группа сигналов. Для общего пуска шкафа вместе с такими сигналами используйте General. Если достаточно одного фильтра на восемь каналов, подойдёт SignalsFilter. В готовых узлах Units оба фильтра уже включены в состав.

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

FltsWrns: Компонент содержит два независимых фильтра. Подключите их результаты к сообщениям и управлению оборудованием; сам FltsWrns механизмами не управляет.
В рамке — состав компонента, снаружи — подключения проекта. Нажмите на схему, чтобы открыть её крупнее.

Компонент содержит два независимых фильтра. Подключите их результаты к сообщениям и управлению оборудованием; сам FltsWrns механизмами не управляет.

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

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

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

У группы насосов есть общий сигнал неисправности и предупреждение о необходимости обслуживания. Назовём группы Pumps_Flts и Pumps_Wrns.

1. Назовите группы и подключите сброс

Параметр Значение для примера
FltBlockId Pumps_Flts
FltComment Насосная группа. Аварии
WrnBlockId Pumps_Wrns
WrnComment Насосная группа. Предупреждения
FltsWrnsParent CabinetController_Inst

В поле Parent указан источник общего сброса: оба фильтра получают его сигнал out_bFaultReset. Когда проверять каждую причину, задайте отдельно в параметрах её канала.

2. Заполните причины

Поле Аварийный канал 1 Предупредительный канал 1
ID FltId1 = PUMP_FAULT WrnId1 = SERVICE
Название FltComment1 = Неисправность насосной группы WrnComment1 = Требуется обслуживание
Вход FltIn1 = bPumpFault WrnIn1 = bServiceRequired
Разрешение FltEnable1 = true WrnEnable1 = true
Автосброс FltAutoReset1 = false WrnAutoReset1 = true

Имена сигналов замените своими. TRUE на входе означает наличие причины. У неиспользуемых каналов ID должен быть пустым. В используемом канале заполните все пять полей.

3. Задайте задержку и используйте результат

Для аварии, которую нужно учитывать только после двух секунд непрерывного сигнала:

Настройка Значение
Conf.Pumps_Flts_SgnlsFltr_PUMP_FAULT_diDelay 2 с
Conf.Pumps_Flts_SgnlsFltr_PUMP_FAULT_bBypass false

В программе используйте Pumps_Flts_SgnlsFltr_Inst.out_bQ, если нужна любая авария группы, или Pumps_Flts_SgnlsFltr_Inst.out_Signal1_bQ, если нужна только причина первого канала.

Например, общий аварийный выход можно подключить к EngExtFault компонента Engine. Тогда двигатель останавливается по этой группе аварий. Без такого подключения FltsWrns только формирует результаты проверки; команды оборудованию он не выдаёт.

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

Как работает канал

Условие Что происходит
Причина появилась, канал разрешён Начинается отсчёт задержки
Причина исчезла раньше окончания задержки Отсчёт сбрасывается, срабатывания нет
Причина сохраняется всё время задержки Включаются выход канала и общий выход его группы
Причина исчезла, автосброс включён Срабатывание снимается
Причина исчезла, автосброс выключен Срабатывание сохраняется до сброса
Включён шунт Срабатывание и отсчёт этого канала снимаются

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

Разрешение проверки

Через FltEnableN и WrnEnableN можно проверять сигнал постоянно либо только при нужном условии. Например, отсутствие расхода — при работающем насосе.

При снятом разрешении новые срабатывания не появляются. Если автосброс выключен, ранее записанная причина остаётся до сброса. При автосбросе снятие разрешения очищает и записанное срабатывание.

Сброс

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

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

Аварийные и предупредительные каналы проверяются независимо. Их поведение определяют параметры; название группы само по себе не включает или не отключает запоминание. У первого аварийного канала автосброс изначально выключен, у первого предупредительного — включён.

Имена групп и каналов

Что задаём Пример Где используется
ID аварийной группы Pumps_Flts Имя экземпляра и начало имён настроек
ID причины PUMP_FAULT Имя задержки и шунта этой причины
Номер канала 1 Выход out_Signal1_bQ

Полное имя задержки — Conf.Pumps_Flts_SgnlsFltr_PUMP_FAULT_diDelay. Выход той же причины — Pumps_Flts_SgnlsFltr_Inst.out_Signal1_bQ.

ID двух групп должны различаться. Внутри каждой группы задавайте разные ID причин. Это позволяет настраивать каждую причину отдельно. Для ещё одной пары групп добавьте другой FltsWrns с новыми ID групп.

Состав

Экземпляр для примера Назначение
Pumps_Flts_SgnlsFltr_Inst CSignalsFilter: до восьми аварий
Pumps_Wrns_SgnlsFltr_Inst CSignalsFilter: до восьми предупреждений

Сам CabinetController в этот компонент не входит. Сначала должен отработать источник общего сброса, затем FltsWrns, затем оборудование, использующее выходы фильтров.

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

Параметр По умолчанию Назначение
FltsWrnsParent CabinetController_Inst Родитель, от которого оба фильтра получают out_bFaultReset.
$Flts Аварии Название группы параметров аварий.
FltBlockId Flts ID аварийного фильтра.
FltComment Аварии Название аварийной группы в комментариях.
$Wrns Предупреждения Название группы параметров предупреждений.
WrnBlockId Wrns ID предупредительного фильтра.
WrnComment Предупреждения Название предупредительной группы в комментариях.

Поля каждого канала

N — номер от 1 до 8. Например, FltIdN означает поля FltId1, FltId2, FltId3, FltId4, FltId5, FltId6, FltId7, FltId8. То же правило действует для остальных строк таблицы.

Параметры Канал 1 Каналы 2–8 Назначение
FltIdN, WrnIdN _ID_ Пусто ID причины. Пустой ID исключает канал
FltCommentN авария Пусто Название аварийной причины
WrnCommentN предупреждение Пусто Название предупредительной причины
FltInN, WrnInN _DI_ Пусто TRUE — причина присутствует
FltEnableN, WrnEnableN true Пусто Условие проверки канала
FltAutoResetN false Пусто TRUE — снимать аварию автоматически
WrnAutoResetN true Пусто TRUE — снимать предупреждение автоматически

Пустые поля каналов 2–8 не являются настройками для работающего канала. При заполненном ID задайте также вход, разрешение и способ сброса.

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

У каждой используемой причины свои задержка и шунт. Для примера выше:

Настройка Тип Начальное значение Назначение
Conf.Pumps_Flts_SgnlsFltr_PUMP_FAULT_diDelay DINT 0 Задержка срабатывания, с
Conf.Pumps_Flts_SgnlsFltr_PUMP_FAULT_bBypass BOOL false TRUE — отключить канал и снять его срабатывание
Conf.Pumps_Wrns_SgnlsFltr_SERVICE_diDelay DINT 0 Задержка срабатывания, с
Conf.Pumps_Wrns_SgnlsFltr_SERVICE_bBypass BOOL false TRUE — отключить канал и снять его срабатывание

Имя настройки содержит ID группы и ID причины. Настройки создаются только для каналов с заполненным ID.

Результаты фильтров

Поле экземпляра Тип Назначение
Pumps_Flts_SgnlsFltr_Inst.out_bQ BOOL Есть хотя бы одна сработавшая причина.
Pumps_Flts_SgnlsFltr_Inst.out_bBypass BOOL Включён хотя бы один шунт группы.
Pumps_Flts_SgnlsFltr_Inst.out_Signal1_bQ BOOL Сработал канал 1; для остальных каналов используются Signal2–Signal8.
Pumps_Wrns_SgnlsFltr_Inst.out_bQ BOOL Есть хотя бы одна сработавшая причина.
Pumps_Wrns_SgnlsFltr_Inst.out_bBypass BOOL Включён хотя бы один шунт группы.
Pumps_Wrns_SgnlsFltr_Inst.out_Signal1_bQ BOOL Сработал канал 1; для остальных каналов используются Signal2–Signal8.

Для панели те же результаты находятся в View: например, View.Pumps_Flts_SgnlsFltr_Inst_out_bQ и View.Pumps_Flts_SgnlsFltr_Inst_out_Signal1_bQ. Отдельные выходы каналов публикуются при заполненном ID. Общие выходы группы публикуются всегда.

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

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

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

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

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

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