Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Не получили письмо с кодом активации?

Официальный форум Simple-Scada.

Автор Тема: Скрипт "Полностью запущен "  (Прочитано 4238 раз)

georgy

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

По описанию скрипт будет выполнен один раз, после того как проект полностью запустился, включая запуск OPC-серверов проекта. В чем может быть проблема? OPC server запущен до запуска скады. Использую Демо на 1 час без ограничений.

Simple-Scada

  • Администратор
  • *****
  • Сообщений: 3214
    • Просмотр профиля
    • Simple-Scada
Re: Скрипт "Полностью запущен "
« Ответ #1 : 31 Августа 2017, 22:27:22 »
Здравствуйте.

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

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

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

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