Сигналы тревог с квитированием

Стартовая страница Форумы Взаимодействие с устройствами Modbus Сигналы тревог с квитированием

Просмотр 15 сообщений - с 1 по 15 (из 15 всего)
  • Автор
    Записи
  • #41906
    Denis
    Участник

    Привет!
    У меня Rapid SCADA 6.4.1, данные снимаю с устройств типа Modbus TCP.
    Ситуация:
    — Снимаю данные с дискретных входов, тип канала Bool, чтобы получать сигналы тревог.
    — В каналах включены нужные события, и при срабатывании событие появляется — всё работает, но в графе «Серьёзность» пишет Информационная.
    — Хочу, чтобы серьёзность была Критическая и была возможность квитирования.

    Для решения вопроса я создал границу (Верхняя аварийная 1), сделал её общей, добавил к нужным каналам, включил события «Разрешены» и «Статус канала изменился».после этого события перестали приходить.

    Вопрос. Реально ли настроить для дискретных входов Критическое событие с квитированием, чтобы не создавать множество ненужных каналов? Единственный способ, который я придумал, — создать расчётные каналы с формулой: Val(DiscreteChannel) == 1 ? 1 : 0, но это создаст много дополнительных каналов. Может есть другой способ, чтобы бинарные события сразу были критическими и поддерживали квитирование?

    • Тема изменена 5 месяцев, 1 неделя назад пользователем Denis.
    #41912
    manjey73
    Участник

    Во входной формуле вы так же можете обрабатывать и Статус. Посмотрите в документаци.
    Соответственно если значение 1 это критикал, то вы при его появлении можете изменить и его Статус на нужный. Прямо в этом же канале.

    #41916
    a80808
    Участник

    SetStat() — статус
    SetData(data,status) — данные + статус

    #41919
    Denis
    Участник

    SetData(Val(), Val() == 1 ? 2 : 0). Подскажите, правильно ли записана формула? Не могу найти цифровое обозначение статуса каналов.

    #41920
    manjey73
    Участник

    Во вспомогательных таблицах посмотрите — Статусы каналов.
    Там же можете создавать свои со своими серьезностями для фильтрации например

    #41921
    Denis
    Участник

    Ой, выше не так формулу написал, SetStat(CnlNum, Val() == 1 ? 2 : 0). Вот эта формула должна сработать?

    #41922
    Denis
    Участник

    все понял, спасибо большое!

    #41924
    manjey73
    Участник

    Cnl == 0 ? Data() : NewData(Cnl, «а тут номер статуса»)

    Не проверял

    Или может вместо Data() — CnlData()

    • Ответ изменён 5 месяцев, 1 неделя назад пользователем manjey73.
    #41930
    Mikhail
    Модератор

    Добрый день!
    Серьёзность устанавливается автоматически в зависимости от статуса канала.
    Думаю, правильная формула такая (не проверял):
    Cnl; Cnl > 0 ? 23 : 1
    Статус 23 — ошибка. Можно и свой статус создать.

    В предыдущем сообщении нужно вместо Data() написать CnlData

    • Ответ изменён 5 месяцев, 1 неделя назад пользователем Mikhail.
    #43833
    manjey73
    Участник

    Подниму тему по статусам.

    OR(1016, 1017, 1018); Val() >0 ? SetStat(CnlNum, 23) : Stat()

    Собственно статус и не сработал, почему? предположу, что Val() имеет 0, потому что формула ИЛИ еще не отработала.

    Как правильно в данном случае использовать формулу Статуса при условии, что канал Расчетный ?

    #43834
    manjey73
    Участник

    Собственно вопрос в чем, что вместо Val() > 0 писать, чтобы

    1. не повторять всю формулу расчетного канала?
    2. получить данные из канала после выполнения расчетной формулы ?

    #43837
    manjey73
    Участник

    PrevVal() double Предыдущее значение канала вычисляемой формулы

    Собственно а где AfterVal() ? 🙂 в общем нужна короткая запись для значения, после выполнения формулы.

    а Val() похоже выдает текущее, которое не после входной формулы.

    #43855
    Mikhail
    Модератор

    Как правильно в данном случае использовать формулу Статуса при условии, что канал Расчетный ?

    Нужно, чтобы формула OR возвращала не double, а тип CnlData, который сразу включает в себя значение и статус.

    #43860
    manjey73
    Участник

    хм. А так можно было? 🙂

    А если некоторые моменты сильно различаются для значения и для статуса?
    Возвращение CnlData уже ведь не применишь.

    #43868
    Mikhail
    Модератор

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

Просмотр 15 сообщений - с 1 по 15 (из 15 всего)
  • Для ответа в этой теме необходимо авторизоваться.