Понимание переменных Node, Flow, Global в U-Logic
U-Logic (редактор программы управления) не требует особых знаний в области кодирования. Но такие термины, как global-переменные и flow-переменные, с первого взгляда непонятны. Здесь разобраны переменные U-Logic.
Понимание переменных U-Logic
Переменные бывают разных типов: сообщения, контекста и среды. Переменные сообщения связаны с отдельными сообщениями, пока те проходят по потоку (рабочему листу программы, вкладке). Переменные контекста хранят состояние приложения: это переменные узла, потока и глобальные переменные. Переменные среды хранят конфиденциальные данные конфигурации, например ключи API, чтобы они случайно не раскрылись в потоке.
Изучение глобальных переменных
Глобальные (global) переменные доступны узлам (блокам программы U-Logic) function, change, inject и switch в пределах одного экземпляра U-Logic. В них хранят данные, которые нужны в разных частях приложения. Это нужно, когда данные общие для нескольких потоков или вкладок одного экземпляра U-Logic.
Например, в системе домашней автоматизации есть потоки для освещения, безопасности и климат-контроля. Глобальные переменные могут хранить пользовательские или системные настройки: все потоки читают и обновляют их. Поэтому поведение во всей системе одинаковое.
Инициирование/установка глобальной переменной
Глобальные переменные задают в узлах function и change.
В узле change переменная задаётся, как показано на рисунке ниже.

Чтобы задать глобальную переменную в узле function, используйте метод set:
global.set('variableName', value);
Извлечение глобальной переменной
В узлах change, inject и switch глобальные переменные извлекают похожим образом: выберите опцию «global» и введите имя переменной в поле ввода. Так это выглядит в узле change:

Чтобы получить глобальную переменную с помощью узла function, используйте метод get, как показано ниже:
global.get('variableName');
Удаление глобальных переменных
Глобальные переменные удаляют на вкладке «Контекстные данные» или в узле change. Так это выглядит в узле change:

Изучение переменных потока
Переменные потока (flow) доступны узлам function, change, inject и switch. С их помощью узлы одного потока (вкладки) обмениваются данными.
Например, в системе мониторинга температуры несколько датчиков отправляют данные на разные узлы в одном потоке. Переменные потока передают текущие показания температуры между узлами для обработки и анализа в этом потоке.
Инициирование/установка переменной потока
Переменные потока задают в узлах function и change.
В узле change переменная задаётся, как показано ниже.

Чтобы задать переменную flow в узле function, используйте метод set:
flow.set('variableName', value);
Извлечение переменной потока
Переменные потока извлекают в узлах function, change, inject и switch.
В узлах change, inject и switch это делается похоже: выберите опцию «поток» и введите имя переменной в поле ввода. Так это выглядит в узле change.

Чтобы получить переменную потока в узле function, используйте метод get:
flow.get('variableName');
Удаление переменных потока
Переменные потока удаляют на вкладке «Контекстные данные» или в узле change. Так это выглядит в узле change:

Изучение переменных узла
Переменная узла (node) принадлежит одному узлу и видна только внутри него. Читать или записывать её извне узла, где она создана, нельзя. Поэтому в ней хранят данные одного узла, чтобы они не мешали другим узлам.
Например, вы вставляете отправленные данные в базу данных вместе с уникальным идентификатором для каждой отправки. Счётчик для идентификатора можно хранить в переменной узла function.
Инициирование/установка переменной узла
Чтобы задать переменную узла в узле function, используйте метод set:
context.set('variableName', value);
Этот метод устанавливает значение для контекстной переменной с указанным именем.
Извлечение переменной узла
Чтобы получить переменную узла в узле function, используйте метод get:
context.get('variableName');
Удаление переменных узла
Чтобы удалить переменную узла, используйте опцию удаления на вкладке «Контекстные данные» в разделе «Узловой».
Вкладка «контекст»
Все переменные U-Logic можно просматривать и ими управлять на вкладке «контекст» боковой панели. Там есть разделы для узловых, потоковых и глобальных переменных. В правом верхнем углу каждого раздела находится значок обновления: нажмите его, чтобы увидеть последние или недавно добавленные переменные.
На этой вкладке видно, когда каждая переменная была установлена или обновлена. Справа от каждой переменной есть четыре опции: первая копирует имя переменной, вторая копирует значение, третья обновляет переменную, чтобы показать последнее значение, четвёртая удаляет переменную.