Simple-Scada forum

Simple-Scada 2 => Ошибки => Тема начата: georgy от 31 Августа 2017, 13:07:06

Название: Скрипт "Полностью запущен "
Отправлено: georgy от 31 Августа 2017, 13:07:06
Проблема:
в скрипте у меня идет  опрос 2-х переменных из контроллера через OPC server (опрос нужен 1 раз в начале при запуске скады ). Данные не получены. Проверял - скрипт запускается. Связь с контроллером есть.Если  переместить опрос в скрипт каждую 1 секунду то данные приходят.

По описанию скрипт будет выполнен один раз, после того как проект полностью запустился, включая запуск OPC-серверов проекта. В чем может быть проблема? OPC server запущен до запуска скады. Использую Демо на 1 час без ограничений.
Название: Re: Скрипт "Полностью запущен "
Отправлено: Simple-Scada от 31 Августа 2017, 22:27:22
Здравствуйте.

Вероятно скрипт выполняется в момент, когда OPC-сервер запущен, но теги ещё не успели добавиться и активироваться, либо не успели считаться (это зависит от частоты опроса тега). Достоверный способ может быть таким:

1. Добавить в проект любой компонент (например Фигура), выключить у него свойство "Видимый" и связать его с нужной переменной контроллера, допустим она называется vrSignal;
2. На событие OnDataChange данного компонента написать такой скрипт:

Код
var
  aDone: Boolean;
begin
  if aDone then Exit;  // прерываем выполнение, если скрипт уже выполнился хотя бы раз.
  aDone := True;

  // код расположенный здесь выполнится только один раз - при первом изменении переменной vrSignal
end.