I'm trying to test the encapsulated modbus rtu over tcp by setting up a dummy TCP server that waits for the request and sends back a sample response. I'm currently a bit stuck as I'm getting "error reading registers - no response from device 2".

I've looked at the messages in wireshark and can confirm that the response is being sent.

The dummy tcp server gives:

RX: 0x02 0x04 0x00 0x00 0x00 0x02 0x71 0xf8
TX: 0x02 0x04 0x04 0x46 0xB0 0xFF 0x6D 0x5C 0x36

which looks fine to me for a modbus RTU read.



Request at 4, response at 5.

Anyone have any ideas?

Turns out it was my TCP server, rewrote it from ruby to python and works just fine.