Глобальные переменные — это объекты облака и Дерева объектов, в которые можно записать какое-нибудь значение (например, значение температуры) код команды или результат выполнения сценария, и они будут хранить записанное значение. Значение могут прочитать и изменить сценарии контроллеров, сценарии облака, виджеты пользовательских интерфейсов или внешние системы через API, при этом каждую переменную можно использовать для хранения любых данных в виде пары “имя=значение”.
Глобальные переменные хранятся внутри группы “Глобальные переменные” в Дереве объектов.
Создание переменных
Создать переменную можно тремя способами:
- на вкладке “Структура” нажать кнопку
- выделить в дереве объектов “Глобальные переменные” и нажать на панели, располагающейся над деревом, кнопку с пиктограммой
- выделить в дереве объектов “Глобальные переменные”, вызвать контекстное меню правой кнопкой мыши и кликнуть “Создать переменную”.
Свойства переменной
При создании новой переменной или при просмотре/редактировании свойств переменной появляется окно, в котором имеют место быть следующие поля:
- Имя может содержать только символы цифр и букв. По заданному имени вы сможете к нему обращаться.
- Расположение. Если вы решили создать переменную в рамках устройства или контроллера, то можете изменить расположение переменной, выбрав необходимое место хранения из выпадающего списка.
- Тип. Необходимо задать желаемый тип данных.
- Значение. Задайте начальное значение выбранного типа данных.
- Сохранять историю значений. Поставьте флажок, если Вас интересует динамика изменений данной переменной.
- Сохранять при . Укажите минимальное отклонение от последнего сохраненного значения, при котором будет сохраняться новое значение(для числовых переменных).
Типы данных переменной
Тип данных — важное свойство переменной. Тип данных определяет множество значений, которое может быть присвоено переменной. Для каждого свойства виджета или модуля сценария определено, на переменные какого типа данных можно сослаться. В системе имеют место быть следующие типы данных:
- Числовой. Вещественные числа, вводятся с разделителем-точкой. Можно вводить только числа в десятичной системе счисления.
- Логический. Переменная логического типа может принимать два значения: логическая единица, соответствующая истине, ИСТИНА(1/TRUE) и логический ноль, соответствующий лжи, ЛОЖЬ(0/FALSE).
- Текстовый. Текстовая переменная может содержать в себе любые символы. Максимальная длина — 255 символов.
- Универсальный. Если у вас нет уверенности, какого типа данных будут поступать значения, например от устройства или внешней системы, то вы можете выбрать универсальный тип данных. В отличие от текстового типа данных, если в переменную с Универсальным типом данных будет помещено число, оно будет трактоваться как число, а не текст, то есть с ним можно будет выполнять арифметические операции, использовать переменную для подстановки в поля виджетов и модулей сценариев, которые требуют указать число, и т.д.
Возможны ситуации, что объекту одного типа данных будет присваиваться значение другого типа данных. Ниже представлена таблица с правилами преобразования типов.
Тип данных переменной |
Тип данных присваемого значения |
Правило конвертации |
Числовой |
Числовой |
Произойдет непосредственное присвоение. |
Логический |
Если логическое значение равно ЛОЖЬ, то числовой переменной присвоится 0. Если логическое значение равно ИСТИНА, то числовой переменной присвоится 1 |
|
Текстовый |
Если строка содержит в себе символы, удовлетворяющие формату десятичного числа, то переменной присвоится соответствующее новое значение. В противном случае присвоится 0. |
|
Универсальный |
Если значение содержит в себе символы, удовлетворяющие формату десятичного числа, то переменной присвоится соответствующее новое значение. В противном случае присвоится 0. |
|
Логический |
Числовой |
Если числовое значение равно 1, то логической переменной присвоится ИСТИНА. В противном случае- присвоится ЛОЖЬ. |
Логический |
Произойдет непосредственное присвоение. |
|
Текстовый |
Если строковое значение равно “1”, то логической переменной присвоится ИСТИНА. В противном случае- присвоится ЛОЖЬ. |
|
Универсальный |
Если значение равно “1” или ИСТИНА, то логической переменной присвоится ИСТИНА. В противном случае- присвоится ЛОЖЬ. |
|
Текстовый |
Числовой |
Произойдет непосредственное присвоение. |
Логический |
Произойдет непосредственное присвоение: 1 или 0. В общем случае, зависит от представления логического значения. |
|
Текстовый |
Произойдет непосредственное присвоение. |
|
Универсальный |
Произойдет непосредственное присвоение. |
|
Универсальный |
Числовой |
Произойдет непосредственное присвоение. |
Логический |
Произойдет непосредственное присвоение: 1 или 0. В общем случае, зависит от представления логического значения. |
|
Текстовый |
Произойдет непосредственное присвоение. |
|
Универсальный |
Произойдет непосредственное присвоение. |