Может быть проблема в wb-mio-e ? При подключении напрямую к контроллеру мне кажется проблем не будет, но тк станция установлена, перетащить одно к другому возможности нету. Как вариант могу провод зачистить и подключить напрямую а не через mio, там длина в районе 20-30м
Попробовать, конечно, можно…
Получилось (подключение напрямую для проверки)?
Пока не было возможности попасть и проверить.
А какой выставлен перод опроса регистров такой, что он не успервает опроситься?
Да пробовал разные значения от 1000мс до 5000мс
также дополнительная задержка перед записью в порт (мкс) 100000 и 200000 на второй.
Нет, период опроса. Вот этот:
Период опроса не задан, стоит по умолчанию. Ранее с ним тестировал, ни на что не повлияло. Пробовать поставить какой-то период?
Я сталкивался, что некоторые устройства довольно нестабильно работают по Modbus и-за особенностей прошивки. Например, нам так и не удалось настроить работу без ошибок с одним частотным преобразователем. Все работает, но периодически каналы мигают красным, а в логах ошибки обмена.
Но они ведь работают корректно напрямую, тоже самое утверждает производитель, что подключить и считывать без участия стороннего оборудования (типа контроллера в нашем случае и wb-mioev2) - работает корректно и без ошибок, рекомендации смотреть в сторону оборудования. В нашем варианте оборудование имеет гибкие настройки и понять бы куда копать.
Точно, там шлюз же. Я ловил периодическую красноту на 9600 с mge и на наших устройствах, решилось поднятием скорости на 115200.
Не исследовал, возможно, шлюз вносит небольшую задержку. Но вроде от пользователей такого не слышал.
Это был первый вопрос в производителю можно ли поднять скорость - такой возможности нету тк нужно переписывать ПО, поэтому только 9600 ((
Добрый день, пока нет. На данный момент ждем еще один модуль rs485 от станции чтобы исключить все возможные вопросы со стороны станции.
Пришел новый модуль - проблема осталась к сожалению, видимо все же со стороны WB надо копать, если честно уже много вариантов перепробовал возможных со всеми параметрами, тут видимо только с железом остается вариант.
Так…
Как я вижу: Контроллер (master) отправляет команду на slave.
Нормальная работа:
- команда отправлена.
- в течении времени timeout ожидается (корректный) ответ.
- если получан корректный ответ - то и хорошо.
- если получено “что-то” - будет ошибка crc, как правило.
Тут:
- отправляется команда чтения.
- На нее никакого ответа не получается, выводится ошибка таймаута.
Советую: попробовать почитать устройство с помощью Утилита «modbus_client» — Wiren Board
Начать с чтения раз в 100 мс, оценить количество ответов.
Уже все возможные тайм-ауты перепробовал. Может у вас будет возможность подключиться и протестировать и найти вариант?
Не “таймауты”. Настраивать уже драйвер - можно только убедившись что устройство вообще отвечает на каждый, то есть именно каждый запрос к нему. Для этого - выполните эти запросы синтетически, можно вручную. Я - могу подключиться, но разве есть разница кто будет писать скрипт?
Разница есть, видимо у меня не хватает знаний в этой области чтобы справиться. Могу в лс скинуть доступы.