Приветствую, коллеги. Нужна подсказка по Alarm Manager в Кодесис 3.5
Есть задача
1. по возникновению аварии(й) посредством менеджера устанавливать общий бит аварии. Это сделано без проблем в окне Alarm Configuration - Error. Привязал переменную к действию 'активация'. При возникновении любой аварии из списка общий бит устанавливается.
2. Необходимо после квитирования всех сообщений автоматически сбросить общий бит. Пока что пробовал в вышеуказанном окне привязывать сброс к действию 'подтвердить', но сброс происходит и при единичном квитировании. Нужна какая-то внутренняя переменная, привязанная к классу ' Error', например, счетчик неквитированных сообщений или просто бит, определяющий наличие неквитированного сообщения в данном классе.
Кто нибудь сталкивался с подобной ситуацией? Подскажите ответ
- Обязательно представиться на русском языке кириллицей (заполнить поле "Имя").
- Фиктивные имена мы не приветствуем. Ивановых и Пупкиных здесь уже достаточно.
- Не надо писать свой вопрос в первую попавшуюся тему - всегда лучше создать новую тему.
- За поиск, предложение и обсуждение пиратского ПО и средств взлома - бан без предупреждения. Непонятно? - Читать здесь.
- Рекламу и частные объявления "куплю/продам/есть халтура" мы не размещаем ни на каких условиях.
- Перед тем как что-то написать - читать здесь, а затем здесь и здесь.
- Не надо писать в ЛС администраторам свои технические вопросы. Администраторы форума отлично знают как работает форум, а не все-все контроллеры, о которых тут пишут.
Codesys 3.5 alarm manager
Модератор: Глоб.модераторы
-
- эксперт
- Сообщения: 2469
- Зарегистрирован: 20 дек 2018, 04:45
- Имя: Сергей
- Страна: РБ/РФ
- город/регион: РФ Сергиев Посад
- Благодарил (а): 2119 раз
- Поблагодарили: 206 раз
Codesys 3.5 alarm manager
Заведите кнопку "сброс аварий" в условие их формирования. Вы же их все равно все сбрасываете при квитировании всех сообщений.
Если нужно оценивать квитирование каждого сообщения - счетчик тут не поможет. Надо функция анализирующая массив бит.
например isError(AErrArr: Pointer, ANErr: Int) (*число элементов массива*)
Если нужно оценивать квитирование каждого сообщения - счетчик тут не поможет. Надо функция анализирующая массив бит.
например isError(AErrArr: Pointer, ANErr: Int) (*число элементов массива*)
В трансформаторной будке живет трансформаторная собака (с) Прозрачный гонщик.