Быстрый modbus через преобразователь RTU over TCP

приложен диагностический архив, доступен только сотрудникам поддержки
(2,6 МБ)
Добрый день. Ситуация следующая. Ранее два устройства( wb-map3e и wb-mr6c v3) были подключены на аппаратный порт контроллера RS485. Проблем в работе кроме известной ошибки crc и timeout не наблюдали Переключил опрос устройств через преобразователь rtu over tcp.Без проблем все быстрым поиском добавилось. В работе никаких ошибок и предупреждений нет,даже crc и timeout. Но перестал работать опрос через быстрый modbus устройства wb-mr6c v3. В вэб интерфейсе все контролы этого устройтсва есть,они даже не краснеют,но все контролы что опрашиваются через быстрый modbus состояние не меняет,хотя физически состояние меняется. Через вэб интерфейс можно только вкл/выкл реле.Все что опрашивается обычным опросом(например напряжение МК) без проблем работает. В настройках опроса входов и выходов wb-mr6c v3 можно либо отключить,либо опрашивать через быстрый modbus. Мне быстрый modbus не особо и нужен. Как отлючить опрос через быстрый modbus или прокинуть его через преобразователь?

Добрый день! А какой у вас преобразователь? Судя по диагностике, это не наш MGE, но лучше уточнить непосредственно у вас, чем гадать.

Да преобразователь не Ваш MGE. Сейчас стоит преобразователь USR-DR134,опробованы преобразователи Moxa Nport 5150,Waveshare. Почему то быстрый поиск и обновление прошивки работает через сторонний преобразователь.

А функции “Modbus poll function” / “Edge Acquisition” отключены? Я про DR134.

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

Все отключено.

Я на быстрый модбас и не претендую. Если интересно разобраться,то давайте разберемся. Мне достаточно запустить устройство по обычному опросу.

Покажите, пожалуйста, вкладку Port Parameter.


Я правильно понимаю, что у вас два таких устройства? Одно подключено к контроллеру по порту Rs, второе связано по Rs с модулями, а между устройствами прокинута линия ethernet? Контроллер опрашивает модули по Modbus RTU.

Или у вас обычный преобразователь RTU-TCP, а контроллер работать по протоколу Modbus TCP?

У меня один преобразователь. К нему по RS-485 подключены модули. Контроллер опрашивает преобразователь по локальной сети.
Никакое преобразование протокола modbus в преобразователе не настроено. Он пересылает пакеты физического порта RS-485 в пакеты TCP, что я так понимаю соответствует modbus RTU over TCP. Если на устройстве включить преобразование modbus RTU to modbus TCP и на контроллере завести устройство как modbus TCP, то опрос тоже работает без проблем, но устройства не ищутся быстрым поиском и нельзя обновлять прошивку. Поэтому выбран режим modbus RTU over TCP. Прошу заметить что никаих ошибок и предупреждений в опросе драйвера serial нет.
Ниже скрины как опрашиваю через modbus poll предварительно отключив опрос устройств в контроллере.

Добрый день. Извините, что поморочил вам голову, ведь вы изначально сообщили, что можете спокойно пожертвовать быстрым модбасом. Каналы быстрого модбаса можно перевести в режим обычного. Пришлите, пожалуйста, ваш конфиг /etc/wb-mqtt-serial.conf и напомните, какой девайс надо перенастроить, и я верну скорректированный.

Процесс описан в статье: Быстрый Modbus ⚡ - Wiren Board?

Но я недавно проводил множество изысканий на эту тему, и, что называется, “рука набита”, так что быстрее будет, если я поправлю ваш конфиг, чем вы будете долго разбираться. Единственное замечание, быстрый модбас отключается только для каналов. Устройство продолжит ответчать на широковещательный запрос от мастера, но в данном случае, как мне кажется, это некритично.

Правильно я выгрузил из папки /mnt/data/etc/?
wb-mqtt-serial.conf (8,7 КБ)

Я отлючил быстрый модбас на всех каналах устройства MR6C. Сделайте бэкап своего конфига, скопируйте мой и перезапустите сервис.

wb-mqtt-serial.conf (11,2 КБ)

Благодарю. Вопрос решен.