Nmodbus Tcpclient连接因启用modbus的设备

时间:2015-12-25 14:29:05

标签: c# tcpclient modbus

我正在使用nmodbus库(从Google Code下载)通过TCP进行modbus rtu通信。

我正在使用硬件(转换器RS485到以太网)将我的modbus通过RTU请求转换为tcp,反之亦然。

如果我发送请求并且modbus设备正常,一切正常,但是如果我发送请求并且modbus设备不活动,那么我的tcpclient连接会自动关闭,我希望它保持打开并抛出时间例外,但这不会发生。

我已正确设置超时值但仍无结果。

我的示例伪代码如下

using (TcpClient _client = new TcpClient(ipAdd, 1025))
{
_client.NoDelay = true;
ModbusSerialMaster _device = ModbusSerialMaster.CreateRtu(tcpObj);
_device.Transport.ReadTimeout = 1000;
_device.Transport.WriteTimeout = 1000;
_device.ReadInputRegisters(meterID, startAdd, register);
}

我使用modbus模拟器验证了转换器和modbus硬件的功能(Pollscan,modbus poll)

我相信我在设置tcpclient的属性时会犯一些错误,但不确定究竟是什么。

任何建议,投入都非常可观。

0 个答案:

没有答案