c# EasyModbus 多IP设备连接 代码
时间: 2024-10-18 21:19:34 浏览: 52
在C#中使用EasyModbus库连接到多个IP地址的Modbus设备,首先需要安装EasyModbus NuGet包。然后,你可以创建一个`TcpMaster`实例,每个IP地址对应一个单独的连接。以下是一个简单的示例代码片段:
```csharp
using EasyModbus;
using System.Collections.Generic;
// 定义设备列表
List<ModbusIpDevice> devices = new List<ModbusIpDevice>();
devices.Add(new ModbusIpDevice("192.168.1.1", 502)); // 第一个设备 IP 和端口
devices.Add(new ModbusIpDevice("192.168.1.2", 502)); // 第二个设备 IP 和端口
// 创建TCP master实例并添加所有设备
ModbusMaster master = new ModbusMaster();
foreach (ModbusIpDevice device in devices)
{
master.AddDevice(device);
}
// 连接到第一个设备,这里只展示了一个设备的连接示例
try
{
master.Connect();
Console.WriteLine("Connected to " + devices[0].IpAddress);
// 执行Modbus功能码操作,例如读取输入寄存器
byte[] holdingRegisters = master.ReadHoldingRegisters(0, 10); // 阅读前10个寄存器
// 关闭连接
master.Disconnect();
}
catch (ModbusException ex)
{
Console.WriteLine($"Error connecting to {device.IpAddress}: {ex.Message}");
}
//
阅读全文