<< Click to Display Table of Contents >> Navigation: Программирование в MasterSCADA 4D > Редактор ST > Синтаксис Master ST > Операторы Master ST > Операторы определения переменных |
• Модификаторы операторов определения переменных
При создании переменных в дереве (см. Операции с переменными) или конфигурировании их в редакторе (см. Редактор переменной) операторы определения переменных добавляются в текст программного компонента автоматически.
Для задания операторов определения переменных вручную может быть использована Легенда. Вкладка 'Заголовок ST' .
Кроме того, операторы определения переменных могут быть заданы вручную непосредственно в тексте программного компонента ST, однако для переменных, объявленных подобным образом, нельзя задать связи.
Определены следующие операторы данного типа:
var
{определение переменной}
...
{определение переменной}
end_var
Объявляет локальную переменную с доступом Local. Значение такой переменной сохраняется между вызовами программного компонента.
var_temp
{определение переменной}
...
{определение переменной}
end_var
Объявляет локальную переменную с доступом Temp. Значение такой переменной не сохраняется между вызовами программного компонента.
var_input
{определение переменной}
...
{определение переменной}
end_var
Объявляет аргумент с доступом Input (предназначен для приема значений).
var_output
{определение переменной}
...
{определение переменной}
end_var
Объявляет аргумент с доступом Output (предназначен для передачи значения).
var_inout
{определение переменной}
...
{определение переменной}
end_var
Объявляет аргумент с доступом InOut (предназначен для передачи и приема значений).
После ключевого слова end_var точка с запятой не обязательна.
Выражение {определение переменной} имеет вид:
{имя переменной}: {тип переменной};
Переменная инициализируется значением по умолчанию для указанного типа (это значение отображается на вкладке Легенда. Вкладка 'Скомпилированный код'):
var aaa: dt; end_var (*aaa=dt#0001-01-01-00:00:00*)
Декларация переменной типа ФБ:
var fbST_1:Локальная.fbST; end_var
При декларации переменной типа ФБ, содержащегося в библиотеке Стандартная, указание библиотеки не обязательно:
var R_TRIG_1:R_TRIG; end_var
Декларация переменной структурного типа:
mSTRUCT:SYSTEM_BOOL_PARAM := (Value := False, TimeStamp := DT#0001-01-01-00:00, Quality := 192);
{имя переменной}: {тип переменной}:={значение};
При инициализации переменной присваивается указанное значение:
var PI:REAL := 3.14159274; end_var
{имя переменной}: array [{размерности массива}] of {тип переменной};
Декларация массива с инициализацией элементов значениями по умолчанию для указанного типа:
var ar1:ARRAY [1..3] OF REAL; end_var
(*ar[1]=ar[2]=ar[3]=0*)
{имя переменной}: array [{размерности массива}] of {тип переменной}:={начальные значения};
Декларация массива с инициализацией элементов указанными значениями:
var ar1:ARRAY[1..2,1..2] OF REAL:=[1,2(2),3]; end_var
(*ar[1,1]=1, ar[1,2]=ar[2,1]=2, ar[2,2]=3*)
Выражения {размерности массива} задаются в виде диапазонов изменения индексов массива, разделенных запятой. Диапазон изменения индексов массива имеет вид
{нижняя граница} .. {верхняя граница}
Выражение {начальные значения} задается в виде строки начальных значений, разделенных запятой, а также может содержать конструкцию
{целочисленная константа} ({значение})
где {целочисленная константа} задает количество элементов, которым присваивается указанное значение.
Модификаторы операторов определения переменных
Определены следующие модификаторы операторов определения переменных:
RETAIN
Используется с операторами VAR, VAR_INPUT или VAR_OUTPUT. Задает сохранение переменной в дамп в энергонезависимой памяти контроллера и восстановление значения переменной из дампа при "холодном" рестарте:
var RETAIN bbb: REAL; end_var
В редакторе переменной модификатору RETAIN соответствует значение Сохранять=Да (см. Редактор переменной.'Сохранять' ).
NON_RETAIN
Используется с операторами VAR, VAR_INPUT или VAR_OUTPUT.
В редакторе переменной модификатору NON_RETAIN соответствует значение Сохранять=Нет (см. Редактор переменной.'Сохранять' ).
CONSTANT
Используется с оператором VAR (кроме объявления переменной типа ФБ). Задает константу (значение константы не может быть изменено):
var CONSTANT PI:REAL := 3.14159274; end_var
В редакторе переменной модификатору CONSTANT соответствует значение Сохранять=Константа (см. Редактор переменной.'Сохранять' ).
NONE
В редакторе переменной модификатору NONE соответствует значение Сохранять=Наследуется (см. Редактор переменной.'Сохранять' ).