Тема / Topic: Обработка одновременно пришедших тревожных сообщений
Olga Shabalina
Forum Haunter / Завсегдатай форума
Участник № / Member № 1126
отправлено / posted
Здравтствуйте!
В моем проекте на 4 экрана выводятся значения сигналов (0 или 1), получаемых с УСО. Если какой-то сигнал получил критическое значение, его экран вылезает на передний план, и оператор его видит. А если одновременно с этим происходит еще несколько аварий на других экранах. Они остались позади, и оператор их может не увидеть. Можно сделать так, чтобы орала сирена, пока все не починят, но это нехорошо. Можно складывать все сигналы (инвертируя их) - тогда в безаварийной ситуации сумма равна 0 - иначе - больше 0. Тогда, квитирую аварию, можно вычитать их этой суммы по 1 - если стало 0 -все ОК. Но тоже кривовато, ведь квитировать один вигнал можно случайно дважды - произойдет ошибка
отправлено / posted
Есть три варианта: 1) Все же звуковая сигнализация... 2) Событийный переход по остальным экранам, только по результату квитирования текущего аларма (что-то вроде стэка аварий). 3) Организовать вывод всех этих аварий и их квитирование на единый экран аварий, тогда и прыгать никуда не нужно. А чтобы всегда под рукой был этот экран - сделать его как ссылку на экран на всех рабочих экранах, на которых он должен быть доступен.
Сообщения / Posts 17356 | Из / From: Россия
| IP / IP: IP адрес / IP address |
Olga Shabalina
Forum Haunter / Завсегдатай форума
Участник № / Member № 1126
отправлено / posted
Можно подробнее о п.2? При квитировании аларма происходит переход на другой экран, где есть авария? А как это реализовать?
И где в ТМ хранится состояние канала - квитирован/неквитирован? Мне нужно обрабатывать информацию о квитировании - опустошать стек неквитированных алармов. Но оператор может сквитировать одну аварию дважды!!! - стек опустошится, а какая-нибудь авария окажется незамеченной!!! Нужно третье состояние канала - норма, неквит. аларм и квит. аларм. И в ТМ это, вероятно, есть, раз прекращается мигание. Как это добыть?
Сообщения / Posts 141 | Из / From: Russia
| IP / IP: IP адрес / IP address |
отправлено / posted
Это состояние недоступно, потому как в канале не хранится. Вам необходимо реализовать систему стэка аварий самим - это обычная очередь в которую помещаются коды аварий и статусы этих кодов, глобальные переменные могут вполне для этого подойти.
Сообщения / Posts 17356 | Из / From: Россия
| IP / IP: IP адрес / IP address |