Доступ к данным в ST
Данные технологического приложения хранятся в глобальных и локальных переменных. Добавление, изменение и удаление переменных в среде разработки Unimod PRO 2 осуществляется с использованием редактора словарей. Подробнее с его возможностями можно ознакомиться в документе "Среда разработки Unimod PRO 2. Руководство пользователя" в разделе "Редактор словаря". А в текущем разделе акцентируем внимание на доступе к значениям переменных и констант из программных компонентов.
Доступ к значениям переменных.
Для доступа к значению переменной из программного объекта на языке ST достаточно написать ее имя. В процессе компиляции среда разработки сопоставит имя переменной с ячейкой памяти контроллера, в которой храниться ее значение. Пример доступа к значениям трех переменных, две из которых используются для вычисления третьей, продемонстрирован на следующем изображении:

Для использования в программном объекте переменная должна быть предварительно объявлена в соответствующем словаре данных. Объявление переменных в тексте программного компонента не предусмотрено. При этом имя отсутствующей в словаре переменной в редакторе будет подсвечиваться красным цветом.

Доступ к элементам массива.
Массивы позволяют хранить несколько значений с одинаковым типом данных в одной переменной. Поддерживаются одномерные, двумерные и трехмерные массивы. Размерность, количество элементов и их тип данных определяются при объявлении массива в одном из словарей приложения. Правила объявления массивов описаны в документе "Среда разработки Unimod PRO 2. Руководство пользователя" в разделе "Состав проекта - Массивы".
Для доступа к элементам одномерного массива используется синтаксис: <имя массива>[<индекс элемента в массиве>], например:
x := array[5]; //элемент одномерного массива с индексом 5
y := array[3]; //элемент одномерного массива с индексом 3
|
Для доступа к элементам многомерного массива индексы в квадратных скобках разделяются запятой: <имя массива>[<индекс 1>,<индекс 2>,<индекс 3>], например:
y := array[2,3]; //элемент двумерного массива 2 строки, 3 столбца
z := array[2,3,4]; //элемент трехмерного массива
|
Доступ к полям структуры.
Структуры позволяют хранить в одной переменной несколько значений с разными типами данных. В этом их основное отличие от массивов. Содержащиеся в структуре переменные называются полями. Для доступа к полю структуры используется символ точки, например:
x := struct.x; //доступ к элементу x структуры struct
y := struct.y; //доступ к элементу y структуры struct
|
Константы.
Константой является любое значение простых типов данных, используемое в программном компоненте. Значения констант не изменяются в процессе выполнения приложения, а их использование не требует предварительного объявления в словарях данных.
x := 5; // 5- константа, ее значение присваивается переменной
y := false; //false - константа
FOR i := 0 TO 10 DO //0 и 10 - тоже константы, не меняются в процессе выполнения
z := x + 1; //1 в выражении тоже константа
END_FOR;
|
