Мониторинг ДГУ

Доброе время суток, появилась задача за мониторить ДГУ, не когда не занимался писанием скриптов, решил попробовать. Но уперся в разложение мульти переменных. Кто то может подскажет, как это проделать?config-DGU-Telys-2.json (9.0 КБ)

Здравствуйте!
При написании собственного шаблона рекомендую ознакомиться с примерами шаблонов и документацией. Можно посмотреть, например, здесь:

Если вам нужно получить биты из 16-битного регистра, то здесь могут быть такие варианты для чтения регистров 256 и 257:

  1. Проверить с помощью утилиты modbus_client можно ли регистры 256 и 257 считать по отдельности (по 16 бит), тогда можно из них считывать отдельные биты. Для этого в шаблоне запишите
    адрес в формате: “address”:“reg:shift:width”, где reg — адрес регистра, shift —
    смещение от начала, а width — количество считываемых битов. Например,
    “address”:“257:6:1” — прочитать шестой бит регистра, расположенного по
    адресу 257, “address”:“256:5:1” — прочитать пятый бит регистра, расположенного по
    адресу 256. Обратите внимание, что нумерация битов у каждого из регистров будет от 0 до 16.
"address" : "257:6:1",
"format": "u16",

....

"address" : "256:5:1",
"format": "u16",
  1. Если регистры по отдельности считать нельзя, тогда нужно в шаблоне прописать регистр 256 как 32-битный, считать его целиком, и уже в правилах контроллера анализировать отдельные биты:
"address" : "256",
"format": "u32",

Спасибо большое, на днях попробую на оборудование.

1 лайк