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

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

Автор Тема: Помощь по скриптам  (Прочитано 4908 раз)

Алексей Оптэс

  • Новичок
  • *
  • Сообщений: 3
    • Просмотр профиля
Помощь по скриптам
« : 19 Ноября 2025, 15:47:49 »
Здравствуйте, есть переменные varA1, varA2, varA3, ..., varA130 типа Integer. Каждая переменная может принимать значение от 0 до 15. Помогите написать скрипт так, чтобы если хоть одна из этих переменных принимает значение 2, 3 или 4, то происходило какое нибудь действие (например выводилось сообщение "Авария").

Simple_Scada

  • Администратор
  • *****
  • Сообщений: 1408
    • Просмотр профиля
Re: Помощь по скриптам
« Ответ #1 : 19 Ноября 2025, 23:25:20 »
Здравствуйте.

1. Самым лучшим вариантом будет проверять нужные условия на ПЛК и записывать результат в отдельную переменную, по которой затем в скада-системе можно будет выдавать аварию.
2. Если требуется выдавать разное сообщение для каждой переменной, то используйте штатную систему сообщений. Для создания однотипных сообщений можно использовать шаблонные сообщения.
3. Если нужно формировать одно и то же сообщение при изменении любой переменной на 2, 3 или 4, то можно создать скрипт с типом "Изменились переменные", добавить в список скрипта требуемые переменные и использовать следующий код:
Код: (delphi)
begin
  // пропускаем первое изменение, чтобы сообщения не выдавались при перезапусках проекта
  if IsFirstChange then Exit;

  // выдаем сообщение если переменная изменилась на 2-4
  if (Variable.AsInt <= 4) and (Variable.AsInt >= 2) then
    AddMessage(Now, mkAlarm, 'Авария!', True, False);
end.