Ошибка invalid crc модуля WB-MCM8

Добрый день, недавно приобрел WB 8.5.1 (wb-3410 stable) и к нему модуль WB-MCM8 его обновил до версии 1.6.6. Модуль подключил по RS485 к контроллеру и питание тоже подключил через контроллер. Контроллер без проблем нашел MCM8, поменял скорость обмена на RS485 и MCM8 на 115200, больше не каких настроек не менял, число бит, стопы не трогал. К контроллеру больше не каких модулей кроме Sprut стика не подключено. Модуль использую с выключателями звонкового типа, настроены короткие и длинные нажатия. Модуль установлен рядом с контроллером на DIN рейке. Модуль постоянно сыпет ошибки, приведены ниже. Данные ошибки не как не влияют на работоспособность, нажатия отрабатывает корректно и без пропусков. Пробовал питание на модуль MCM8 подавать на прямую от блока питания, менял разные провода на шине и на питании, даже менял клеммы, не помогло((.


26-01-2025 18:13:50.668 [wb-mqtt-serial]	WARNING: [modbus] failed to read 10 press_counter(s) @ 66 of device modbus:88: Serial protocol error: malformed response: invalid crc
26-01-2025 18:13:22.059 [wb-mqtt-serial]	WARNING: [modbus] failed to read 2 input(s) @ 270 of device modbus:88: Serial protocol error: malformed response: invalid crc
26-01-2025 18:13:11.867 [wb-mqtt-serial]	WARNING: [modbus] failed to read 10 press_counter(s) @ 66 of device modbus:88: Serial protocol error: malformed response: invalid crc
26-01-2025 18:13:11.867 [wb-mqtt-serial]	WARNING: [modbus] failed to read 10 press_counter(s) @ 66 of device modbus:88: Serial protocol error: malformed response: invalid crc
26-01-2025 18:12:31.118 [wb-mqtt-serial]	WARNING: [modbus] failed to read 2 input(s) @ 270 of device modbus:88: Serial protocol error: malformed response: invalid crc
26-01-2025 18:10:43.306 [wb-mqtt-serial]	WARNING: [modbus] failed to read 2 input(s) @ 270 of device modbus:88: Serial protocol error: malformed response: invalid crc
26-01-2025 18:10:39.245 [wb-mqtt-serial]	WARNING: [modbus] failed to read 2 input(s) @ 270 of device modbus:88: Serial protocol error: malformed response: invalid crc
26-01-2025 18:06:59.418 [wb-mqtt-serial]	WARNING: [modbus] failed to read 2 input(s) @ 270 of device modbus:88: Serial protocol error: malformed response: invalid crc
26-01-2025 18:06:06.443 [wb-mqtt-serial]	WARNING: [modbus] failed to read 3 input(s) @ 121 of device modbus:88: Serial protocol error: malformed response: invalid crc
26-01-2025 18:05:44.117 [wb-mqtt-serial]	WARNING: [modbus] failed to read 10 press_counter(s) @ 66 of device modbus:88: Serial protocol error: malformed response: invalid crc
26-01-2025 18:02:57.390 [wb-mqtt-serial]	WARNING: [modbus] failed to read 5 discrete(s) @ 3 of device modbus:88: Serial protocol error: malformed response: invalid crc
26-01-2025 18:02:16.819 [wb-mqtt-serial]	WARNING: [modbus] failed to read 1 holding(s) @ 100 of device modbus:88: Serial protocol error: malformed response: invalid crc
26-01-2025 17:59:36.366 [wb-mqtt-serial]	WARNING: [modbus] failed to read 1 holding(s) @ 100 of device modbus:88: Serial protocol error: malformed response: invalid data size
26-01-2025 17:59:36.366 [wb-mqtt-serial]	WARNING: [modbus] failed to read 1 holding(s) @ 100 of device modbus:88: Serial protocol error: malformed response: invalid data size
26-01-2025 17:59:01.869 [wb-mqtt-serial]	WARNING: [modbus] failed to read 1 holding(s) @ 100 of device modbus:88: Serial protocol error: malformed response: invalid crc
26-01-2025 17:56:11.449 [wb-mqtt-serial]	WARNING: [modbus] failed to read 2 input(s) @ 270 of device modbus:88: Serial protocol error: malformed response: invalid crc
26-01-2025 17:55:52.470 [wb-mqtt-serial]	WARNING: [modbus] failed to read 2 input(s) @ 270 of device modbus:88: Serial protocol error: malformed response: invalid data size

Как и писал выше ошибки на работоспособность не влияют, но ведь это не нормально и так не должно быть. Прошу помощи. Если нужна будет дополнительная информация или доступ к устройству готово предоставить.

приложен диагностический архив, доступен только сотрудникам поддержки
(289,0 КБ)

Добрый день.

Судя по выводу - ошибка при получении ответа. А как организована шина RS485 к модулю (лучше фото к описанию)? какой терминатор установлен?

Там просто соединены витой парой WB и MCM8 и все. Я только погружаюсь в тему вопроса и прошу сильно не пинать, я так понимаю если это конечное устройство в цепи то там должен стоять такой терминатор WB-T120? И его как подключать, в цепи после MCM8 на контакты A и B?
И еще сопутствующий вопрос, если мы подключаем питание от внешнего блока то gnd к MCM8 берем от WB или от блока питания (-), а плюс с блока питания?

Это не витая пара…

Либо просто резистор на 120.
Да, между A и B.

GND всех устройств на шине должнны быть соединены в люббом случае.
Да, питать можно и от другого БП, конечно.
Какая, кстати, версия прошивки в WB-MCM8?

Да, в данный момент не витая пара, это я поменял, экспериментировал, думал в проводах проблемы. MCM8 версия 1.6.6 я в самом начале писал, версию загрузчика тоже обновил, не знаю как глянуть. Как только модуль подключил и добавил, он сразу предложил обновить прошивку и загрузчик я это и сделал.
Правильно я понял если я использую разные блоки питания то GND(-) этих блоков должны быть соединены между собой?
И по поводу Терминатора хотел уточнить, смотрел у вас в wiki видео про RS-485 и там было сказано, что в самом контроллере уже стоит терминатор (в настройках видел и его можно отключить при необходимости) и для инсталляций с малым количеством модулей и на коротком расстоянии отдельный терминатор можно не использовать, или это все индивидуально?

Да, это актуальная, я уточнил на случай если была установлена другая.

Да.

И на небольшой скорости. Для проверки - понизьте скорость до 9600.
На высокой скорости - обычно нужны два терминатора.

Правильно я понял, два терминатора, это один в самом WB и второй на конце после последнего модуля в цепи?

Да, верно. Про это упомянуто в RS-485:Физическое подключение — Wiren Board

Спасибо за информацию.
На шине понизил скорость до 9600, ошибки пропали
Заказал терминатор, прийдёт, поставлю и верну скорость на 115200

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

 |31-01-2025 21:36:59.285 [wb-mqtt-serial]|WARNING: [modbus] failed to read 3 input(s) @ 121 of device  modbus:88: Serial protocol error: malformed response: invalid crc|
| --- | --- |
31-01-2025 21:34:19.329 [wb-mqtt-serial]|WARNING: [modbus] failed to read 2 input(s) @ 270 of device  modbus:88: Serial protocol error: request timed out|
31-01-2025 21:33:26.740 [wb-mqtt-serial]|WARNING: [modbus] failed to read 5 discrete(s) @ 3 of device  modbus:88: Serial protocol error: request timed out|
31-01-2025 21:32:34.118 [wb-mqtt-serial]|WARNING: [modbus] failed to read 5 discrete(s) @ 3 of device  modbus:88: Serial protocol error: request timed out|
31-01-2025 21:31:41.752 [wb-mqtt-serial]|WARNING: [modbus] failed to read 5 discrete(s) @ 3 of device  modbus:88: Serial protocol error: request timed out|
31-01-2025 21:31:33.678 [wb-mqtt-serial]|WARNING: [modbus] failed to read 2 input(s) @ 270 of device  modbus:88: Serial protocol error: malformed response: invalid crc|
31-01-2025 21:31:15.838 [wb-mqtt-serial]|WARNING: [modbus] failed to read 3 input(s) @ 121 of device  modbus:88: Serial protocol error: request timed out|
31-01-2025 21:30:51.273 [wb-mqtt-serial]|WARNING: [modbus] failed to read 2 input(s) @ 270 of device  modbus:88: Serial protocol error: malformed response: invalid data size|
31-01-2025 18:53:00.847 [wb-mqtt-serial]	WARNING: [modbus] failed to read 3 input(s) @ 121 of device modbus:88: Serial protocol error: malformed response: invalid crc
31-01-2025 18:52:11.822 [wb-mqtt-serial]	WARNING: [modbus] failed to read 2 input(s) @ 270 of device modbus:88: Serial protocol error: malformed response: invalid crc
31-01-2025 18:51:02.865 [wb-mqtt-serial]	WARNING: [modbus] failed to read 5 discrete(s) @ 3 of device modbus:88: Serial protocol error: malformed response: invalid crc
31-01-2025 18:50:24.014 [wb-mqtt-serial]	WARNING: [modbus] failed to read 3 input(s) @ 121 of device modbus:88: Serial protocol error: malformed response: invalid crc
31-01-2025 18:49:59.535 [wb-mqtt-serial]	WARNING: [modbus] failed to read 2 input(s) @ 270 of device modbus:88: Serial protocol error: malformed response: invalid crc
31-01-2025 18:49:25.043 [wb-mqtt-serial]	WARNING: [modbus] failed to read 2 input(s) @ 270 of device modbus:88: Serial protocol error: malformed response: invalid crc
31-01-2025 18:49:14.746 [wb-mqtt-serial]	WARNING: [modbus] failed to read 1 holding(s) @ 100 of device modbus:88: Serial protocol error: malformed response: invalid crc
31-01-2025 18:48:41.974 [wb-mqtt-serial]	WARNING: [modbus] failed to read 2 input(s) @ 270 of device modbus:88: Serial protocol error: malformed response: invalid crc
31-01-2025 18:46:19.722 [wb-mqtt-serial]	WARNING: [modbus] failed to read 2 input(s) @ 270 of device modbus:88: Serial protocol error: malformed response: invalid crc
31-01-2025 18:42:45.259 [wb-mqtt-serial]	WARNING: [modbus] failed to read 2 input(s) @ 270 of device modbus:88: Serial protocol error: malformed response: invalid crc
31-01-2025 18:42:45.259 [wb-mqtt-serial]	WARNING: [modbus] failed to read 2 input(s) @ 270 of device modbus:88: Serial protocol error: malformed response: invalid crc
31-01-2025 18:42:39.123 [wb-mqtt-serial]	WARNING: [modbus] failed to read 2 input(s) @ 270 of device modbus:88: Serial protocol error: malformed response: invalid crc
31-01-2025 18:42:04.695 [wb-mqtt-serial]	WARNING: [modbus] failed to read 2 input(s) @ 270 of device modbus:88: Serial protocol error: malformed response: invalid crc
31-01-2025 18:40:30.026 [wb-mqtt-serial]	WARNING: [modbus] failed to read 2 input(s) @ 270 of device modbus:88: Serial protocol error: malformed response: invalid crc

В общем не замена проводов не использование терминатора не решило проблему.
Что делать, как быть?
Вот фото подключения


приложен диагностический архив, доступен только сотрудникам поддержки
(328,4 КБ)

Это может быть проблема с модулем? Все ваши рекомендации учтены но толку 0, ошибки продолжают сыпаться раз в 2 минуты.

Пробую воспроизвести.
Для этого беру WB-MCM8. Настаиваю как сам модуль так и шину на скорость 115200.

В модуль залил (для проверки) прошивку 1.6.4
echo -e $(modbus_client -mrtu -pnone -s2 -b115200 /dev/ttyRS485-1 -a 28 -t3 -r 250 -c 15 | grep Data | sed -e ‘s/.*Data://’ -e ‘s/ 0x00/\x/g’)
1.6.4

Ошибок не получаю.
На порту 1 контроллера - так же?

Я выше писал у меня версия 1.6.6.

echo -e $(modbus_client -mrtu -b115200 -pnone -s2 /dev/ttyRS485-2 -a88 -t0x03 -r250 -c 16 | grep Data | sed -e 's/.*Data://' -e 's/ 0x00/\\x/g')
1.6.6

может это действительно с версией что-то?
все подключено в соответствии с RS-485:Физическое подключение — Wiren Board
Стоит терминатор, даже провод у вас заказал, все обжато НШВИ, расстояние минимальное. Пробовал переключать модуль на порт RS485-1 но без изменений.
А еще меня смущает запись в wb-mqtt-serial.conf хотя может так и должно быть, параметр в модуле “baud_rate” : 1152, такое ощущение будто нулей не хватает, или так и должно быть?

{
      "baud_rate" : 115200,
      "data_bits" : 8,
      "devices" : 
      [
        {
          "baud_rate" : 1152,
          "channels" : 
          [
            {
              "enabled" : false,
              "name" : "Input 2 counter"
            },
            {
              "enabled" : false,
              "name" : "Input 2 Double Press Counter"
            },
            {
              "enabled" : false,
              "name" : "Input 2 Shortlong Press Counter"
            },
            {
              "enabled" : false,
              "name" : "Input 3 counter"
            },
            {
              "enabled" : false,
              "name" : "Input 3 Double Press Counter"
            },
            {
              "enabled" : false,
              "name" : "Input 3 Shortlong Press Counter"
            },
            {
              "enabled" : false,
              "name" : "Input 1 counter"
            },
            {
              "enabled" : false,
              "name" : "Input 7 counter"
            },
            {
              "enabled" : false,
              "name" : "Input 1 Long Press Counter"
            },
            {
              "enabled" : false,
              "name" : "Input 7 Double Press Counter"
            },
            {
              "enabled" : false,
              "name" : "Input 7 Shortlong Press Counter"
            },
            {
              "enabled" : false,
              "name" : "Input 1 Double Press Counter"
            },
            {
              "enabled" : false,
              "name" : "Input 1 Shortlong Press Counter"
            },
            {
              "enabled" : true,
              "name" : "Supply voltage"
            },
            {
              "enabled" : true,
              "name" : "MCU Voltage"
            }
          ],
          "device_type" : "WB-MCM8",
          "in1_debounce_ms" : 50,
          "in1_mode" : 1,
          "in2_debounce_ms" : 50,
          "in2_lp_hold_time" : 700,
          "in2_mode" : 1,
          "in3_debounce_ms" : 50,
          "in3_lp_hold_time" : 700,
          "in3_mode" : 1,
          "in7_debounce_ms" : 50,
          "in7_lp_hold_time" : 700,
          "in7_mode" : 1,
          "slave_id" : "88"
        }
      ],
      "enabled" : true,
      "parity" : "N",
      "path" : "/dev/ttyRS485-2",
      "stop_bits" : 2
    }

Обновил версию контроллера до wb-2501 stable но ничего не изменилось.

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

Вот диагностический файл, как просили

приложен диагностический архив, доступен только сотрудникам поддержки
(372,5 КБ)

Вы изучили диагностическую информацию, можете что нибудь сказать по моей проблеме?

Добрый день!

Проблема видна на физическом уровне по логам, но на фото этого не должно быть.

Посоветуюсь с коллегами, возможно, совместно удастся найти решение.

Спасибо большое, буду ждать ответа.
Переключение модуля на 1 порт rs485, результата не дало, переключение питания на прямую от блока питания тоже. Думал может наводки от wifi который недалеко находится, его отключил но не помогло. Силовых кабелей рядом тоже нет. Использование проводов разного сечения тоже не помогло. Единственное, что помогает это снижение скорости до 9600. Снижение до 57600 особого результата не дало. Хочется использовать максимум от протокола это 115200 и быстрый ModBus

Судя по выводу есть или источник помехи рядом или что-то с модулем.

Предлагаю заменить - исследуем у себя. Какой у модуля серийный номер?