ГОСТ Р МЭК 61131-3—2016
Ь) Использование переменных массива в языке STможет быть следующим:
OUTARY[6.SYM]:= INARY[0] * INARY[7] — INARY[i] * %IW62.
6.4.4.5.2 Инициализация
Неявное начальное значение каждого элемента массива — это начальное значение, определен
ное для типа данных элементов массива.
Пользователь может инициализировать тип массива значением, определенным пользователем.
Такая инициализация имеет приоритет.
Определенное пользователем начальное значение массива назначается в форме списка, в кото
ром могут использоваться скобки для обозначения повторений.
Во время инициализации типов данных — массивов, самый правый индекс массива изменяется
быстрее остальных при наполнении массива из списка начальных значений.
Пример — Инициализация массива
A: ARRAY[0..5] OF INT:= [2(1, 2, 3)]
эквивалентно последовательности инициализации 1, 2, 3, 1, 2, 3.
Если число начальных значений, данных в перечне инициализации превышает число входов мас
сива. лишние (самые правые начальные значения будут отброшены. Если число начальных значений
меньше, чем число входов массива, оставшиеся входы массива будут заполнены неявными начальны ми
значениями для соответствующего типа данных. В любом случае, пользователь будет предупреж ден
об этой ситуации во время подготовки программы для выполнения.
Определенное пользователем присваивание начального значения типа данных является свой
ством в таблице 11.
6.4.4.6 Структурированный тип данных
6.4.4.6.1 Общие положения
Объявление структурированного типа данных (STRUCT) указывает, что этот тип данных содержит
совокупность подэлемемтов определенных типов, к которым можно осуществлять доступ под опреде
ленным именем, как показано в таблице 11.
Элемент структурированного типа данных представляется двумя или более идентификаторами,
разделенными точкой «.».
Первый идентификатор представляет имя структурированного элемента, а последующие иден
тификаторы представляют последовательность имен элементов для доступа к конкретному элементу
данных в структуре данных.
В качестве типа элемента структуры могут использоваться элементарные и определенные поль
зователем типы данных, типы функциональных блоков и классы.
Например, элемент типаданныхANALOG_CHANNEL_CONFIGURATION. объявленныйтаблице 11.
будет содержать подэлемент RANGE типа ANALOG_SIGNAL_RANGE, подэлемент MIN_SCALE типа
ANALOG_DATA и подэлемент MAX_SCALE типа ANALOG_DATA.
Максимальное число элементов структуры, максимальное количество данных, которое может со
держаться в структуре и максимальное число вложенных уровней адресации структурного элемента
определяются разработчиком.
Две структурированных переменных являются совместимыми по присваиванию, только если они
имеют одинаковый тип данных.
Пример — Объявление и использование структурированного типа данных и структурированной
переменной.
а) Объявление структурированного типа данных
TYPE
ANALOG_SIGNAL_RANGE: (BIPOLAR_10V,
UNIPOLAR_10V):
ANALOG_DATA: INT (-4095.. 4095);
ANALOG_CHANNEL_CONFIGURATION:
ANALOG_SIGNAL_RANGE;
STRUCT
RANGE:
MIN_SCALE:
ANALOG_DATA:
MAX_SCALE: ANALOG_DATA;
28