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

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

Автор Тема: Типа "Широковещательная рассылка"  (Прочитано 1832 раз)

sokave

  • Новичок
  • *
  • Сообщений: 19
    • Просмотр профиля
Типа "Широковещательная рассылка"
« : 11 Декабря 2017, 16:20:59 »
Добрый день
Можно ли реализовать такое: во всех контроллерах есть адрес 111, в который по выполнению определенного действия нужно записать некоторое значение сразу во все контроллеры, возможно ?
Спасибо

Simple_Scada

  • Администратор
  • *****
  • Сообщений: 1174
    • Просмотр профиля
Re: Типа "Широковещательная рассылка"
« Ответ #1 : 11 Декабря 2017, 16:54:24 »
Здравствуйте!

Допустим имеется пять контроллеров, на которые необходимо записывать какое-то значение в адрес 111. На OPC-сервере это будет пять разных переменных с адресом 111. В скаде это также будет пять разных переменных. Записать значение одновременно в несколько переменных можно через скрипты, например:
Код
begin
  MyVariable1.Value := 10;
  MyVariable2.Value := 10;
  // и т.д.
end.

где "MyVariable1" - имя Вашей первой переменной, "MyVariable2" - имя второй и т.д.

sokave

  • Новичок
  • *
  • Сообщений: 19
    • Просмотр профиля
Re: Типа "Широковещательная рассылка"
« Ответ #2 : 11 Декабря 2017, 16:59:31 »
а если у меня таких контролллеров штук 200? например что то типа я-ля цикл "repeat ... until" ?

Simple-Scada

  • Администратор
  • *****
  • Сообщений: 2997
    • Просмотр профиля
    • Simple-Scada
Re: Типа "Широковещательная рассылка"
« Ответ #3 : 11 Декабря 2017, 19:54:58 »
Да, можно циклом, если переменные с однотипными именами. Например так:

Код
var
  I: Integer;
  aVar: TM_Variable;
begin
  for I := 1 to 200 do // цикл по I от 1 до 200
  begin
    aVar := GetVariableByName('MyVaribale' + IntToStr(I)); // ищем переменную по имени
    if aVar <> nil then   // если переменная найдена
      aVar.Value := 10;
  end;
end.

sokave

  • Новичок
  • *
  • Сообщений: 19
    • Просмотр профиля
Re: Типа "Широковещательная рассылка"
« Ответ #4 : 12 Декабря 2017, 08:39:59 »
спасибо