1
Ваши вопросы / Скрипт через некоторое время перестает менять объект.
« : 21 Июля 2024, 08:00:08 »
Здравствуйте!
Присутствует странная проблема, и хотелось бы получить от вас помощь.
Ситуация следующая - в случайный момент объект перестает реагировать на изменение привязанного тега и не меняет состояние по скрипту.
Причем сначала все работает штатно(то есть скрипт обрабатывает все значения и меняет объект на мнемосхеме)- и только с течением времени рандомно выплывает такая ошибка.
Судя по трендам и логу того же скрипта все происходит штатно (скрипт завершается корректно и все значения переменной получает в нужное время)- однако это не так.
Скриншот с текущим значением переменной и "неправильным" отображением тоже прикладываю (3 - охлаждение, на рисунке состояние "Пауза", значение 7).
Сам скрипт простейший:
Дополняю пост ссылкой на лог:
https://disk.yandex.ru/d/5Ulh_UYw7rynyA
Присутствует странная проблема, и хотелось бы получить от вас помощь.
Ситуация следующая - в случайный момент объект перестает реагировать на изменение привязанного тега и не меняет состояние по скрипту.
Причем сначала все работает штатно(то есть скрипт обрабатывает все значения и меняет объект на мнемосхеме)- и только с течением времени рандомно выплывает такая ошибка.
Судя по трендам и логу того же скрипта все происходит штатно (скрипт завершается корректно и все значения переменной получает в нужное время)- однако это не так.
Скриншот с текущим значением переменной и "неправильным" отображением тоже прикладываю (3 - охлаждение, на рисунке состояние "Пауза", значение 7).
Сам скрипт простейший:
Код: (delphi)
begin
if not (Sender is TM_Text) then
Exit;
with Sender as TM_Text do
Log_Add("ВОП изменился статус - старт скрипта " + Variable.Name + " - " + IntToStr(Variable.AsInt), true);
with Sender as TM_Text do
case AsInt of
0: begin Text:='Отключен'; Color:= clDarkGray; end;
1: begin Text := 'Отвод паро-жидкости'; Color:= clSlateGray; end;
2: begin Text:= 'Подача жидкости'; Color:= clDarkCyan; end;
3: begin Text:='Охлаждение'; Color:= clDarkCyan; end;
4: begin Text := 'Завершение охлаждения'; Color:= clSlateGray; end;
5: begin Text:= 'Закрытие паро-жидкости'; Color:= clSlateGray; end;
6: begin Text:= 'Оттаивание'; Color:= clLightSalmon; end;
7: begin Text:='Пауза'; Color:= clSilver; end;
8: begin Text:='Поддержание'; Color:= clSilver; end;
253: begin Text := 'Сервисный режим'; Color:= clMaroon; end;
254: begin Text := 'Нет готовности'; Color:= clRed; end;
255: begin Text:= 'Неисправность'; Color:= clRed; end;
else
begin Text := 'Неизвестное'; Color:= clWhite; end;
end;
with Sender as TM_Text do
Log_Add("ВОП изменился статус - конец скрипта " + Variable.Name, true);
end.
https://disk.yandex.ru/d/5Ulh_UYw7rynyA