Разобрались, при пропадании связи с одним из устройств Moxa не формирует TCP Response по остальным устройствам.
Для эксперимента доступна только 1-портовая Moxa, к которой подключены слэйвы с адресами 2 и 3. Имитируем обрыв связи с 3-м слэйвом, видим, что со 2-м слэйвом по com-у исправно идет обмен: TCP Req, RTU Req, RTU Resp, а TCP Resp отсутствует (скриншот 1).
Если опрашивать слэйвы 2 и 3 разными программами, то TCP Resp для 2-го слэйва формируется правильно, в мониторе видно, что используются разные исходящие tcp-порты (скриншот 2).
Еще одно возможное решение: в конфигурации Moxa на вкладке Modbus поставить галочку Modbus TCP Exception, теперь для 2-го слэйва формируется правильный TCP Resp, а для 3-го вместо молчания отправляется exception response (скриншот 03).
Но эти решения, к сожалению, применимы не для всех TCP-клиентов.. в итоге операторская панель не может корректно отобразить, с каким именно слэйвом нет связи, какие данные недостоверны..
Можно считать этот пост официальным обращением в техподдержку Moxa?