Зависание работы с модулем WBIO-AI-DV-12/4-20mA

Планировали измерение показаний пирометра с помощью модуля WBIO-AI-DV-12/4-20mA
Пирометр выдает 4-20ма и подключен к 1 входу модуля.
Вначале обнаружил следующий непонятный момент. Все работает, ухожу домой, утром проверяю - контроллер работает, а показания не снимаются.
Так как повторения этой ситуации требуется много времени, решил попробовать другой тест.
Все входы модуля настроены на измерение тока:


Все работает, ток измеряется:

Выключаю питание и через 5 секунд включаю вновь. После загрузки смотрю на показания входа EXT1_A1. Зависло на том значении, которое было до отключения и не меняется.

Захожу в настойку конфигурации модулей и меняю любой вход на измерение напряжения:


Сохраняю. Заработало. Вижу изменение показаний по входу EXT1_A1
То есть любое изменение режима любого входа восстанавливает работу 1 входа. Но только до перезагрузки контроллера.

Продолжил тесты. Переключил на 5 вход. Проблема повторяется.
К сожалению не всегда. Иногда запускается нормально.

Продолжение теста.
Обратил внимание, что зависают не только входы с 1 по 12, но похоже, весь модуль. Показания не меняются.

Здравствуйте. Пришлите пожалуйста логи /var/log/messages .

Логи отправил на почту.
Сервис перезапускать не пробовал.

Попробовал перезапускать сервис wb-homa-gpio
Не помогает.

Коллеги, прошу помочь с решением проблемы. Заказчик ждет, спрашивает когда будет, не знаю что сказать.

Ответа не дождались. Решили задачу другим способом, без WBIO-AI_DV-12/4-20ma.
Считываем с пирометра по интерфейсу RS232

Что делать с модулем WBIO-AI_DV-12/4-20ma? Или может проблема не в нем?

1 лайк

Добрый день. Извиняюсь за задержку. Уточните, на какую почту Вы прислали логи? Попробуйте при зависании ввести команду:
service wb-homa-adc stop; modprobe -r ti_ads1015; modprobe ti_ads1015; service wb-homa-adc start

Логи высылал на forum@wirenboard.ru
Повторю здесь:
messages.txt (1.8 МБ)

Попробую позже. Все разобрал, нужно опять собрать.

Вчера удалось протестировать еще раз.
Пробовал выключать/включать питание. Зависание не наблюдалось. Оставил работать.
Сегодня утром посмотрел. Работа с модулем зависла, показания не меняются.
Выполнил рекомендованные команды без перезагрузки контроллера. Работа восстановилась.
Что делать дальше?

Добрый день. В настоящее время ведется работа над устранением проблемы в драйвере wb-homa-adc. Я напишу в эту тему, как только будет результат. Спасибо за помощь!

Еще не готово?

Есть тестовая версия пакета.
Проверите?

  1. Добавляем experimental:
echo "deb http://releases.contactless.ru/experimental/stretch stretch main" > /etc/apt/sources.list.d/experimental.list
apt update
  1. wb-homa-adc_2.0.2_all.deb (2.6 КБ) wb-mqtt-adc_2.0.2_armhf.deb (26.7 КБ)
apt install libwbmqtt1 -y 
dpkg -i wb-mqtt-adc_2.0.2_armhf.deb
dpkg -i wb-homa-adc_2.0.2_all.deb
systemctl restart wb-homa-adc

Проверяем:

systemctl status wb-homa-adc

Сегодня частично (!!!) завис такой же модуль. Входы Ext1_A5…12 висели несколько часов, хотя бы на вебальнике значения были красные, и то спасибо (буду теперь настраивать алярмы еще и на них, а не только modbus).
Рестарт homa-adc не помог. Ребут - помог… Дело, похоже, в драйвере. Как его обновить?

А ядро какое? Если свежее майского, и перестали работать только часть входов - то возможно что-то аппаратное. В логах wb-mqtt-adc есть ошибки?

Ядро 4.9.22-wb2 #2 SMP Thu Jun 24 14:46:55 - сорян.
Ошибки, как всегда, КРАЙНЕ содержательные…

Sep 15 17:05:09 wirenboard-AT2WDUZB wb-mqtt-adc[2855]: ERROR: [wb-adc] Can’t read from /sys/bus/iio/devices/iio:device2/in_voltage2_raw

Интересно, можно вывод journalctl за период, желательно минут за полчаса до пропадания и ну и после?
А не было ли грозы, например? Просто в модуле три идентичных АЦП на одной шине АЦП/

Грозы не было, но это ж, ешкин кошкин, КОТЕЛЬНАЯ - там сотни ампер пусковые токи везде.
Логи при ребуте провернуло, поэтому застать начало не удалось, увы. В процессе лежания же повторялось одно и то же.

Sep 15 11:17:43 wirenboard-AT2WDUZB wb-mqtt-adc[28896]: ERROR: [wb-adc] Can’t read from /sys/bus/iio/devices/iio:device1/in_voltage0_raw
Sep 15 11:17:43 wirenboard-AT2WDUZB wb-mqtt-adc[28896]: ERROR: [wb-adc] Can’t read from /sys/bus/iio/devices/iio:device1/in_voltage1_raw
Sep 15 11:17:43 wirenboard-AT2WDUZB wb-mqtt-adc[28896]: ERROR: [wb-adc] Can’t read from /sys/bus/iio/devices/iio:device1/in_voltage2_raw
Sep 15 11:17:43 wirenboard-AT2WDUZB wb-mqtt-adc[28896]: ERROR: [wb-adc] Can’t read from /sys/bus/iio/devices/iio:device1/in_voltage3_raw
Sep 15 11:17:43 wirenboard-AT2WDUZB wb-mqtt-adc[28896]: ERROR: [wb-adc] Can’t read from /sys/bus/iio/devices/iio:device2/in_voltage0_raw
Sep 15 11:17:43 wirenboard-AT2WDUZB wb-mqtt-adc[28896]: ERROR: [wb-adc] Can’t read from /sys/bus/iio/devices/iio:device2/in_voltage1_raw
Sep 15 11:17:43 wirenboard-AT2WDUZB wb-mqtt-adc[28896]: ERROR: [wb-adc] Can’t read from /sys/bus/iio/devices/iio:device2/in_voltage2_raw
Sep 15 11:17:43 wirenboard-AT2WDUZB wb-mqtt-adc[28896]: ERROR: [wb-adc] Can’t read from /sys/bus/iio/devices/iio:device2/in_voltage3_raw
Sep 15 11:17:46 wirenboard-AT2WDUZB wb-mqtt-adc[28896]: ERROR: [wb-adc] Can’t read from /sys/bus/iio/devices/iio:device1/in_voltage0_raw
Sep 15 11:17:46 wirenboard-AT2WDUZB wb-mqtt-adc[28896]: ERROR: [wb-adc] Can’t read from /sys/bus/iio/devices/iio:device1/in_voltage1_raw
Sep 15 11:17:46 wirenboard-AT2WDUZB wb-mqtt-adc[28896]: ERROR: [wb-adc] Can’t read from /sys/bus/iio/devices/iio:device1/in_voltage2_raw
Sep 15 11:17:46 wirenboard-AT2WDUZB wb-mqtt-adc[28896]: ERROR: [wb-adc] Can’t read from /sys/bus/iio/devices/iio:device1/in_voltage3_raw
Sep 15 11:17:46 wirenboard-AT2WDUZB wb-mqtt-adc[28896]: ERROR: [wb-adc] Can’t read from /sys/bus/iio/devices/iio:device2/in_voltage0_raw
Sep 15 11:17:46 wirenboard-AT2WDUZB wb-mqtt-adc[28896]: ERROR: [wb-adc] Can’t read from /sys/bus/iio/devices/iio:device2/in_voltage1_raw
Sep 15 11:17:46 wirenboard-AT2WDUZB wb-mqtt-adc[28896]: ERROR: [wb-adc] Can’t read from /sys/bus/iio/devices/iio:device2/in_voltage2_raw
Sep 15 11:17:46 wirenboard-AT2WDUZB wb-mqtt-adc[28896]: ERROR: [wb-adc] Can’t read from /sys/bus/iio/devices/iio:device2/in_voltage3_raw