Json config для протокола Modbus

в таблице переменных, поддерживаемых протоколом Modbus для carel ur010hl104 400v titanium в файле INPUT REGISTERS (“reg_type”: “input”) в столбце Occup. со значением 1 выдают верные данные, при этом в столбце где указано Occup. значение 2 данные выдаются ошибочными, не выдают информацию. Подскажите как правильно сделать/написать скрипт json для Modbus для Occup. 2?

Carel UR010HL104 400V для скрипта.pdf (59,7 КБ)

Добрый день.
Я (пока) не понимаю вопрос, к сожалению.
Опишите что вы хотите получить при чтении регистра, что получаете? То есть - какое значение читаете и чем оно отличается от ожидаемого.

в столбце файла ПДФ

Occup. со значением 1 выдают верные данные,

  • Conductivity отображаются верно 255 uS/cm (значение электропроводности)

при этом в столбце где указано Occup. значение 2 данные выдаются ошибочными

  • MainPrb отображает 16873 - это не верно (обычно д.б. значение 31-35 % влажности)

  • PreheatPrb отображает 1704.8 °C это не верно (обычно д.б. значение от 65 до 100 °C темп)

часть моего скрипта

    "name": "Conductivity",
    "reg_type": "input",
    "address": 10,
    "type": "text"
  },
  {
    "name": "MainPrb",
    "reg_type": "input",
    "address": 4,
    "type": "text",
    "units": "%, RH",
  },
  {
    "name": "PreheatPrb",
    "reg_type": "input",
    "address": 8,
    "type": "temperature",
    "scale": 0.1,
    "units": "°C",

попробуйте для регистров 4, 6, 8 указать:

"type": "value",
"format": "float",

Благодарю! все получилось

нужна помощь в этом же вопросе, но в по округлению получаемых данных до целого числа или один знак после точки.

скрипт содержит “precision”: 0, но не работает, не округляет данные

MainPrb отображает - 34.3501 %rh

PreheatPrb отображает - 86.212 °C

    "name": "MainPrb",
    "reg_type": "input",
    "address": 4,
    "type": "value",
    "format": "float",
    "precision": 0,
    "units": "%rh"
  },
  {
    "name": "PreheatPrb",
    "reg_type": "input",
    "address": 8,
    "type": "value",
    "format": "float",
    "offset": 5,
    "precision": 0,
    "units": "°C"

Попробуйте "round_to": 1.0

А какой документацией пользуетесь при написании шаблонов?
Я не смог найти такого параметра.

Да, верно.

помогло, Благодарю!

1 лайк