Шлюз mqtt-modbus tcp и внешнее устройство rs485

  1. Wiren Board 7 (интерфейс WebUI)
  2. Подключено стороннее устройство rs485 на вторую шину rs485
  3. Прописано в Настройка драйвера для серийных устройств (скорость, параметры обмена, канал, тип запрашиваемых данных)
  4. В закладке Каналы MQTT вижу прописанный канал и вижу изменение получаемого значения при изменении положения датчика, подключенного к стороннему устройству (изменение значения приходят в течении 1с - это нормально, т.к. сам датчик еще усредняет для устранения дребезга)
  5. В закладке Шлюз MQTT-modbus tcp slave данный канал появляется в input-регистрах
    {
    “byteswap”: false,
    “format”: “signed”,
    “max”: 0,
    “scale”: 1,
    “size”: 2,
    “wordswap”: false,
    “address”: 2543,
    “enabled”: true,
    “meta_type”: “range”,
    “topic”: “wb-modbus-1-0/angle”,
    “unitId”: 88
    }
  6. При запросе с компьютера данных по modbus вижу ответ контроллера и состояние датчика

Но при изменении состояния датчика в каналах MQTT вижу изменения значения через 1с, а вот при запросах по modbus вижу изменения только через 5 мин
Что-то где-то недонастроено?

Добрый день.
Пришлите диагностический архив. Укажите ревизию контроллера и версию ПО.

версия 202312161925
ревизия 7.3.4J/3

не понял как только прикрепить диаг.файл здесь или его куда-то выложить нужно?

Диагностический архив сюда присылайте.

приложен диагностический архив, доступен только сотрудникам поддержки
(122,2 КБ)

Включите отладочный режим в настройках wb-mqtt-mbgate, посмотрите, что с датчика изменилось состояние, выключите отладочный режим и пришлите лог wb-mqtt-mbgate.

не совсем понял, какой из логов нужно приложить, приложил из системного журнала (2-3 раза поменял состояние датчика wb-modbus-1-0/angle, проверяя через интерфейс изменение)

wb-mqtt-mbgate_20240118T143029.log (50,1 КБ)

Включите отладочный режим для wb-mqtt-mbgate.
Такое ощущение, что и опроса нет от вашего Modbus TCP сервера. При удачном обмене во включенном отладочном режиме должен быть виден обмен и подключение.

итак иллюстрация в картинках - 001-009 - последовательные действия по изменению состояния датчика с проверкой через wireshark
100-101 - изменение состояние и снят лог - последние 3 команды модбас должны былы вернуть 1,
а по факту вернули 0

я по электронной почте переслал вложения, т.к. через этот интерфейс неудобно

Здравствуйте, Михаил.

Вы писали 18 января 2024 г., 15:33:16:

wb-mqtt-mbgate_20240118T155156.log (4.32 KB)

похоже 009 запорол, сделал таким же как 008

Не улавливаю ход ваших мыслей. Уточните, что имеете ввиду.

когда формировал картинки из wireshark, то при показе записал 2 одинаковых картинки 008 и 009, хотел показать запрос-ответ как на картинках 004-005

и еще на тему конфигурации, собрана система из 8 модулей wb, все работают прекрасно, считываются-управляются - вопросов нет, пришлось делать обновление прошивки только для того, чтобы получить включение выходов по умолчанию (с прошивкой, которая была в контроллере галочки в интерфейсе были, но работали только на выходах самого контроллерах, на выходах внешних модулей не работали, после обновления всё стало работать как надо).

Решение вопроса будет? Мне нужно озвучить заказчику задержку

Добрый день.
Простите за долгий ответ.

При запросе по Modbus TCP стояния датчика ответ приходит с актуальным состоянием датчика? Если да, то немного не понятно в чем вопрос.

Я пока этого не вижу в логе wb-mqtt-mbgate (в последнем присланном логе я вижу только данные за одно и то же время 2024-01-18T10:51:52.607Z - вряд ли в него могут попасть два состояния разных). Включите отладочный режим для wb-mqtt-mbgate и для wb-mqtt-serial, измените состояние датчика пару раз и пришлите данные логи. По ним можно судить о описанной вами проблеме.

Состояние датчика в интерфейсе меняется (как на картинках), по модбас нет. Если датчик был в 0, он будет отдавать 0 по модбас, даже если сменится его состояние, в приложенном логе я изменил состояние датчика, картинка 100 - это состояние 0, по логу - это 2 первых запроса по модбас, картинка 101 - это состояние 1, по логу - это 3 последних запроса по модбас. Изменение состояния по модбас можно дождаться через 5 минут, после этого будет передаваться новое состояние датчика. Лог и картинки 100-101 сделаны как вы запрашивали

и еще странно, что в лог пишется одно и тоже же время, тестирую обмен с помощью программы тестера модбас по нажатию на кнопку, даже между двумя командами не менее 1 секунды была задержка, между первой командой и последней по времени был промежуток не менее 30 сек (сделал первую картинку 100 , записал через mspaint в файл, сделал 2 запроса с небольшим промежутком, изменил состояние датчика, сделал вторую картинку 101, записал через mspaint в файл, сделал 3 запроса с небольшим промежутком). Если это недостаточно, могу записать видео