var
aBit: Boolean;
begin
// получаем состояние 30 бита (считая с нуля)
aBit := GetBit(vrMyVar.AsInt64, 30);
end.
if GetBit(Мойтег.Value, №бита) then
Функция GetBit работает с DWord. Допустим у нас есть DWord переменная с именем vrMyVar. При создании переменной в Редакторе выставляем ей тип данных LongWord и шкалу от 0 до 4294967295. Далее код получения бита должен быть таким:Кодvar
aBit: Boolean;
begin
// получаем состояние 30 бита (считая с нуля)
aBit := GetBit(vrMyVar.AsInt64, 30);
end.
Также обратите внимание, что биты в GetBit нумеруются с нуля.
Вообще, в чём разница между локальными (скриптовыми) и глобальными переменными?Глобальные переменные на самом деле не совсем переменные, это целые объекты с множеством свойств. Ведь когда Вы создаете глобальную переменную, то помимо имени и типа данных выбираете шкалу, описание, OPC-сервер, адрес, параметры архивации, аварийные границы и т.д. Глобальная переменная хранит все эти данные. И работать в скрипте обычно нужно не с самой переменной, а с её свойствами. Если нужно поменять значение, то для этого есть свойство Value и нужно писать MyVariable.Value := 10;, как выше написал Teodor. Если нужно получить описание, то нужно писать Text1.Text := MyVariable.Description и так далее. Все свойства глобальных переменных описаны здесь (http://simple-scada.com/scripts_manual?section=script_variable). В общем глобальные переменные такие же объекты, как и поля, кнопки, фигуры и т.д. А локальные переменные скрипта примитивны, они никаких свойств не имеют и просто хранят данные определенного типа. Например переменная A: Word просто хранит число от 0 до 65535, для неё не задать описание или архивацию и т.п.