Modbus

image0

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

image1

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

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

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

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

Json

{
  "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 - тип регистра для записи ‘holding register’ или ‘coil’. Поумолчанию ‘holding register’. str

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

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

Для динамической настройки необходимо в объекте METADATA.ModbusOut указать следующие поля: - device_ip str - device_port int По умолчанию 502 - order str Доступны: BE, LE. По умолчанию LE - device_id str По умолчанию 1

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

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

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
  }
}