Кажется, это моя ошибка. Я использовал команду echo -e '\x00\x01\x00\x00\x00\x06\x01\x04\x00\x00\x00\x0A' | nc -q 1 192.168.100.32 502 | xxd
Как оказалось, echo добавляет \x0A (перевод строки), и это ломало запрос. Заменил на printf '\x00\x01\x00\x00\x00\x06\x01\x04\x00\x00\x00\x0A' | nc -q 1 192.168.100.32 502 | xxd и ответ от TCP Slave стал поступать.
Но ответ пустойХотя в самой среде CODESYS вижу, что массив регистров заполняется, и в поле uiClientsConnection вижу подключение мастера.
Такое ощущение, что значения записываются в компонент Modbus TCP Slave, но не доступны для получения с мастера.
registers.jpg
response.jpg