Узлы преобразования информации¶
Узлы преобразования используются для изменения полей входящего сообщения, таких как DATA
, METADATA
.
Шаблон¶
Узел подставляет значения из поля DATA входящего json-а в шаблон и заменяет поле DATA входящего json-а на значение из шаблона. Наличие поля DATA во входящем json-е обязательно. Шаблон должен описывать кооректный json, иначе будет выдана ошибка.
Вкачестве настройки блок принимает в себя текстовый файл с описанием шаблона. На пример: {«string»: «{{ tag1 }}»,»integer»: {{ tag2 }}} Название поля, значение которого должно быть вставленно, пишется внутри {{}}. Имена полей также поддерживают вложенность (tag1.anather_tag) и индексное обращение к элементам массива (some_array.0). Подробнее здесь: https://github.com/pantor/inja/blob/main/README.md
Подготовить сообщение для SCADA¶
Этот узел форматирует входящее собщение от узлов Modbus или Bacnet в формат key:value;
Было:
- {
- «DATA»: {
- «values»: [
- {
«address»: 0, «property-name»: «address0», «source»: «», «type»: «int16», «value»: -20238
}, {
«address»: 1, «property-name»: «address1», «source»: «», «type»: «int16», «value»: 40
}, {
«address»: 2, «property-name»: «address2», «source»: «», «type»: «bool», «value»: false
}
]
}
}
Стало:
- {
«address0»: -20238, «address1»: 40, «address2»: false
}
VISIOBAS¶
{
"mods": [
{
"name": "DI 24V X1",
"enable": 1,
"val": [
{
"name": "11",
"type": 0,
"val": 1
},
{
"name": "12",
"type": 0,
"val": 1
},
{
"name": "13",
"type": 0,
"val": 0
},
{
"name": "14",
"type": 0,
"val": 1
}
]
},
]
}
И далее узел превращает этот джейсон вот в такую строку:
11 3 1 0 0; 12 3 1 0 0; 13 3 0 0 0; 14 3 1 0 0;
XML в JSON¶
Узел ожидает на входе XML документ в виде строки в поле DATA или DATA.body и преобразовывает этот xml в json.
Запустить скрипт¶
Узел выполняет LUA скрипт
ARGUS¶
на входе ожидем джейсон вида: {
- «DATA»: {
«name»: «sign_person», «type»: [ «string», «null» ], «doc»: «4.6.53.41 Утверждающее лицо» }
}
а на выходе делаем вот так: {
- «DATA»: {
«sign_person» : «4.6.53.41 Утверждающее лицо», «sign_person_type» : «string» }
}