1. Обязательно представиться на русском языке кириллицей (заполнить поле "Имя").
  2. Фиктивные имена мы не приветствуем. Ивановых и Пупкиных здесь уже достаточно.
  3. Не писать свой вопрос в первую попавшуюся тему - вместо этого создать новую тему.
  4. За поиск, предложение и обсуждение пиратского ПО и средств взлома - бан без предупреждения.
  5. Рекламу и частные объявления "куплю/продам/есть халтура" мы не размещаем ни на каких условиях.
  6. Перед тем как что-то написать - читать здесь и здесь, а студентам - обязательно здесь.
  7. Не надо писать в ЛС администраторам свои технические вопросы. Администраторы форума отлично знают как работает форум, а не все-все контроллеры, о которых тут пишут.

Codesys 3.5 alarm manager

Ответить

Автор темы
a93911
здесь недавно
здесь недавно
Сообщения: 87
Зарегистрирован: 09 июн 2017, 09:03
Имя: Андрей А.
Благодарил (а): 4 раза
Поблагодарили: 6 раз

Codesys 3.5 alarm manager

Сообщение a93911 »

Приветствую, коллеги. Нужна подсказка по Alarm Manager в Кодесис 3.5
Есть задача
1. по возникновению аварии(й) посредством менеджера устанавливать общий бит аварии. Это сделано без проблем в окне Alarm Configuration - Error. Привязал переменную к действию 'активация'. При возникновении любой аварии из списка общий бит устанавливается.

2. Необходимо после квитирования всех сообщений автоматически сбросить общий бит. Пока что пробовал в вышеуказанном окне привязывать сброс к действию 'подтвердить', но сброс происходит и при единичном квитировании. Нужна какая-то внутренняя переменная, привязанная к классу ' Error', например, счетчик неквитированных сообщений или просто бит, определяющий наличие неквитированного сообщения в данном классе.

Кто нибудь сталкивался с подобной ситуацией? Подскажите ответ
Аватара пользователя

keysansa
эксперт
эксперт
Сообщения: 2340
Зарегистрирован: 20 дек 2018, 04:45
Имя: Сергей
Страна: РБ/РФ
город/регион: РФ Сергиев Посад
Благодарил (а): 1998 раз
Поблагодарили: 176 раз

Codesys 3.5 alarm manager

Сообщение keysansa »

Заведите кнопку "сброс аварий" в условие их формирования. Вы же их все равно все сбрасываете при квитировании всех сообщений.
Если нужно оценивать квитирование каждого сообщения - счетчик тут не поможет. Надо функция анализирующая массив бит.
например isError(AErrArr: Pointer, ANErr: Int) (*число элементов массива*)
В трансформаторной будке живет трансформаторная собака (с) Прозрачный гонщик.
Ответить

Вернуться в «ОВЕН»