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