Вход

Просмотр полной версии : Очистка истории из кода программы



mitqa
13.08.2024, 09:31
Добрый день.

В руководстве CODESYS 3.5 по визуализации приведен пример очистки истории тревог из кода программы:



// очистка истории тревог из кода программы
VAR
itfAlarmConfiguration : AlarmManager.IAlarmConfiguration;
itfAlarmConfiguration7 : AlarmManager.IAlarmConfiguration7;
END_VAR
FOR i := 0 TO AlarmGlobals.g_AlarmHandler.AlarmConfigurationCoun t - 1 DO
itfAlarmConfiguration := AlarmGlobals.g_AlarmHandler.GetAlarmConfiguration( i);
IF __QUERYINTERFACE(itfAlarmConfiguration, itfAlarmConfiguration7) THEN
// сохраняем в журнале текущие тревоги
itfAlarmConfiguration7.ClearHistory(xKeepActiveAla rms := TRUE);
END_IF
END_FOR


Не совсем понял как работает данный код, а самое главное, можно ли подвязать к данному коду булеву переменную (которая в свою очередь будет привязана к кнопке на панели), при изменении которой будет производится очистка истории?

Евгений Кислов
13.08.2024, 09:55
Добрый день.


можно ли подвязать к данному коду булеву переменную (которая в свою очередь будет привязана к кнопке на панели), при изменении которой будет производится очистка истории?

Да. Оберните его в конструкцию IF, условием которой будет значение вашей булевой переменной.

NoKa_AriRiKa
15.08.2024, 09:21
Спасибо.
Столкнулся еще со следующей проблемой, установлен способ подтверждения тревог REP. При формировании аварийного события в журнал аварий сохраняется это событие, далее снимаю питание с ПЛК и подаю по новой, в журнале формируется данное во второй раз, после чего аварийное событие снимаю. В журнале аварий одна из тревог пропадает, а вторая остается активной и кнопкой "Очистка истории" соответственно удаляется только та тревога, которая неактивна. В чем может быть проблема?7801678015

Евгений Кислов
15.08.2024, 09:27
Спасибо.
Столкнулся еще со следующей проблемой, установлен способ подтверждения тревог REP. При формировании аварийного события в журнал аварий сохраняется это событие, далее снимаю питание с ПЛК и подаю по новой, в журнале формируется данное во второй раз, после чего аварийное событие снимаю. В журнале аварий одна из тревог пропадает, а вторая остается активной и кнопкой "Очистка истории" соответственно удаляется только та тревога, которая неактивна. В чем может быть проблема?7801678015



itfAlarmConfiguration7.ClearHistory(xKeepActiveAla rms := TRUE);


В вашем случае - замените на FALSE.