# ModbusRTU slave и ответ на ошибку СRC

**URL:** <https://support.wirenboard.com/t/modbusrtu-slave-i-otvet-na-oshibku-src/20540>\
**Category:** Периферийные устройства\
**Created:** [June 17, 2024, 5:56am UTC](https://support.wirenboard.com/t/modbusrtu-slave-i-otvet-na-oshibku-src/20540 "2024-06-17T05:56:31Z")\
**Posts on this page:** 7\
**Page:** 1

<div class="post-metadata">

**Author:** ![Jury\_yamal](https://avatars.discourse-cdn.com/v2/letter/j/b77776/32.png) [@Jury\_yamal](https://support.wirenboard.com/u/Jury_yamal)\
**Post date:** [June 17, 2024, 5:56am UTC](https://support.wirenboard.com/t/modbusrtu-slave-i-otvet-na-oshibku-src/20540/1 "2024-06-17T05:56:31Z")

</div>

Добрый день.  
Имеется стороннее модбус slave устройство на шине вместе с другими модулями WB (MAI6 -1 шт, MAO4-шт). Порт настроен на 115200,8,N,1 длинны проводов 200 мм. Сделал шаблон для устройства (опрашивается только один регистр) и прописал в шаблоне guard interval= 334 (для 115200) но не помогает. После начала обмена через 5-30 секунд устройство перестает отвечать, помогает только перезагрузка по питанию.  
Если посадить на отдельный порт вроде такой проблемы нет (но хочется добиться определенности почему так происходит).  
Если остановить обмен и посылать через терминал вручную то все запросы проходят нормально. Проблема именно когда на шине идет интенсивный обмен с другими устройствами WB/  
При разговоре с производителем выяснилось следующее - устройство при получении пакета с неправильным CRC не посылает ответ мастеру. А должно ли ? и какой ответ о ошибке посылать(№)? или просто не отвечаем и мастер по истечении таймаута должно переспросить?. Подскажите куда копать.

---

<div class="post-metadata">

**Author:** ![BrainRoot](https://avatars.discourse-cdn.com/v2/letter/b/c2a13f/32.png) [@BrainRoot](https://support.wirenboard.com/u/BrainRoot)\
**Post date:** [June 17, 2024, 9:47am UTC](https://support.wirenboard.com/t/modbusrtu-slave-i-otvet-na-oshibku-src/20540/3 "2024-06-17T09:47:59Z")

</div>

Добрый день.

> [@Jury\_yamal](#):
>
> После начала обмена через 5-30 секунд устройство перестает отвечать, помогает только перезагрузка по питанию.

Крайне интересно. А какое количество запросов успевает пройти?

> [@Jury\_yamal](#):
>
> При разговоре с производителем выяснилось следующее - устройство при получении пакета с неправильным CRC не посылает ответ мастеру. А должно ли ?

Нет, не должно отвечать. А у вас есть подозрение что мастер отправляет именно неверные CRC, и только одном устройству?

Советую для начала - отключить опрос остальных устройств на шине, естественно не отключая физически и включать по одному.

---

<div class="post-metadata">

**Author:** ![Jury\_yamal](https://avatars.discourse-cdn.com/v2/letter/j/b77776/32.png) [@Jury\_yamal](https://support.wirenboard.com/u/Jury_yamal)\
**Post date:** [June 17, 2024, 10:31am UTC](https://support.wirenboard.com/t/modbusrtu-slave-i-otvet-na-oshibku-src/20540/4 "2024-06-17T10:31:55Z")

</div>

> [@BrainRoot](#):
>
> Крайне интересно. А какое количество запросов успевает пройти?

Не замерял, но всегда по разному (ориентируюсь по времени до “отвала”).  
Если отключить опрос других устройств, то в течении 12 часов устройство не отключалось. При включении опроса (в веб интерфейсе) MAI 6 , то устройство уходит в “даун” перестает отвечать. В логах “ошибка таймаута” , при этом все каналы mai 6 (12 шт) опрашиваются без ошибок

---

<div class="post-metadata">

**Author:** ![BrainRoot](https://avatars.discourse-cdn.com/v2/letter/b/c2a13f/32.png) [@BrainRoot](https://support.wirenboard.com/u/BrainRoot)\
**Post date:** [June 17, 2024, 1:02pm UTC](https://support.wirenboard.com/t/modbusrtu-slave-i-otvet-na-oshibku-src/20540/5 "2024-06-17T13:02:25Z")

</div>

Не исключено что оно не умеет работать с другими на одной шине. Возможно - воспринимает запросы на чужие адреса как свои. Пока мало информации. Посмотрите в лог, включив debug для wb-mqtt-serial, например.

---

<div class="post-metadata">

**Author:** ![Jury\_yamal](https://avatars.discourse-cdn.com/v2/letter/j/b77776/32.png) [@Jury\_yamal](https://support.wirenboard.com/u/Jury_yamal)\
**Post date:** [June 24, 2024, 11:26am UTC](https://support.wirenboard.com/t/modbusrtu-slave-i-otvet-na-oshibku-src/20540/6 "2024-06-24T11:26:08Z")

</div>

Вы оказались правы. Устройство в первоначальном варианте не умело "сидеть " на шине вместе с другими устройствами. После разговора с производителем и исправлением ошибки , обмен наладился.

---

<div class="post-metadata">

**Author:** ![BrainRoot](https://avatars.discourse-cdn.com/v2/letter/b/c2a13f/32.png) [@BrainRoot](https://support.wirenboard.com/u/BrainRoot)\
**Post date:** [June 24, 2024, 2:14pm UTC](https://support.wirenboard.com/t/modbusrtu-slave-i-otvet-na-oshibku-src/20540/7 "2024-06-24T14:14:16Z")

</div>

Ну, отлично. А каким способом удалось устранить проблему? Что производитель посоветовал?

---

<div class="post-metadata">

**Author:** ![Jury\_yamal](https://avatars.discourse-cdn.com/v2/letter/j/b77776/32.png) [@Jury\_yamal](https://support.wirenboard.com/u/Jury_yamal)\
**Post date:** [June 25, 2024, 5:05am UTC](https://support.wirenboard.com/t/modbusrtu-slave-i-otvet-na-oshibku-src/20540/8 "2024-06-25T05:05:47Z")

</div>

Изменил прошивку (вроде как он правил таймауты )
