Сперва был установлен и успешно настроен импульсный счетчик газа на встроенный порт A1_IN. Счетчик был подключен к клеймам A1 и +5V.
После была успешно произведена процедура по вводу предварительного значения счетчика следующими командами –
/etc/init.d/wb-homa-gpio stop
mosquitto_pub -r -m 36539.51 -t /devices/wb-gpio/controls/Counter-A1_total
reboot
Все заработало и считало.
Через некоторое время обнаружил, что после каких то действий пропали из конфигурации wb-hardware внутренние модули. (подозреваю, что после установки WebUI 2 beta 8, но могу ошибаться)
Через web-интерфейс были вновь добавлены в список внутренние модули.
После этой процедуры обнаружил, что произошел сброс значений
/devices/wb-gpio/controls/Counter-A1_total и
/devices/wb-gpio/controls/Counter-A1_current
Но счетчик работал и начал считать с нуля.
Беда не приходит одна:
Я повторил установки нового начального значения счетчика следующими командами –
/etc/init.d/wb-homa-gpio stop
mosquitto_pub -r -m 36539.51 -t /devices/wb-gpio/controls/Counter-A1_total
/etc/init.d/wb-homa-gpio start
Спустя достаточное время обнаружил, что значение счетчиков не меняется.
Кроме этого, обнаружил, что контрол -
/devices/wb-adc/controls/A1 показывает все время +5V
Прибыв на объект я отключил провода герконового датчика от контролера.
Измерил сопротивление на контактах герконового датчика – там оказалось КЗ.
Снял и постучал датчик об стол – КЗ пропало.
Датчик рассчитан на 24V и 50 мА
Таким образом подозреваю следующие стечения обстоятельств в момент процедуры - /etc/init.d/wb-homa-gpio start
Были замкнуты контакты геркона (при переходе от 9 к 0 младшего разряда газового счетчика).
В этот момент при инициализации wb-homa-gpio выход A1_OUT оказался в состоянии true (т.е. замкнут на общий провод) и геркон оказался замкнут между общим проводом и +5V.
К сожалению, не додумался проверить замыкание выхода в момент инициализации прибором. Смогу проверить это на объекте только через несколько дней. Предоставляю эту возможность тех. поддержке.
Буду теперь подключать счетчик между общим проводом и входом A1 с подтянутым к +5V резистором, либо воспользуюсь входом на WBE2-DI-DR-3.
Прошу данный пост считать официальным обращение по двум указанным проблемам - Сброс показаний импульсного счетчика после обновления конфигурации wb-hardware - Замыкание выхода A1-OUT в момент запуска /etc/init.d/wb-homa-gpio start
P.S.
Обнаружил, что если в конфигурации wb-hardware.conf на внутренний слот добавить какой нибудь не существующий модуль – нигде, никакие ошибки не отображается (проверено с wbe2-do-r6c-1, wbe2-i-w1, wbe2-do-oc-2):
Нет на странице /#!/MQTTChannels
Нет в /var/log/messages
Нет в journalctl
Т.е. обратной связи и диагностирование не осуществляется и в случае проблем с внутренним модулем обнаружить это будет проблематично.
Понимаю, что дополнительная навеска приведет к удорожанию продукта, поэтому, прошу воспринимать это ни как претензию, а как информацию для пользователей данного устройства.
т.е. имеется подозрение, что А1, настроенный как “вход”, при перезагрузке выдал “1” как “выход”? А в это время пришел счетный импульс и замкнул геркон?
Кстати, после “разлипания” геркона счетчик вновь заработал
Похоже, что понятие ‘настроенный как “вход”’ для WB-6 весьма условно.
Все эти входы и выходы (A1… - A4…) на разных gpio и могут работать параллельно.
В wiki написано следующее:
Для сокращения общего числа клеммников каналы управления низковольтной нагрузки совмещены с каналами АЦП Управление_низковольтной_нагрузкой
И далее
Из этих трёх функций одновременно могут работать только две - АЦП и DI. Если вы хотите использовать порт в этом режиме, обязательно отключите соответствующий транзисторный выход (в веб-интерфейсе называется Ax_OUT). Если не сделать это, вы можете повредить устройство! Мультиплексирование_портов
Перезагружал контроллер, перезагружал сервис wb-homa-gpio
Вспышек светодиода не наблюдалось.
Т.е. состояние выхода все время не активно.
Если включить выход A1_OUT из интерфейса – светодиод горит. Моя версия не подтвердилась.
Переключил импульсный счетчик с A1_IN на MOD1_IN1.
Удалось заставить его корректно работать с предустановленным начальным значением только с 4 попытки:
После первой попытки ввести новое значение счетчика через mosquitto_pub - значение _total не менялось, но менялось значение _current
На второй попытке решил установить значение, пока не пришел ни один счетный импульс и значение контролов было none. После запуска сервиса значения обоих контролов не менялось вовсе.
После третьей попытки значения _total соответствовало показаниям реального механического счетчика, но показались неадекватными значения _current.
С четвертой попытки все получилось.
Каждый раз я удалял старый и создавал новый GPIO channel с новым названием.
Если не делать этого – результаты еще более непредсказуемые.
Предполагаю, что в описываемой вначале топика истории случилось то, что после повторного ввода начальных значений счетчика total через mosquitto_pub привело к неработоспособности программного счетчика. А дальнейшие хаотические действия (в том числе включение/выключения порта A1_OUT) оператора (т.е. меня) привели к залипанию геркона импульсного датчика.
Помнитя еще в 2017 обещали:
очень скоро мы все эти костыли заменим на нормальное хранилище внутри подсистемы дискретных сигналов, но пока так…