WB MSW v.3: на любой запрос чтения устройство отправляет ошибку 0x03

3 из 6 купленных WB MSW v.3 отвечают ошибкой на любой запрос чтения.
Запись в регистры пищалки и светодидов работают.

Пример запроса и ответ:

INFO: Frame sent: 7303008000018F30
INFO: Frame recv: 738303A12A

Запросы посылаю просто c компа через tty (через usb-rs485 адаптер).
Остальные 3 работают без проблем.

Добрый день!

Попробуйте, пожалуйста, считать с них данные через какую-нибудь специализированную утилиту для работы с Modbus, и пришлите скриншоты с результатом для “нормальных” датчиков и “сбоящих”.

Доброго вечера!

Это и есть специализированная программа для работы с modbus, на java.
Какие конкретно данные нужно считать?
В двух постах ниже заскриншотил и отправил логи с чтением регистров с состоянием, конфигурацией и информацией об устройстве.

Напомню, что любой запрос чтения приводит к такой ошибке. И регистров и флагов.

И еще в догонку: запись работает исключительно во флаги. Запись в регистры тоже возвращает ошибку 0x03.

C рабочего устройства:


Подробные логи (с отправленными битиками)

Initializing modbus master...
serial ports:
/dev/tty.usbserial-A945SDW6
using /dev/tty.usbserial-A945SDW6 baudRate=9600 dataBits=8 parity=0 stopBits=2
INFO: Frame sent: 59030080000188FA
INFO: Frame recv: 590302005959B3
INFO: Frame sent: 59030080000188FA
INFO: Frame recv: 590302005959B3
INFO: Frame sent: 5903010E0002A92C
INFO: Frame recv: 590304FE4B9CD68A96
INFO: Frame sent: 590300C80006492E
INFO: Frame recv: 59030C00570042004D0053005700331051
INFO: Frame sent: 590300FA0013292E
INFO: Frame recv: 5903260034002E0036002E00310000000000000000000000000000000000000000000000000001801F48DD
INFO: Frame sent: 590300DC001548E7
INFO: Frame recv: 59032A004A0075006E00200031003800200032003000310039000000300035003A00340037003A0034003200004532
=== 89 FE4A9E8B WBMSW3 4.6.1 Jun 18 2019 ===
INFO: Frame sent: 59030068000248CF
INFO: Frame recv: 59030400000029E228
Uptime = 41 sec
INFO: Frame sent: 59030079000158CB
INFO: Frame recv: 5903022D8FC57D
Voltage = 11663 mV

INFO: Frame sent: 5903000000018912
INFO: Frame recv: 59030200DFD811
Temperature = 22.3 °C
INFO: Frame sent: 590300010001D8D2
INFO: Frame recv: 590302012E1805
Humidity = 30.2 %RH
INFO: Frame sent: 5903000300017912
INFO: Frame recv: 5903020B9BDF12
Noise = 29.71 dB
INFO: Frame sent: 5903000900021911
INFO: Frame recv: 59030400000FA0267E
Light = 40.0 Lk
INFO: Frame sent: 59030118000108E9
INFO: Frame recv: 5903020070986D
Motion max = 112
INFO: Frame sent: 5903011900015929
INFO: Frame recv: 59030208255F92
Motion current = 2085
INFO: Frame sent: 5903011B0001F8E9
INFO: Frame recv: 590302003BD85A
Motion avg = 59
INFO: Frame sent: 59030008000108D0
INFO: Frame recv: 59030200A3D9F0
CO2 = 163 PPM
INFO: Frame sent: 5903000B0001F8D0
INFO: Frame recv: 590302FFFF9839
Air quality = ERROR

INFO: Frame sent: 590300F500019920
INFO: Frame recv: 59030200009989
Temperature offset = 0.0 °C
INFO: Frame sent: 5903005A0001A901
INFO: Frame recv: 59830380E2
Light avg time = IO ERROR
INFO: Frame sent: 5903005B0001F8C1
INFO: Frame recv: 59030200161847
Noise avg time = 2.2 Days
INFO: Frame sent: 590300610001D8CC
INFO: Frame recv: 5903020003D988
LED blink rate = 3 sec
INFO: Frame sent: 59030062000128CC
INFO: Frame recv: 590302001E1981
LED blink duration = 30 ms
INFO: Frame sent: 5903011A0001A929
INFO: Frame recv: 590302000A198E
Motion avg period = 10 s
INFO: Frame sent: 59030058000108C1
INFO: Frame recv: 59830380E2
CO2 baseline = IO ERROR
INFO: Frame sent: 5903005900015901
INFO: Frame recv: 59830380E2
CO2 Calibration Period = IO ERROR
INFO: Frame sent: 5903005F0001B900
INFO: Frame recv: 59030200015849
CO2 atmosphere baseline flag = 1 Boolean
INFO: Frame sent: 590300600001890C
INFO: Frame recv: 59030207D09A25
CO2 range = 2000 PPM

C нерабочего устройства:

58

Логи с битиками:

Initializing modbus master...
serial ports:
/dev/tty.usbserial-A945SDW6
using /dev/tty.usbserial-A945SDW6 baudRate=9600 dataBits=8 parity=0 stopBits=2
INFO: Frame sent: 7303008000018F30
INFO: Frame recv: 738303A12A
115: IO ERROR ILLEGAL_DATA_VALUE: Exception Code = 3
INFO: Frame sent: 7303008000018F30
INFO: Frame recv: 738303A12A
INFO: Frame sent: 7303010E0002AEE6
INFO: Frame recv: 738303A12A
INFO: Frame sent: 730300C800064EE4
INFO: Frame sent: 730300FA00132EE4
INFO: Frame recv: 738303A12A
INFO: Frame sent: 730300DC00154F2D
INFO: Frame recv: 738303A12A
=== IO ERROR IO ERROR null null null ===
INFO: Frame sent: 7303006800024F05
Uptime = IO ERROR
INFO: Frame sent: 7303007900015F01
INFO: Frame recv: 738303A12A
Voltage = IO ERROR

INFO: Frame sent: 7303000000018ED8
INFO: Frame recv: 738303A12A
Temperature = IO ERROR
INFO: Frame sent: 730300010001DF18
Humidity = IO ERROR
INFO: Frame sent: 7303000300017ED8
INFO: Frame recv: 738303A12A
Noise = IO ERROR
INFO: Frame sent: 7303000900021EDB
INFO: Frame recv: 738303A12A
Light = IO ERROR
INFO: Frame sent: 7303011800010F23
INFO: Frame recv: 738303A12A
Motion max = IO ERROR
INFO: Frame sent: 7303011900015EE3
Motion current = IO ERROR
INFO: Frame sent: 7303011B0001FF23
INFO: Frame recv: 738303A12A
Motion avg = IO ERROR
INFO: Frame sent: 7303000800010F1A
INFO: Frame recv: 738303A12A
CO2 = IO ERROR
INFO: Frame sent: 7303000B0001FF1A
Air quality = IO ERROR

INFO: Frame sent: 730300F500019EEA
INFO: Frame recv: 738303A12A
Temperature offset = IO ERROR
INFO: Frame sent: 7303005A0001AECB
INFO: Frame recv: 738303A12A
Light avg time = IO ERROR
INFO: Frame sent: 7303005B0001FF0B
Noise avg time = IO ERROR
INFO: Frame sent: 730300610001DF06
INFO: Frame recv: 738303A12A
LED blink rate = IO ERROR
INFO: Frame sent: 7303006200012F06
INFO: Frame recv: 738303A12A
LED blink duration = IO ERROR
INFO: Frame sent: 7303011A0001AEE3
Motion avg period = IO ERROR
INFO: Frame sent: 7303005800010F0B
INFO: Frame recv: 738303A12A
CO2 baseline = IO ERROR
INFO: Frame sent: 7303005900015ECB
INFO: Frame recv: 738303A12A
CO2 Calibration Period = IO ERROR
INFO: Frame sent: 7303005F0001BECA
CO2 atmosphere baseline flag = IO ERROR
INFO: Frame sent: 7303006000018EC6
INFO: Frame recv: 738303A12A
CO2 range = IO ERROR

Здравствуйте. Обратите внимание на светодиод. Как он себя ведет.
Первые две секунды после подачи питания устройство находится в режиме загрузщика, светодиод мигает. После этого устройство запускает прошивку, светодиод перестает мигать, просто постоянно горит. Далее устройство должно мигать только при опросе. Если же после 2х секунд после подачи питания светодиод продолжил мигать, то скорее всего не запускается основная прошивка. Подробнее о режиме загрузщика можно почитать в статье на вики . Расскажите пожалуйста подробнее, что происходило с датчиками после покупки. Вы пробовали прошивать их самостоятельно?

Добрый день.

Да, я дожидался пока светодиод перестанет мигать. Отправлял запросы только после этого.

Отправляю запросы когда светодиод горит непрерывно. При отправке запроса светодиод моргает (и на устройстве которое отправляет нормальный ответ и на устройстве которое отправляет ошибку с кодом 0x03).

Нет, я не перепрошивал его. После покупки переместил CO2 датчик с устройства которое не отправляло ответ на устройстов которое отправляет. Остальные четыре (из шести) не трогал вовсе.

@Ianni скажите, можно ли с вами связаться по телефону, для более быстрого решения проблемы? Я готов заказать 3 дополнительных датчика с расчетом на то что текущие три починятся в будущем. Для того чтобы работа не стояла. Очень хочется закончить проект.

Добрый день. Мне очень жаль, что произошла такая ситуация. Перед отгрузкой все устройства проходят тщательную проверку и должны функционировать как положенно. Пожалуйста свяжитесь с нашими менеджерами для замены датчиков на новые (info@contactless.ru). В письме сошлитесь на эту тему. Благодарю за терпение!