Среда разработки Unimod PRO 2 (версия 2.3.40)
 Руководство по программированию
×

Доступ к данным в 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;