Сообщение создано: 19. 05. 2014 [15:59]
|
roman
Roman Savochenko
Moderator Contributor Developer
Зарегистрирован(а) с: 12.12.2007
Сообщения: 3750
|
"irplanet" wrote:
В библиотеке шаблонов есть атрибут аварии pvaNoConnKontar и признак того, что авария уже приходила OpvaNoConnKontar.
Атрибуты в библиотеке шаблонов не хранятся.
"irplanet" wrote:
if ((OpvaNoConnKontar=="0")&(pvaNoConnKontar=="1")) {OpvaNoConnKontar="1"; this.nodePrev().alarmSet((this.nodePrev().name()) + ": Нет связи с контроллером Контар", -7, SHIFR);};
if ((OpvaNoConnKontar=="1")&(pvaNoConnKontar=="0")) {OpvaNoConnKontar="0"; this.nodePrev().alarmSet((this.nodePrev().name()) + ": Ушла авария: Нет связи с контроллером Контар", 1, SHIFR);};
Если авария есть, появляется запись в протоколе. Но после перезапуска скады протокол чист. Ведь скада считает что и авария есть, и раньше была. И условия не срабатывают. Но и постоянно фиксировать эту аварию (OpvaNoConnKontar=="1")&(pvaNoConnKontar=="1") тоже не вариант. Подскажите, как лучше сделать в данной ситуации.
Алгоритм правильный кроме того, что OpvaNoConnKontar должен быть просто автоматической переменной с инициализацией при старте:
if(f_start) OpvaNoConnKontar = "0";
А лучше переписать под логический тип:
if(f_start) OpvaNoConnKontar = false;
Learn, learn and learn better than work, work and work.
|
Сообщение создано: 19. 05. 2014 [18:53]
|
roman
Roman Savochenko
Moderator Contributor Developer
Зарегистрирован(а) с: 12.12.2007
Сообщения: 3750
|
"roman" wrote:
Только согласно свойств сообщения.
С чем тоже были проблемы после пропуска Алармов в отрицательном уровне (делалось для шлюзования нарушений по DAQGate).
Исправил!
Learn, learn and learn better than work, work and work.
|