Управление атрибутами
Узел Инициализировать атрибут Узел позволяет создавать, редактировать и управлять атрибутами данных в вашем потоке IoT Logic. Это руководство охватывает основные действия по управлению атрибутами (создание, редактирование, удаление) и важные операции, включая функцию автозаполнения для создания формул.
Создание атрибутов
Вот как создать новый атрибут в узле Initiate attribute:
Назовите атрибут
Введите имя для вашего атрибута (например, «Speed mph»). Это имя будет отображаться в Data Stream Analyzer и служить пользовательским именем датчика в Navixy.
Определите формулу
Определите выражение значения. Для более быстрого построения формулы используйте автозаполнение.
Добавьте настройки времени (по желанию)
По желанию настройте время генерации и серверное время, для этого включите Specify time attributes переключатель Для подробностей см. Настройки времени для атрибутов
Новый атрибут сохраняется в узле, а настроенный расчет применяется немедленно в потоке.
Настройки времени для атрибутов
Настройки времени дают вам контроль над метками времени, связанными с вашими атрибутами:
Время генерации: Когда данные были созданы
Используйте
now()чтобы установить текущее время в миллисекундахИспользуйте
genTime('parameter_name', 0, 'valid')чтобы использовать собственное время генерации параметра
Серверное время: Когда данные были получены IoT Logic
Используйте
now()чтобы установить текущее время в миллисекундахИспользуйте
srvTime('parameter_name', 0, 'valid')чтобы использовать серверное время параметраДобавьте сдвиги для учета часовых поясов (например,
srvTime('can_speed', 0, 'valid') + 120000добавляет 2 минуты)
Автозаполнение имен атрибутов
При создании формул вычислений необходимо ссылаться на существующие имена атрибутов из физических устройств или вычисляемые атрибуты из других узлов. Чтобы упростить этот процесс и предотвратить опечатки, IoT Logic предоставляет функцию автозаполнения имен атрибутов.
Чтобы использовать автозаполнение при создании формул:
Нажмите
в поле Formula поле.Выберите требуемый атрибут из появившегося списка; он поддерживает ручный ввод текста для поиска.
Нажмите на имя атрибута, чтобы вставить его в формулу.
Выбранный атрибут автоматически вставляется в готовом для использования формате, используя короткий синтаксис языка выражений Navixy IoT Logic. Это означает, что автозаполнение обращается к любому последнему значению выбранного атрибута.
Вы можете при необходимости изменять параметры — изменить номер индекса для исторических значений или скорректировать флаг валидности. Для этого необходимо явно определить формулу, используя полный синтаксис в явном виде, внутри vaue() функции.
Список фильтруется на основе источников данных вашего потока и соответствует тому, что видно в Data Stream Analyzer.
Индексация атрибутов в автозаполнении
Некоторые атрибуты данных содержат несколько значений, индексированных внутри одного атрибута, например показания с нескольких аналоговых датчиков, подключенных к основному телематическому устройству. Чтобы использовать эти атрибуты в вычислениях, необходимо указать точный номер индекса, соответствующий конкретному датчику или входу, на который вы хотите сослаться.
Например, если вам нужно работать с показаниями напряжения с третьего аналогового входа на вашем устройстве, эти данные передаются через атрибут analog_2 (используется нулевая индексация, где первый вход имеет индекс 0). В вашей формуле это будет выглядеть как value('analog_2', 0, 'valid').
Автозаполнение также обрабатывает этот сценарий для вас:
Индексированные атрибуты помечаются
иконкой в списке автозаполнения.Эти записи отображают диапазон доступных индексов в квадратных скобках, например
analog_[1..4]для атрибутов, поддерживающих пять индексированных значений (индексы с 1 по 4).Когда вы выбираете индексированный атрибут, курсор автоматически устанавливается в конец имени атрибута внутри кавычек, что позволяет сразу ввести нужный номер индекса.
Язык выражений
Все формулы в IoT Logic соответствуют спецификациям Navixy IoT Logic Expression Language. Ниже вы найдете краткую справку по синтаксису языка.
Короткий синтаксис
Вариант короткой формулы обращается к последнему значению атрибута без проверки валидности. Это удобно, когда вам не нужны исторические значения в формуле и вы не хотите фильтровать null значения.
Синтаксис: attribute_name
По умолчанию:
Индекс:
0(текущее значение)Валидация:
'all'(включает null значения)
Например, короткая форма temperature равна полной формуле value('temperature', 0, 'all'). Это означает, что вы можете легко создавать вычисления без явного добавления параметров по умолчанию:
temperature * 1.8 + 32Полный синтаксис
Использование полного синтаксиса формулы позволяет обращаться к историческим значениям или к явному режиму валидации. Это полезно, когда требуется использовать не-актуальные значения и обрабатывать null. В случае полного синтаксиса необходимо определить полный value() функции.
Функция: value(attribute_name, index, validation)
Параметры:
attribute_name
Любой действительный атрибут
Точное имя из телеметрии устройства (может быть автозаполнено)
индекс
0-12
Историческая позиция: 0=текущая, 1=предыдущая, 12=12 показаний назад
валидация
'all' или 'valid'
'all'=включает null (точный индекс), 'valid'=исключает null (N-ое валидное показание)
Примеры:
Любое предыдущее показание
value('temperature', 1, 'all')5-е валидное показание назад
value('speed', 5, 'valid')Изменение температуры (короткий и полный синтаксисы используются в одной формуле)
temperature - value('temperature', 1, 'all')Редактирование существующих атрибутов
Чтобы изменить существующий атрибут:
Откройте окно конфигурации узла, наведя курсор на узел для отображения быстрых действий или двойным щелчком по узлу
Найдите атрибут, который вы хотите отредактировать, в списке атрибутов
Внесите необходимые изменения в текстовые поля свойств атрибута: Имя атрибута, Formula или настройки времени
Если вам нужно отредактировать другие атрибуты в этом узле, повторите шаг 3 для них
Нажмите Сохранить чтобы применить ваши изменения к конфигурации узла
Удаление атрибутов
Чтобы удалить атрибут, который больше не нужен:
Откройте окно конфигурации узла, наведя курсор на узел для отображения быстрых действий или двойным щелчком по узлу
Найдите атрибут, который вы хотите удалить, в списке атрибутов и наведите на него курсор, чтобы отобразилось
менюНажмите на появившееся меню и выберите Delete
Подтвердите ваше решение удалить атрибут
Нажмите Сохранить чтобы применить ваши изменения к конфигурации узла

Последнее обновление
Это было полезно?