Узлы публикации

Узел MQTT

Узел MQTT

Публикует полезную нагрузку входящего сообщения в топик настроенного MQTT брокера.

Конфигурация

Конфигурация узла:

  • Host - хоcт MQTT брокера

  • Port - порт MQTT брокера

  • User - Логин пользователя

  • Password - Пароль пользователя

  • Topic - Имя топика, куда будут отправленны данные

  • Qos - уровень качества обслуживания

  • Retain - накопление сообщений

Узел HTTP Output

Узел HTTP output

Осуществляет вызов REST API к серверу REST. Используется выбранный метод. В качестве тела запроса используются входные данные в формате JSON. Заголовки будут взяты также из настроек блока. Если установлен флаг «Динамическая настройка», то блок будет применять настройки, которые должны быть переданы через метадату посылки внутри объекта «HTTPoutput».

Конфигурация

Динамическая настройка (Пример объекта METADATA.HTTPoutput):

{
  "uri": "http://scada.4iot.pro/api/example_journal_event",
  "payload": "Example payload",
  "headers":{
    "FirstHeader": "ValueOfFirsHeader",
    "SecondHeader": "ValueOfSecondHeader"
  },
  "s3":{
    "file": "file.xml",
    "bucket": "example_bucket",
    "contentType": "aplication/xml",
    "server": "yandex.cloud",
    "key": "some_key",
    "secret":"some_secrte_key"
  }
}

Единственное обязательное поле в объекте настроек HTTPoutput это «uri», отсальные добавляются по необходимости. При использовании динамической настройки в тело запроса не будут включены входные данные, а будет использовано содержимое поля «payload», если оно есть. Если этого поля нет, то тело запроса останется пустым.

Поле «headers» содержит заголовки, которые необходимо добавить к запросу. Также будут добавлены и заголовки, добавленные через форму настройки блока. Блок HTTP output поддерживает AWS s3 авторизацию для доступа к bucket серверу. Она настраивается полем «s3».

В поле «file» указывается имя файла к которому запрашивается доступ. В поле «bucket» имя хранилища. В поле «contentType» указывается формат запрашиваемого файла в спецификации http. Поле «server» содержит адрес или домен сервера с хранилищем. Поля «key» и «secret» должны содержать идентификатор ключа и ключ соответственно.

ModbusOutput

Узел HTTP output

Узел отправляет значения, содержащиеся во ходном json-е, по пути: DATA.values. Для того, чтобы значение было отправлено в объекте со значением обязательно должны быть:

  • object_address (int) адрем регистра

  • value (number, array<number>) само значение для записи

Если этих полей не будет, или они будут неверных типов, то такой элемент values будет проигнорирован без ошибки. Пример входных данных:

{
  "DATA": {
    "values": [
      {
        "value": 42,
        "object_address": 1
      },
      {
        "value": [1,2,3,4],
        "object_address": 2
      },
      {
        "value": 22.5,
        "object_address": 6,
        "object_type": "holding register",
        "data_type": "float32",
        "scale": 3.2
      },
      {
        "value": 0,
        "object_address": 1,
        "object_type": "coil"
      }
    ]
  },
  "METADATA": {}
}

Необязательные параметры value:

  • object_type (string) тип регистра для записи „holding register“ или „coil“. Поумолчанию „holding register“.

  • data_type (string). Нужен если object_type == „holding register“. Тип значения(й) для записий int16, uint16, bool, int32, uint32, float32, float64. Поумолчанию int16.

  • scale (double) множитель значения. Поумолчанию 1.0.

    Узел HTTP output
Для динамической настройки необходимо в объекте METADATA.ModbusOut указать следующие поля:
  • device_ip (string)

  • device_port (int) Поумолчанию 502

  • order (string) Доступны: BE, LE. Поумолчанию LE

  • device_id (int) Поумолчаню 1

Обязательным полем в случаи динамической настройки является только device_ip. остальные могут быть использованы поумолчанию.

Если при отправке данных были ошибки, то их список попадёт в DATA.ModbusOut. Если ошибок нет, то входной json не изменится.

{
  "DATA": {
    "ModbusOut": [
      "Connection refused 127.0.0.1:1502 addr:2",
      "Connection refused 127.0.0.1:1502 addr:1"
    ],
    "values": [
      {
        "object_address": 2,
        "value": 22
      },
      {
        "object_address": 1,
        "value": 11
      }
    ]
  },
  "METADATA": {
    "chain": "mbouts",
    "date": "16.04.2024",
    "from": "HTTP",
    "id": 1,
    "time": 1713268410170
  }
}