WB-MSW - invalid crc + invalid packet size: 0

Итак, проверил у себя. Обновил WB-MWAC до 1.20.1. Шину это не вешает. Надо искать.

Логи с дебагом

debug_diag_AEH7VGI_2023-09-14-16.18.09.zip (184.7 KB)

И у меня WB-MWAC с прошивкой 1.20.1 тоже не флудит если на шине не болтаются WB-MSW4 с прошивкой 4.30.0. Как это связано - я не понимаю ( пальщем в небо, не может быть, что новые прошивки приводят к увеличению потребления питания?

Опишите как построена ваша шина RS-485.
Также нужно попробовать другую шину. Коллега подсказывает, что на первой шине у вас могут быть наводки. Можете WB-MWAC подключить к другой шине или соединить временно другим кабелем?

Идею понял, давайте я соеденю временной шиной WB-MWAC и WB-MSW4 с последними прошивками и посмотрим, что из этого получится. Не обещаю, что сегодня. По готовности сразу отпишусь.

Спасибо за помощь

построил временную шину, один конец в контроллер, второй конец в WB-MWAC. Все нормально. В середину втыкаю WB-MSW4 с номером 10. Оба модуля с последней прошивкой. Весь лог в ошибках crc

14-09-2023 18:22:23.069 [wb-mqtt-serial]	WARNING: [serial client] Reading events failed: Serial protocol error: malformed response: invalid crc
14-09-2023 18:22:23.040 [wb-mqtt-serial]	WARNING: [serial client] Reading events failed: Serial protocol error: malformed response: invalid packet size: 0
14-09-2023 18:22:22.991 [wb-mqtt-serial]	WARNING: [serial client] Reading events failed: Serial protocol error: malformed response: invalid crc
14-09-2023 18:22:22.052 [wb-mqtt-serial]	WARNING: [serial client] Reading events failed: Serial protocol error: malformed response: invalid crc
14-09-2023 18:22:22.023 [wb-mqtt-serial]	WARNING: [serial client] Reading events failed: Serial protocol error: malformed response: invalid packet size: 0
14-09-2023 18:22:21.974 [wb-mqtt-serial]	WARNING: [serial client] Reading events failed: Serial protocol error: malformed response: invalid crc

вместо WB-MSW4 с номером 10 подключаю WB-MSW4 с номером 206. Ошибки пропадают.

Может надо сдампить эти два WB-MSW4 и посмотреть в чем м/у ними разница? Проблемы на шине возникают именно когда WB-MSW4 с номером 10 или 11 вместе с WB-MWAC 118 висят.

Оставьте на шине только WB-MSW4 addr.10, по остальным отключите опрос, также отключите опрос других шин. Пришлите лог wb-mqtt-serial.service. Такое же действие выполните и для WB-MSW4 addr.11, а потом и WB-MWAC addr.118. Затем уже со всеми тремя модулями на шине пробуйте. Посмотрим на результат.

Ок, постараюсь сегодня сделать.
Спасибо

Добрый день.
Получилось ли решить проблему? Попробовали локализовать источник ошибок на шине?

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

Вы просили сделать тест, все отключив оставив только два конфликтных устройства. Лог во вложении. В логах ничего нового
wb-mqtt-serial_20230925T143000.zip (10.9 KB)

с момента INFO: [serial device] device modbus:10 is connected
до момента INFO: [serial device] device modbus:10 is disconnected
идут сплошные ошибки.
Линия пока в разобранном состоянии до вечера, пишите, если что то еще надо проверить.
Спасибо,
Андрей

|25-09-2023 14:27:25.102|WARNING: [serial client] Reading events failed: Serial protocol error: malformed response: invalid packet size: 0|
|25-09-2023 14:27:25.043|WARNING: [serial client] Reading events failed: Serial protocol error: malformed response: invalid crc|
|25-09-2023 14:27:25.043|WARNING: [serial client] Reading events failed: Serial protocol error: malformed response: invalid crc|
|25-09-2023 14:27:24.811|WARNING: [serial client] Reading events failed: Serial protocol error: malformed response: invalid packet size: 0|
|25-09-2023 14:27:24.493|WARNING: [serial client] Reading events failed: Serial protocol error: malformed response: invalid crc|
|25-09-2023 14:27:24.001|WARNING: [serial client] Reading events failed: Serial protocol error: malformed response: invalid crc|
|25-09-2023 14:27:23.951|WARNING: [serial client] Reading events failed: Serial protocol error: malformed response: invalid crc|

Добрый день.
Тут именно задача увидеть, что эти устройства, когда они одни (т.е. только одно устройство) на шине, то нет ошибок (или есть). Надо увидеть, что каждое устройство в отдельности не приводит к ошибкам.

Именно это я и прислал, смотрите картинку. Или вы хотите, чтобы я повторил в обратной последовательности? Извиняюсь за бестолковость )

Так не очень понятно. 118 устройство было на шине чуть больше минуты.
У меня картина следующая: ошибки на шине появляются, когда устройства вместе. Но я не понимаю причин, которые могут к этому привести. Поэтому есть желание посмотреть как устройства ведут себя по одиночке (и не по минуте, а больше - минут 10). Если они и по одиночке сыпят ошибки, то надо убедиться в правильности самой шины.

Все что я сегодня присылаю, это прямое подключение от контроллера до MWAC 118 прямо “по воздуху”. Длинна шины примерно 4,5 метра витой пары.
Между тестами старался выдерживать паузу по 30 минут, иногда дольше

На Шине только MWAC 118. За 2а часа только одна ошибка crc. После подключение MSW v4 10, идет бесконечный флуд ошибок

Отключаем MWAC 118. Оставляем только MSW v4 10. Ошибок нет в течении 40 минут, пока не вернул на место MWAC 118.

Идет флуд, т.к. на шине оба MSW v4 10 и MWAC 118. Снимаю MSW v4 10

Вместо MSW v4 10 ставлю MSW v4 206. На шине MSW v4 206 + MWAC 118. Ошибок нет в течении 35 минут. Оба MSW v4 10 и MSW v4 206 приехали в одной партии ко мне.

Логи в атаче
wb-mqtt-serial_20230925T175149.zip (7.8 KB)

немного дополнений, поменял адреса для WB-MSW v4 с адресом 10 → 210, а с адреом 11 → 211. Подключил к шине где есть MWAC с адресом 118. И флуд пропал. Есть какие - либо идеи, что это было? У меня идей нет.

modbus_client --debug -mrtu -b9600 -pnone -s2 /dev/ttyRS485-1 -a10 -t0x06 -r128 210
Data to write: 0xd2
Opening /dev/ttyRS485-1 at 9600 bauds (N, 8, 2)
[0A][06][00][80][00][D2][09][04]
Waiting for a confirmation...
<0A><06><00><80><00><D2><09><04>
SUCCESS: written 1 elements!

modbus_client --debug -mrtu -b9600 -pnone -s2 /dev/ttyRS485-1 -a11 -t0x06 -r128 211
Data to write: 0xd3
Opening /dev/ttyRS485-1 at 9600 bauds (N, 8, 2)
[0B][06][00][80][00][D3][C9][15]
Waiting for a confirmation...
<0B><06><00><80><00><D3><C9><15>
SUCCESS: written 1 elements!

Добрый день.
Спасибо за такое подробное исследование проблемы. У меня идей тоже нет. Может чего-то очевидного не вижу. Попробую проконсультироваться с коллегами.

Еще один тест, взял WB-MSW v4 с адресом 206, который использовался в тестах показывающих, что с ним проблем на шине нет. Шьем ему адрес 10. После старта сервиса mqtt-serial идет флуд с ошибкой crc. Шьем обратно 206 - все нормально. Пальцем в небо, возможно ли, чтоу вас проблемы с расчетом crc если адрес меньше 16?

1 лайк

Тему показали разработчикам, изучают и воспроизводят.

Добрый день. Поизучал проблему. Такое поведение может быть изза того что возникает небольшая допустимая рассинхронизация в арбитраже, wb-matt-serial не всегда корректно это обрабатывает, и показывает ошибку. Однако сброса события на устройстве не происходит, будет отправлен пакет в котором событие перезапрашивается. Тоесть потерять событие в таком пакете невозможно.

Единственная проблема может быть если такое происходит с каждым пакетом.

Скажите мешает ли это работе ? Меняются ли у вас показания датчика движения ? или входов WB-MWAC ?

Мы конечно добавим корректную обработку такой ситуации.