ГОСТ Р МЭК 61131-3—2016
6.4.4.3.2 Инициализация
Неявное значение для типа данных с именованными значениями — это первый элемент данных в
перечне перечисления. В приведенном выше примере для Trafficjight таким элементом является Red.
Пользователь может инициализировать тип данных определенным пользователем значением.
Инициализация не ограничивается именованными значениями — может использоваться любое значе
ние из диапазона базового типа. Такая инициализация имеет приоритет.
В пример, определенным пользователем начальным значением перечислимого типа для Traffic_
light является Green.
Определенное пользователем присваивание начального значения типа данных является свой
ством в таблице 11.
6.4.4.4 Тип-диапазон
6.4.4.4.1 Общие положения
Декларацией типа-диапазона определено, что значение любого элемента данных этого типа мо
жет принимать значения между указанными верхними и нижними пределами (включительно), как по
казано в таблице 11.
Пределы в типе-диапазоне должны быть литералами или константными выражениями.
Пример —
TYPE
ANALOG_DATA: INT(-4095.. 4095):= 0;
END_TYPE
6.4.4.4.2 Инициализация
Неявные начальные значения для типов данных с диапазоном — это первый (нижний) предел
диапазона.
Пользователь может инициализировать тип данных определенным пользователем значением из
диапазона. Такая инициализация имеет приоритет.
Например, как показано в примере, приведенном в таблице 11. неявное начальное значение эле
ментов типа ANALOG_DATA равно -4095. в то время, как при явной инициализации, неявное начальное
значение равно нулю (как объявлено).
6.4.4.5 Типы данных — массивы
6.4.4.5.1 Общие положения
Объявление типа данных — массива определяет, что должно быть выделено достаточное количе
ство памяти для каждого элемента этого типа, чтобы хранить все данные, которые могут быть индекси
рованы указанным поддиапазоном (поддиапазонами) индексов, как показано в таблице 11.
Массив — это совокупность элементов данных одинакового типа. В качестве типа элемента мас
сива могут использоваться элементарные и определенные пользователем типы данных, типы функци
ональных блоков и классы. На данную совокупность элементов данных ссылаются с помощью одного
или более индексов, заключенных в квадратные скобки и разделенных запятыми. Если значение индек
са выходит за пределы, указанные в объявлении массива, возникает ошибка.
Примечание — Для вычисляемых индексов такая ошибка может быть обнаружена только во время
выполнения.
Максимальное число индексов массива, максимальный размер массива и максимальный диапа
зон значений индекса определяются разработчиком.
Пределы вдиапазона индексадолжны быть литералами или константными выражениями. Масси
вы переменной длины определены в 6.5.3.
В языке ST индекс является выражением, производящим значение, соответствующее одному из
подтипов родового типаANYJNT.
Форма индексов в языке IL и графических языках, определенных в разделе 8. ограничена одно
элементными переменными или целыми литералами.
Пример —
а) Объявление массива
VAR туANALOG_16: ARRAY [1..16] OFANALOG_DАТА ;
:= [8(-4095), 8(4095)];// определенные пользователем начальные значения
END_VAR
27