C# Modbus 读写数据问题?

TCP方式连接
tcpClient = new TcpClient();
tcpClient.SendTimeout = 10;
tcpClient.ReceiveTimeout = 10;
IAsyncResult asyncresult = tcpClient.BeginConnect(IPAddress.Parse("192.168.4.99"), Convert.ToInt32("502"), null, null);
ModbusIpMaster ModbusMaster = ModbusIpMaster.CreateIp(tcpClient);

然后读取
ModbusMaster.ReadHoldingRegisters(1, 1, 10);
读取从站1,开始位置1,长度10个数据,一切正常。

写的时候
ModbusMaster.WriteSingleRegister(1, 1, 9)
或者
ModbusMaster.WriteMultipleRegisters(1, 2, new ushort[1]);
都返回同样的错误 {"无法从传输连接中读取数据: 由于连接方在一段时间后没有正确答复或连接的主机没有反应,连接尝试失败。。"}

问题不难,但刚刚学习Modbus,实在找不到到底问题在哪。

不知道你这个问题是否已经解决, 如果还没有解决的话:

如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 以帮助更多的人 ^-^