PDA

Просмотр полной версии : Классы тревог



okochurov
25.11.2019, 10:33
Здравствуйте! Прошу помочь разобраться в следующем вопросе:
Пусть имеется несколько тревог, относящихся к одному классу. Требуется оперативно определить имеется ли в текущий момент:
1) хотя бы одна активная тревога,
2) хотя бы одна неактивная и неквитированная тревога.

Ясно, что факт активации тревог можно установить путем программной проверки тех же условия, что прописаны в Alarm Configuration. Однако это двойная работа. Как определить наличие неквитированных тревог совсем неясно.

Евгений Кислов
26.11.2019, 08:09
Добрый день.
1)Есть пример от 3S:
https://ftp.owen.ru/CoDeSys3/21_Examples/01_3.5.11.5/02_Visu/04_3S/AlarmManager.package

По нему можно понять, как определить число активных тревог для определенной группы. Возможно (не уверен) по аналогии можно написать подходящий код для класса.

okochurov
26.11.2019, 08:52
Спасибо за пример. Попробую разобраться.

Однако тут явно не так все просто, как хотелось бы. Это наводит на мысль, что я выбрал путь методически неверный.
Цель моя проста. Я хочу, чтобы тревоги останавливали систему (или подсистему) и блокировали повторный запуск до тех пор, пока они не будут квитированы. Мне задача представлялась чрезвычайно распространенной и тривиальной. Направьте, пожалуйста, на верный путь. Как это реализовать проще всего? Какова общепринятая практика?

Пока приходит в голову следующее:
1) программно проверять условия всех тревог и устанавливать собственные логические флаги;
2) в Alarm Configuration прописать проверку этих флагов, как дискретных сигналов;
3) поскольку тревоги проверяются программно, определить есть ли среди них активные не составит труда;
4) вместо квитирование ввести собственную кнопку подтверждения;
5) деблокирование запуска выполняется по условию: "нет активных аварий" И "нажата кнопка подтверждения".

Евгений Кислов
26.11.2019, 09:02
Я обычно как раз делаю по описанному вами сценарию - он представляется наиболее простым и гибким.

okochurov
26.11.2019, 09:04
Большое спасибо! Для новичка в этом деле выбрать верную методику - половина дела.