Здравствуйте.
Как управлять границами переменных из клиента, рассмотрено
по ссылке.
Если Вам требуется управлять
типами границ или отключать границы переменных через скрипты, то можно использовать свойство
LimitType. Для изменения граничных значений переменных можно использовать свойства
HighAlarm,
HighWarning,
LowWarning и
LowAlarm. При однотипном наименовании переменных (например myVariable1, myVariable2 … myVariable30) можно использовать цикл для прохода по всем переменным (привести имена переменных к однотипному наименованию можно с помощью
группового переименования).
Например, можно создать четыре
внутренних переменных с типом данных "Integer" (например с именами "vrHighAlarmAll", "vrHighWarningAll", "vrLowWarningAll" и "vrLowAlarmAll"), через которые будут задаваться значения аварийных границ сразу для всех переменных (при необходимости у переменных можно включить опцию "
Автоматическое восстановление"). Далее на мнемосхеме необходимо разместить четыре поля и связать их с этими переменными. После чего рядом с полями можно разместить кнопки, которые будут применять указанные в полях аварийные и предупредительные границы, менять
типы границ или отключать границы.
Пример скрипта на событие "
OnClick" кнопки, по нажатию на которую будут изменяться граничные значения, включаться аварийные и предупреждающие границы сразу для 30 переменных:
var
aVar : TM_Variable;
i: Integer;
begin
for i := 1 to 30 do
begin
aVar := GetVariableByName('myVariable' + IntToStr(i)); // ищем очередную переменную по имени
if aVar <> nil then // если переменная существует, то
begin
aVar.HighAlarm := vrHighAlarmAll.AsInt; // изменить верхнюю аварийную границу переменной
aVar.HighWarning := vrHighWarningAll.AsInt; // изменить верхнюю предупредительную границу переменной
aVar.LowWarning := vrLowWarningAll.AsInt; // изменить нижнюю предупредительную границу переменной
aVar.LowAlarm := vrLowAlarmAll.AsInt; // изменить нижнюю аварийную границу переменной
aVar.LimitType := ltAlarmsAndWarnings; // активировать аварийные и предупреждающие границы
end;
end;
end.