Есть датчики, в них заданы уставки, при сработке уставок они ставят свою переменную Alert в значение 1 либо 2:
Код:
if(T.Value >= Hi && T.Value < HiHi)
{
//Верхняя предупредительная уставка
Alert = 1;
}
else if(T.Value >= HiHi)
{
//Верхняя аварийная уставка
Alert = 2;
}
else if(T.Value <= Lo && T.Value > LoLo)
{
//Нижняя предупредительная уставка
Alert = 1;
}
else if(T.Value <= LoLo)
{
//Нижняя аварийная уставка
Alert = 2;
}
else
{
Alert = 0;
//Нормальный режим
}
от значения Alert привязываются визуальные параметры в окне, эта логика работает отлично.
Но, нужно в основном окне при сработке любого Alert на датчиках - подсветить фон всего окна красным, пока не квитируется кнопкой(то есть, без разницы уставка в сработке или нет, если было - то меняем фон пока не квитируют). Для этого создал параметр State, от него зависит цвет фона, это тоже работает. Но программа 1 после сработки уставки видимо запоминает последнее значение или как(не силен в промышленном программировании), то есть при исполнении вижу, что на выходе программы2 State = 0, но на выходе программы1 остается State = 2, хотя Alert не в сработке