MODBUS TCP/IP runs on an Ethernet physical layer, and Modbus RTU is a serial level protocol. Milesight UR router has Modbus RTU to Modbus TCP function that can read Modbus data from Modbus RTU device and publish it as Modbus TCP data to the server and vice versa. For detailed configuration please refer to article How to Configure Modbus RTU to Modbus TCP on Milesight Routers. This article will depict how to troubleshoot when failed to request Modbus RTU device data from Modbus TCP client on Milesight routers.
Step1: Try to test Serial DTU transparent mode in Milesight router first, if it is successful, connection between Slave and Router is normal, kindly skip to Step4. If it is unsuccessful, kindly follow Step2&3 to check the connection.
Step2: Ensure cable you are using is working. And please pay attention to the wire sequence when wiring, you could refer to manual for how is each PIN define.
- Check whether the TX/A and RX/B is connected reversely for RS232/RS485 or not.
- Pay attention to ground for the RS232 is GND rather than COM.
Step3: Navigate to Maintenance->Tool->Ping to ping your Modbus TCP client, if failed, please check the network connection between router and server. Besides, ensure the port is not forbidden by your firewall.
Step4: Check if Milesight router can read slave device via correct Modbus commands. You can configure the serial port mode as Modbus master and go to Industrial -> Modbus Master -> Channel to configure Modbus RTU channels and click Read to fetch slave data.
Step5: If you found there is success in Modbus with function code 03 to read and, nevertheless, failed to write with function code 06, returning a timeout error, kindly navigate to Serial port and set the response Timeout to be 50ms.