Стартовая страница › Форумы › Взаимодействие с устройствами › Modbus › Сигналы тревог с квитированием
Помечено: Modbus TCP, Аварии, квитирование
- В этой теме 14 ответов, 4 участника, последнее обновление 1 месяц, 1 неделя назад сделано
Mikhail.
-
АвторЗаписи
-
12.02.2026 в 12:20 #41906
Denis
УчастникПривет!
У меня Rapid SCADA 6.4.1, данные снимаю с устройств типа Modbus TCP.
Ситуация:
— Снимаю данные с дискретных входов, тип канала Bool, чтобы получать сигналы тревог.
— В каналах включены нужные события, и при срабатывании событие появляется — всё работает, но в графе «Серьёзность» пишет Информационная.
— Хочу, чтобы серьёзность была Критическая и была возможность квитирования.Для решения вопроса я создал границу (Верхняя аварийная 1), сделал её общей, добавил к нужным каналам, включил события «Разрешены» и «Статус канала изменился».после этого события перестали приходить.
Вопрос. Реально ли настроить для дискретных входов Критическое событие с квитированием, чтобы не создавать множество ненужных каналов? Единственный способ, который я придумал, — создать расчётные каналы с формулой: Val(DiscreteChannel) == 1 ? 1 : 0, но это создаст много дополнительных каналов. Может есть другой способ, чтобы бинарные события сразу были критическими и поддерживали квитирование?
-
Тема изменена 5 месяцев, 1 неделя назад пользователем
Denis.
12.02.2026 в 13:25 #41912
manjey73УчастникВо входной формуле вы так же можете обрабатывать и Статус. Посмотрите в документаци.
Соответственно если значение 1 это критикал, то вы при его появлении можете изменить и его Статус на нужный. Прямо в этом же канале.12.02.2026 в 13:53 #41916
a80808УчастникSetStat() — статус
SetData(data,status) — данные + статус12.02.2026 в 15:27 #41919Denis
УчастникSetData(Val(), Val() == 1 ? 2 : 0). Подскажите, правильно ли записана формула? Не могу найти цифровое обозначение статуса каналов.
12.02.2026 в 15:41 #41920
manjey73УчастникВо вспомогательных таблицах посмотрите — Статусы каналов.
Там же можете создавать свои со своими серьезностями для фильтрации например12.02.2026 в 15:41 #41921Denis
УчастникОй, выше не так формулу написал, SetStat(CnlNum, Val() == 1 ? 2 : 0). Вот эта формула должна сработать?
12.02.2026 в 15:42 #41922Denis
Участниквсе понял, спасибо большое!
12.02.2026 в 15:48 #41924
manjey73УчастникCnl == 0 ? Data() : NewData(Cnl, «а тут номер статуса»)
Не проверял
Или может вместо Data() — CnlData()
-
Ответ изменён 5 месяцев, 1 неделя назад пользователем
manjey73.
12.02.2026 в 17:14 #41930
MikhailМодераторДобрый день!
Серьёзность устанавливается автоматически в зависимости от статуса канала.
Думаю, правильная формула такая (не проверял):
Cnl; Cnl > 0 ? 23 : 1
Статус 23 — ошибка. Можно и свой статус создать.В предыдущем сообщении нужно вместо Data() написать CnlData
-
Ответ изменён 5 месяцев, 1 неделя назад пользователем
Mikhail.
10.06.2026 в 10:07 #43833
manjey73УчастникПодниму тему по статусам.
OR(1016, 1017, 1018); Val() >0 ? SetStat(CnlNum, 23) : Stat()Собственно статус и не сработал, почему? предположу, что Val() имеет 0, потому что формула ИЛИ еще не отработала.
Как правильно в данном случае использовать формулу Статуса при условии, что канал Расчетный ?
10.06.2026 в 10:17 #43834
manjey73УчастникСобственно вопрос в чем, что вместо Val() > 0 писать, чтобы
1. не повторять всю формулу расчетного канала?
2. получить данные из канала после выполнения расчетной формулы ?10.06.2026 в 11:20 #43837
manjey73УчастникPrevVal() double Предыдущее значение канала вычисляемой формулы
Собственно а где AfterVal() ? 🙂 в общем нужна короткая запись для значения, после выполнения формулы.
а Val() похоже выдает текущее, которое не после входной формулы.
10.06.2026 в 14:45 #43855
MikhailМодераторКак правильно в данном случае использовать формулу Статуса при условии, что канал Расчетный ?
Нужно, чтобы формула OR возвращала не double, а тип CnlData, который сразу включает в себя значение и статус.
10.06.2026 в 15:11 #43860
manjey73Участникхм. А так можно было? 🙂
А если некоторые моменты сильно различаются для значения и для статуса?
Возвращение CnlData уже ведь не применишь.11.06.2026 в 14:21 #43868
MikhailМодераторТипы данных, которые поддерживаются формулами, описаны в документации.
Используйте тот вариант, который удобнее в конкретном случае. -
Тема изменена 5 месяцев, 1 неделя назад пользователем
-
АвторЗаписи
- Для ответа в этой теме необходимо авторизоваться.