Проблема есть, доступ к веб интерфейсу есть (т.е. прибор в сети) а вот подключение по modbus происходит с задержкой (подключен многоканальный измеритель WB-MAP6S) вся эта сборка по WiFi в мастерскада 4д. Причем задержка может быть довольно долгой (до часу). Подобная проблема появляется на многих устройствах. На данный момент установлено 15 преобразователей с многоканальным измерителем.
Через какое?
Предлагаю чуть усложнить, для понимания.
Вот так:
В одном терминале запустить ping, с выводом времени. В другом - modbus_client, в цикле каждые, например, 3 секунды.
Ну и цель этого эксперимента - понять через какое после включения время становится доступен modbus.
Начальное состояние - шлюз выключен.
В одном окне запускаю
ping 10.0.0.73 | ts '[%Y-%m-%d %H:%M:%S]'
в другом
while true; do date '+[%Y-%m-%d %H:%M:%S]'; modbus_client --debug -mtcp 10.0.0.73 -p 503 -a 247 -t 0x03 -r 0x080 -c 1; sleep 3; done
То есть после включения питания шлюза, через ~3 секунды возвращается ping в 18:03:36
Еще через 2 секунды, 18:03:38 - первый ответ от устройства.
То есть эксперимент показывает что шлюза точно не было в сети (ping не возвращался). После появления в сети - начался опрос.
uptime шлюза соответствует времени начала опроса.
Что-то мне не нравится “connection failed”.
Предположу что возникает при попытке создать TCP соединение.
При этом icmp работает.
Давайте включим второй порт шлюза в режим Modbus TCP (к нему ведь ничего не подключено физически?), на нем - WBIO шлюз.
Ну и проверьте чтение регистра из самого шлюзе - этим можно убедиться что дело не в шине.
Не обязательно, просто несколько раз (или циклом) прочитать наприме адрес (регистр 128) с адреса 247. То есть с WBIO.
Надо понять - проблема в шине или шлюзе (ну или связи с ним).
запуск после перезагрузки (как веб интерфейс полностью прогрузился), можно сказать нет задержек. Через минуту запустил после перезагрузки, опрос пошел сразу
Отлично. В таком случае - рекомендую проверить шину к кторой подключены устройства modbus на предмет соответствия требованиям ну и физической целостности.
Для начала - проверьте, доступны ли (открыты) оба порта
Например
Потом, для проверки - поменяйте номера портов местами ну и попробуйте опросить.
Сейчас выглядит как недоступность одногo из двух.