Тип данных bitmap для wb-mqtt-serial

Достаточно много modbus устройств хранят статусы состояния в регистрах в виде bitmap, было бы не плохо добавить такой тип данных. При чтении этих регистров их данные можно разворачивать например в 16 топиков mqtt типа switch.

А скиньте пожалуйста пример такой железки?

Видимо что-то вроде такого имел ввиду ТС:

WP8028

Тут как раз можно считывать состояние входов-выходов или управлять выходами через один регистр. Можно и через отдельные регистры как обычно, хотя касаемо DI про это в документе не описано, но работает. Железка, кстати, прекрасно работает с WB5. В отличие от некоторых других modbus девайсов - ни единой ошибки обмена по serial не проскочило.

Если помните, мы с Вами в июне общались, когда я определялся с выбором оборудования. У меня была потребность в приобретении малогабаритного (прежде всего по толщине) устройства, чтобы влезло в гипсокартонную стену за выключателем. Тогда Вы отговаривали от китайских устройств, предлагая бескорпусный вариант собственного производства, но я все же решил попробовать… и не ошибся (к тому же вышло более чем в 2 раза дешевле). Это устройство полностью решило мою задачу. После этого заказал аналогичный девайс того же производителя с аналоговыми входами 0-10V для различных датчиков. Надеюсь, с ним тоже проблем не будет. Отпишусь как получу и испробую.

А темплейт вы для этих железок делали? Если да, то поделитесь пожалуйста протестированным темплейтом - мы добавим в стандартный wb-mqtt-serial и в список протестированных девайсов.

темплейт
там все просто… пока единственный минус по сравнению с устройствами Вашего производства - нет возможности дискретные входы сделать счетными (ну или я не знаю как, а в описании нет) для импульсных счетчиков. Но для большинства задач это и не надо.

Как опробую другие девайсы того же производителя (когда придут) - пришлю и на них темплейты.

PCC-1302 http://www.cumminspower.com.br/pdf/acessorios/1302.pdf

еще СРК-М http://cpk-m.ru/

и еще ППКПУ-4/16 “АИСТ” http://www.artsok.com/production/aist/

Для первых двух шаблонами поделюсь, для аиста шаблон не очень актуально потому что нужно знать фактическую топологию

Так в итоге есть способ адекватно прочитать bitmap 32 или 16, вентустановка кажет аварии и их квитирование в bitmap 32

Добрый день. Вариантов, как обычно два. Описать побитно контролы типа switch или разобрать считанный целиком регистр в wb-rules.

Так вот, я пытаюсь считать все 25 бит из списка, но в топике отображается только 16, что сделать можно?

Из регистра можно отобразить 16 бит. [0…15]. Откуда в регистре 25??
Если бит больше - значит уже следующий регистр.

Дык я и подставлял следующий регистр, в топике все равно не отображается

Использовал 21 регистр 21:1:1 и 22 регистр 22:1:1, отображается все равно только 16 бит в 21 регистре

Товарищи, ну помогите прочитать то

Покажите прочитанное с помощью modbus_client значения искомых регистров.
Единственный верный путь - это сравнить что читается и что отображается.
Также можно включить дебаг в wb-mqtt-serial и посмотреть что возвращается на запрос.

Поддерживаю, тот же вопрос, только закончил шаблон проточки Breezart а как считать bitmap застрял.

Здравствуйте!
Думаю, здесь могут быть такие варианты для чтения регистра 21 (input, bitmap 32):

  1. Проверить с помощью modbus_client можно ли регистры 21 и 22 (input) считать по отдельности (по 16 бит), тогда можно из них считывать отдельные биты:
"address" : "21:0:1",
"format": "u16",

....

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