Обмен данными по Modbus TCP WB7-Spruthub

Добрый день!

Просьба подсказать как правильно настроить обмен по Modbus TCP между WB7 и SprutHub. Базовые вводные:

  1. WB7 настроен, обновлен на текущую дату, работает. Сервер модбас на 502 порту запущен, работает, его я вижу и через консоль отдельные параметры могу читать;

  2. SH (через stick на MOD4) настроен, работает (обмен по MQTT проходит, устройства вижу). Настроен на SH Modbus TCP контроллер - ошибок не выдает, сервер на WB7 видит.

SH не находит устройства на Modbus TCP, а при добавлении в ручную пишет устройство недоступно (хотя я могу прочесть отдельные проброшенные топики, если вручную прописываю адрес, регистр). Думаю, что не совсем корректно понимаю настройку Modbus на WB7. По умолчанию в Шлюз MQTT - Modbus RTU/TCP slave попадают все устройства и автоматом каждому отдельному параметру присваиваются ID данных Modbus и Начальный адрес. С ID данных Modbus понятно и если я хочу получать данные по одному адресу, просто всем параметрам присваиваю одинаковый адрес. А что на счет Начальный адрес? и остальных параметров? надо ли их править?

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

Добрый день!

Прошу прощения за долгий ответ.

Прежде чем разбирать настройки шлюза, уточню главное: зачем вам в этой схеме Modbus TCP?

Вы упомянули, что MQTT уже настроен и устройства в Sprut.hub видны. Это и есть основной способ интеграции контроллера со Sprut.hub — у нас он описан пошагово, вместе с примером добавления устройства здесь.

Со стороны Sprut.hub настройка MQTT-контроллера описана здесь.

Если задача в том, чтобы завести устройства WB в Sprut.hub и управлять ими, она у вас уже решена и Modbus не нужен вовсе. Шаблоны наших устройств для Sprut.hub рассчитаны именно на MQTT: устройство настраивается штатным образом в веб-интерфейсе контроллера, а Sprut.hub подхватывает его каналы из брокера.