ГОСТ Р МЭК 61131-3—2016
6.5.1.2 Объявление
Переменные объявляются внутри одной из секций переменных.
Переменные можно объявлять, используя:
- элементарный тип данных: или
- предварительно определенный пользователем тип; или
- тип указателя: или
- прямо определенный пользователем тип.
Возможны следующие виды переменной:
- одноэлементная переменная, то есть переменная, тип которой либо:
- элементарный тип данных; или
- определенное пользователем перечисление или тип-диапазон, или
- определенный пользователем тип. происхождение которого, определяемое рекурсивно, про
слеживается до элементарного типа, типа перечисления или типа-диапазона:
- многоэлементная переменная, то есть переменная, которая представляет массивARRAY или
структуру STRUCT;
- указатель, то есть переменную, которая ссылается на другую переменную или экземпляр
функционального блока.
Объявление переменной состоит из следующих элементов:
- списка имен объявляемых переменных:
- символа двоеточия «:»;
- типа данных с необязательной инициализации, специфичнойдля различных видов переменных.
Пример —
TYPE
туТуре: ARRAY[1..9] OFINT;//предварительно определенный пользователем тип
ENDJTYPE
VAR
myVarl, myVarla: INT;
// dee переменные, используя элементарный тип
myVar2: туТуре;
И используя предварительно определенный пользователем тип
myVar3:ARRAY[1..8JOFREAL;И используя прямо определенный пользователем тип
END_VAR
6.5.1.3 Инициализация переменных
Неявным начальным значением переменной (переменных) являются:
1 Неявное начальное значение (значения) лежащих в основе элементарных типов данных, как
определено в таблице 10.
2 NULL, если переменная является указателем.
3 Определенное пользователем значение (значения) назначенного типа данных.
Это значение факультативно может быть определено использованием оператора присваивания
«:=» в определении типа TYPE, как показано в таблице 11.
4 Пользователем значение (значения) переменной.
Это значение факультативно может быть определено использованием оператора присваивания
«:=» в объявлении переменной VAR (см. таблицу 14).
Определенное пользователем значение может быть литералом (например. -123.1.55. «аЬс») или
константным выражением (например. 12’24).
Начальные значения не могут задаваться в объявлениях VAR_EXTERNAL.
Начальные значения могут также определяться с использованием определяемого экземпляром
свойства инициализации, предоставляемого конструкцией VAR_CONFIG...END_VAR. Определяемые
экземпляром начальные значения всегда замещают специфические для типа начальные значения.
35