Добрый день, ситуация страшная; мой WB-MSW v.3 подключён к компьютеру через адаптер CH341A rs-485–>usb, всё работало, затем час постояло во включённом режиме и перестало работать чтение регистров, в modbus poll вываливает две ошибки при чтении: на каждый пятый запрос – checksum error, остальные запросы – insufficient bytes received, при этом запись работает – красный/зелёный индикаторы включаются/выключаются без проблем.
Насчёт установок параметров передачи – 9600, 8, none, 2. На всякий случай установил руками через modbus poll – не помогло.
Пробовал командой: [.\wb-mcu-fw-flasher_1.0.3.exe -j -d COM12 -a 27 -u] сбросить к заводским настройкам – настройки сбросились – перестал отвечать по 27 адресу. Затем выдал сообщение на адрес 0 на установку modbus адреса – стал отвечать, но проблема осталась.
При этом, если читаю с адресов, которые у меня точно не подключены, то вывод такой:
При этом если датчик отключён, то modbus poll выдаёт timeout error, что верно, а значит, получается, адаптер rs-485–>usb работает, но значит ли это, что умер датчик?
Пришлите, пожалуйста, фото адаптера или ссылку на товар, чтобы понимать, о чем речь, фото подключения (со стороны адаптера и со стороны датчика), скриншоты настроек в ModbusPoll и сырые данные обмена с датчиком.
Проверьте, нет ли проблем с физическим подключением. При отключенном питании и опросе с помощью мультиметра убедитесь, что в проводах нет обрыва, и нет замыкания между праводами А и B. Также рекомендуется соединить GND датчика и GND адаптера.
Если есть еще modbus-устройства, то попробуйте установить связь с ними, чтобы проверить работоспособность адаптера. Если к адаптеру не подключено ни одно из устройств, то также принимаются нулевые байты?
Корректно ли выставлены настройки опроса устройств (проверьте, что таймаут ответа не менее 500 мс, период опроса не менее 1 с). Перезагрузите компьютер и датчик, также можно попробовать использовать другую программу, например, QModMaster.
Хочу ещё заметить, что вот как только я выключаю питание, но продолжаю опрашивать – данные читаются и верно, пока остаётся остаточное питание на датчике.
Тогда еще уточните, какой источник питания используется для датчика (напряжение, мощность)? Измерьте напряжение на датчике в момент, когда обмен идет без ошибок.
С физическим подключением нет проблем, все провода успешно звонятся, замыканий нет.
Если к адаптеру не подключено ни одно из устройств, то нулевые байты не принимаются, но если подключить любое устройство, при этом считывать с недостижимого адреса – то читаются нулевые байты.
Настройки опроса:
Адаптер принимает нулевые байты до начала ответа датчика и после, похоже на проблему адаптера. Датчик отвечает всегда правильно.
А если отключить блок питания от сети на некоторое время, а потом снова включить заработает? Может, блок питания переходит через некоторое время в энергосберегающий режим, не имея нагрузки?
Проверьте напряжение питания на датчике. Попробуйте еще использовать другой блок питания.
Боюсь что никак, хотя… с адаптера идут два провода, прост коннекчу их к V+ и GND датчика, адаптер и комп включены в офисную сеть, здесь есть заземление в розетках. По моему некомпетентному мнению минус блока питания должен быть соединён с GND, получается, датчик заземлён)