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

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

Автор Тема: Границы переменных как тег ПЛК  (Прочитано 2809 раз)

LebedevIS

  • Новичок
  • *
  • Сообщений: 8
  • Keep calm and keep coding
    • Просмотр профиля
Границы переменных как тег ПЛК
« : 16 Августа 2023, 11:26:06 »
Здравствуйте.

Описание проблемы
Есть AI сигнал в ПЛК. В SCADA системе этот тег представлен как PV и границы HH, H, L, LL и etc. Нужно формировать предупредительные сообщения о превышении границ, при этом границы могут изменяться не только из SCADA системы (то есть, могут измениться, например, при конфигурировании контроллера или из других внешних источников)

Вопрос
Можно ли каким-то способом указать границы для переменной не константами, а переменными. Например, у меня будет переменная AI_TT1_PV для которой в дополнительный настройках будет указано, что её границы это переменные AI_TT1_HH, AI_TT1_H, AI_TT1_L, AI_TT1_LL.

Либо если сделать так нельзя, то есть ли какие-нибудь альтернативные способы реализации подобных функций?

boo

  • Новичок
  • *
  • Сообщений: 1
    • Просмотр профиля
Re: Границы переменных как тег ПЛК
« Ответ #1 : 16 Августа 2023, 16:26:21 »
Берёте переменную, привязываете по изменению переменной AI_TT1_HH скрипт:
Код: (delphi)
var
  aVarName: String;
  aVar: TM_Variable;
begin               
  aVarName := StringReplace(Variable.Name, '_HH', '_PV', [rfReplaceAll, rfIgnoreCase]);
  aVar := GetVariableByName(aVarName);
  If aVar <> nil then
  aVar.HighAlarm := Variable.AsFloat;
end.
Похожим образом дописываете для остальных границ .HighWarning .LowWarning .LowAlarm
« Изменён: 16 Августа 2023, 16:34:10 от Simple-Scada »

Simple_Scada

  • Администратор
  • *****
  • Сообщений: 1400
    • Просмотр профиля
Re: Границы переменных как тег ПЛК
« Ответ #2 : 16 Августа 2023, 17:06:19 »
Здравствуйте.

Цитировать
Можно ли каким-то способом указать границы для переменной не константами, а переменными.
Данный вопрос подробно рассмотрен в этой теме – ссылка.