Посоветуйте как подключить счетчик топлива

всем день добрый!
подскажите пожалуйста, как можно подключить к контроллеру счетчик топлива?
какие компоненты WB для этого подходят?
топливо (соляра) поступает по трубе в печь

Shkiper, добрый день!
Мне не приходилось сталкиваться со счетчиками дизтоплива, думаю, самым простым вариантом будет счетчик с импульсным выходом и подключенным к WB6 нашим счетным модулем WB-MCM8.
Вторым по сложности будет счетчик с Modbus RTU по RS-485 (следует выбирать такой, для которого производитель предоставляет документацию по Modbus-регистрам).
У вас есть какая-то определенная модель, или вы в процессе выбора?

пока не определился
смотрю на Али, интересно - водяной подойдет?
они вроде одинаковые

На али есть популярные расходомеры с выходом 450 имульсов на литр – такие не подойдут, слишком быстрые. 10 Гц еще можно считать, но не больше. А солярка его не разъест?

Любые расходомеры подбираются в первую очередь по двум основным параметрам: расход и среда.
То есть чтобы подобрать нужный датчик вам надо понимать расход, а использовать датчики на воду я не рекомендую по причине того, что все уплотнительные элементы в них расчитаны на воду, а не на солярку. От пребывания в солярке резине может поплохеть.

решил поднять старую тему
купил датчик Eurosens Direct RS 100
и вот еще форум с примером
он может работать как по Modbus, так и выдавать импульсы 24в
изначально планировал подключить через WBIO-DI-WD-14

а сейчас пробую по modbus, ничего не получается
в паспорте датчика указано не просто rs-485, а K-line rs-485
и для программирования датчика есть у производителя специальный программатор
я покупал для использования его в импульсном режиме, поэтому программатор не брал
а сейчас хочу попробовать подключить его по Modbus
возможно ли это?
производитель сказал, что программировать (изменить slave id) можно только с помощью его программатора, потому что программируется устройство через шину K-Line

я взял новый WB6, к нему ничего кроме датчика не подключено, датчик подключил на rs-485-1, датчик горит зеленым, я попробовал опросить slave id по инструкции

почему-то ничего не находит

и контроллер не видит, вот скрины, как пробовал подключить

И не должен таким образом найти.
Инструкция - для устройств производства wirenboard, устройства других производителей имеют свою карту регистров.
Вам надо сначала опросить устройство по modbus вручную, а затем сделать для него шаблон. Подробней описано в

спасибо за быстрый ответ
почитал, поразбирался

не получается, вроде все правильно расставил
адрес 0x46 это адрес указанный в документации - modbus 0070 (из документации не ясно десятичный он или 16-ричный, я оба варианта испытал - возвращает ошибку и при 0х46 и при 0х70)
modbus_client --debug -mrtu -pnone -s1 -b19200 -o2000 /dev/ttyRS485-1 -a1 -t0x04 -r0x46
Opening /dev/ttyRS485-1 at 19200 bauds (N, 8, 1)
[01][04][00][46][00][01][D0][1F]
Waiting for a confirmation…
ERROR Connection timed out: select
ERROR occured!

перепробовал много вариантов
бит четности там 1
скорость пробовал и 9600 тоже

Так, а wb-mqtt-serial на момент сканирования был остановлен?
Он знанимает порт, так что может мешать… Лучше остановить. Судя по документации - регистр 4 есть в приборе, вот только явно тип не указан (holding - input).
Надо оба варианта проверить, коды команды как 03 так и 04
Судя по форуму - скорость 19200N1 так что команда верна.

Прогоните такой скриптик, с командой 4 а потом с 3 - возможно определим адрес

for i in {1..247}; do  echo "address $i $(modbus_client --debug -mrtu -pnone -s1 -b19200 -o2000 /dev/ttyRS485-1 -a$i -t0x04 -r4 | grep Data:)"; done

спасибо!
не работает, пробовал на обоих RS-485
wb-mqtt-serial, да - отключал
подключил другой датчик (вообще другой - давление измеряет), сразу заработал
а с этим пока тормоза, посмотрю как будет в импульсном режиме работать

А адрес modbus - на нем написан, на самом?

Вроде нет, но посмотрю внимательнее

в общем опять вернулся к вопросу
по rs-485 не подключил (нужен программатор производителя)
пытаюсь подключить к WBIO-DI-WD-14
прибор выдает импульсы в виде сигналов высокого (18V) и низкого (1,7) уровня
а прибору идет три провода
1 - питание, +24
2 - GND, -24
3 - OUT, сигнал
импульс выдается между GND и OUT
я подаю питание на прбор, OUT подключаю к DIX WBIO-DI-WD-14, GND к COM WBIO-DI-WD-14
импульсы не считаются

индикация прибора говорит о том что он исправен и работает
мультиметр эти импульсы видит

Добрый день.
Подскажите как используете клемму iGnd модуля WD-14? Входы модуля гальванически развязаны, в документации есть несколько примеров. Возможно - вам подойдет вариант соденения на iGnd


вот схема по которой подключаю датчик

вот что показывает осциллограф


я подписал длину импульсов в миллисекундах

причем это когда датчик отвязан от WBIO-DI-WD-14
когда подключаю к com и DI-Х, напряжение сразу падает с 18 до 12V
при этом импульсы на осциллографе такие же
но DI-WD-14 их почему-то не видит
ignd занят (герконы и сигнальные контакты с автоматов), на этом модуле свободен только один выход DI-14
com не занят
из-за чего просадка по напряжению, может я неправильно подключил?
показания на осциллограф снимаю с gnd и out

у меня другого WBIO-DI, но есть запасной контроллер WB6
могу попробовать подключить к нему, к каким входам лучше подключить?
частота частота импульсов максимальная (расчетная): 5,555 импульса в секунду
это максимум датчика

подключить на универсальные входы/выходы A1-A4?
на них можно организовать счетчик?

IGnd- даже если занят, все равно можно же к нему подключить еще и землю счетчика.
Еще раз приведу схему входа:


Выход ОК счетчика надо подключать между Di и iGnd.
Если землю от счетчика подключить нельзя, так как требуется развязка - то можно использовать оптрон, типа “817”, например.

Да, можно.
https://wirenboard.com/wiki/Wiren_Board_5:%D0%9F%D0%BE%D0%B4%D0%BA%D0%BB%D1%8E%D1%87%D0%B5%D0%BD%D0%B8%D0%B5%D1%83%D1%81%D1%82%D1%80%D0%BE%D0%B9%D1%81%D1%82%D0%B2_%D1%81_%D0%B8%D0%BC%D0%BF%D1%83%D0%BB%D1%8C%D1%81%D0%BD%D1%8B%D0%BC%D0%B8_%D0%B2%D1%8B%D1%85%D0%BE%D0%B4%D0%B0%D0%BC%D0%B8

извиняюсь за тупые вопросы, c A1-A4 не работал еще
прошу помочь заполнить правильно параметры, не могу понять откуда их выбрать
по ссылке инструкция начинается с готового шаблона, но у меня в этом месте пусто

не пойму откуда надо взять mqtt id и GPIO number?

чек-боксы в discrete I/O в интерфейсе бледные, их где-то надо включить?

у меня список GPIO пуст

нашел в документации расклад по GPIO для WB 6.7
gpio3
GPIO number заполнять с него?
у меня WB 6.6, значения подойдут?
mqtt ID откуда брать, просто писать A1_IN и т.д.?

нашел на форуме, что A1-A4 нельзя замыкать на землю, это так?
а то я собрался на них подавать +18 между входом и землей
т.е. у меня 18в это уровень постоянный, потом упало до нуля и опять подскочило - это импульс, мне его надо посчитать
может мне к +5 его подтягивать надо, а к земле не подключатиь?

какая-то длинная бестолковая портянка получилась, извиняюсь
в общем мне надо GPIO number для A1_IN

/etc/wb-homa-gpio.conf пустой

{
“device_name” : “Discrete I/O”,

"channels" : [
]

}

но и в остальных контроллера также, инфы про A1_A4 нет
(кроме подключенных внешних модулей)

Вот извиняться - точно не за что! У нас написано (сейчас) - плохо и непонятно. Если мне пришлось вспоминать как банки GPIO считаются.
В общем ваш случай:

В конфиге:

{
    "channels": [
        {
            "name": "A1_IN",
            "gpio": {
                "chip": "/dev/gpiochip2",
                "offset": 14
            },
            "direction": "input",
            "type": "water_meter",
            "inverted": false,
            "multiplier": 1,
            "decimal_points_current": 2,
            "initial_state": false
        }
    ],
    "device_name": "Discrete I/O"
}


Про имена GPIO:
Их можно и посмотреть в конфиге
/var/lib/wb-mqtt-gpio/conf.d/system.conf

UPD: почистил сообщение

я извиняюсь, но у меня вот такого поля выбора нет в веб интерфейсе

у меня вот так


но так почему то счетчик не появляется в интерфейсе
мне надо обновить gpio наверное

root@wirenboard-A7YUIFGN:~# apt-cache policy wb-homa-gpio
wb-homa-gpio:
Установлен: 1.19.5
Кандидат: 2.1.0

его отдельно обновить можно, ничего не грохнется?