PDA

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



Edvard_Aroyan
01.11.2024, 10:37
Есть ли в MasterSCADA 4D встроенный механизм для квитирования события? Например, нужно чтобы при изменении значения параметра необходимо было квитировать данное событие кликом мыши по соответствующему элементу.

1exan
01.11.2024, 10:41
При изменении значения на сколько? на 0.1? на 0.001?
Квитировать не устанете?

МихаилГл
01.11.2024, 10:44
При изменении значения на сколько? на 0.1? на 0.001?
Квитировать не устанете?

Скорее всего при достижении hh h l ll значений. Но я в своей практике никогда встроенными механизмами не пользовался. Всё делалось в контроллере самописным кодом, благо он 5 строк занимает на ST

Edvard_Aroyan
01.11.2024, 10:44
Я имею ввиду параметр типа BOOL. Например при изменении положения элемент начинает мигать и нужно квитировать изменение

Edvard_Aroyan
01.11.2024, 10:53
Скорее всего при достижении hh h l ll значений. Но я в своей практике никогда встроенными механизмами не пользовался. Всё делалось в контроллере самописным кодом, благо он 5 строк занимает на ST

Да, я тоже пробовал программой, хотел сделать таким образом, что при изменении State я присваиваю переменной Confirm значение True и элемент начинает мигать. Проблема в том, что почему-то после этого Confirm ни в какую не сбрасывается в FALSE, буду благодарен, если посмотрите

IF Prev_State<>State THEN
Confirm:=TRUE;
END_IF;
Prev_State:=State;

МихаилГл
01.11.2024, 10:56
Да, я тоже пробовал программой, хотел сделать таким образом, что при изменении State я присваиваю переменной Confirm значение True и элемент начинает мигать. Проблема в том, что почему-то после этого Confirm ни в какую не сбрасывается в FALSE, буду благодарен, если посмотрите

IF Prev_State<>State THEN
Confirm:=TRUE;
END_IF;
Prev_State:=State;


//Обработка аварий
FOR i:= 1 TO 32 DO
IF TMP_MEC.ALA_CUR[i] THEN TMP_MEC.ALA_MEM[i]:= TRUE; END_IF //Взвод бита аварии в память
IF TMP_MEC.ALA_MEM[i] AND TMP_MEC.COM_RES THEN TMP_MEC.ALA_CON[i]:= TRUE; END_IF //Взвод бита подтверждения аварии
IF TMP_MEC.ALA_CON[i] AND NOT TMP_MEC.ALA_CUR[i] THEN
TMP_MEC.ALA_MEM[i]:= FALSE; //Сброс бита аварии из памяти при отсутствии аварии после подтверждения
TMP_MEC.ALA_CON[i]:= FALSE; //Сброс бита подтверждения аварии при отсутствии аварии после подтверждения
END_IF
END_FOR
//Обработка аварий

TMP_MEC.ALA_CUR - текущий сигнал - приравненный к аварии (хоть аналоговый, хоть дискретный)
TMP_MEC.ALA_MEM - запись аварии в память
TMP_MEC.COM_RES - команда сброса

1exan
01.11.2024, 11:04
Я имею ввиду параметр типа BOOL. Например при изменении положения элемент начинает мигать и нужно квитировать изменение

Мигание элемента относится больше к визуализации и с квитированием в общем-то не связано.
Квитирование подразумевает работу с сообщениями, о них можете почитать тут (https://support.mps-soft.ru/Help-web/index.html?trevojnwe_soobscheniya.html).
Ещё есть такая штука как Шкалы (https://support.mps-soft.ru/Help-web/shkala_di.html), на них тоже можно это сделать

МихаилГл
01.11.2024, 11:09
Мигание элемента относится больше к визуализации и с квитированием в общем-то не связано.
Квитирование подразумевает работу с сообщениями, о них можете почитать тут (https://support.mps-soft.ru/Help-web/index.html?trevojnwe_soobscheniya.html).
Ещё есть такая штука как Шкалы (https://support.mps-soft.ru/Help-web/shkala_di.html), на них тоже можно это сделать

Ну красное табло с надписью это тоже сообщение. Помню еще в 90х у нас был стенд, и загорание на них лампочек и нажатие кнопки получения диспетчером этого сигнала (при этом загоралась другая лампочка) трактовалось как квитирование. Это сейчас с развитием баз данных все автоматом фиксируется, ранее в журнал писали ручками...