IPAddress address = new IPAddress(new byte[] { 192, 168, 4, 99 });
TcpClient client = new TcpClient(address.ToString(), 502)
ModbusIpMaster master = ModbusIpMaster.CreateIp(client)
ushort[] ret = master.ReadHoldingRegisters(1, 5, 20);//可成功读取
master.WriteSingleRegister(1, 5, 5);//程序卡死
异常:无法从传输连接中读取数据: 由于连接方在一段时间后没有正确答复或连接的主机没有反应,连接尝试失败。。
刚接触Modbus,实在不清楚问题出在哪。
解决了没?我也有这样的问题
解决了,测试环境和运行环境硬件配置不一样,估计是寄存器地址的问题。
哦,代码不变,测试环境就有上面情况,在硬件环境正常?
嗯,重点看一下寄存器地址是否正确,还有就是发送接收报文的等待时间和超时时间。