C#使用nmodbus新建TCP客户端详细代码
时间: 2024-09-06 11:03:42 浏览: 79
在C#中,你可以使用NModbus库来创建TCP客户端并连接到设备。NModbus是一个开源的.NET平台上的Modbus TCP/IP通信库。以下是创建一个简单的TCP客户端的基本步骤:
```csharp
using NModbus;
using NModbus.Transport;
// 引入所需的命名空间
public class ModbusTcpClientExample
{
// 定义要连接的地址和端口
private static readonly string Host = "192.168.1.100"; // 设备IP地址
private static readonly int Port = 502; // Modbus默认TCP端口
public void ConnectToServer()
{
// 创建TCP连接工厂
var tcpTransport = new SerialPortTransport(Host, Port);
// 创建Modbus主站实例,并指定使用的传输层
using (var master = new ModbusMaster(tcpTransport))
{
try
{
// 连接尝试
if (!master.Connect())
Console.WriteLine("Failed to connect to the server.");
else
{
Console.WriteLine($"Connected to {Host}:{Port} successfully.");
// 示例:读取输入寄存器
var coilId = 1; // 输入寄存器ID
byte[] data = master.ReadInputRegisters(coilId, 1);
if (data != null)
{
// 数据处理
foreach (byte value in data)
Console.WriteLine($"Register {coilId}: {value}");
}
else
Console.WriteLine("Failed to read input registers.");
// 关闭连接
master.Disconnect();
}
}
catch (Exception ex)
{
Console.WriteLine($"Error: {ex.Message}");
}
}
}
public static void Main(string[] args)
{
var example = new ModbusTcpClientExample();
example.ConnectToServer();
}
}
阅读全文