EasyModbus c#多设备写线圈 代码
时间: 2024-10-21 18:04:45 浏览: 46
EasyModbus是一个用于.NET平台的Modbus通信库,它可以帮助你在C#中轻松地实现Modbus协议,包括RTU和ASCII模式,与多种设备如PLC进行通信。如果你想通过EasyModbus向多个设备写入线圈( coils),你需要首先连接到各个设备,然后针对每个设备实例调用相应的WriteCoil方法。
以下是一个简单的示例代码片段:
```csharp
using EasyModbus;
using System;
class Program
{
static void Main()
{
// 创建ModbusTcpClient实例,替换为适合你的地址和端口
ModbusTcpClient client1 = new ModbusTcpClient("192.168.1.100", 502);
ModbusTcpClient client2 = new ModbusTcpClient("192.168.1.101", 502);
// 设定线圈编号和状态
byte coilId = 1; // 需要设置要操作的线圈ID
bool state = true; // 设置线圈的状态
try
{
// 写入第一个设备的线圈
client1.WriteSingle Coil(coilId, state);
Console.WriteLine($"Wrote to device 1: Coil {coilId} set to {state}");
// 写入第二个设备的线圈
client2.WriteSingle Coil(coilId, state);
Console.WriteLine($"Wrote to device 2: Coil {coilId} set to {state}");
}
catch (ModbusException ex)
{
Console.WriteLine($"Error writing coil: {ex.Message}");
}
finally
{
// 关闭连接
client1?.Close();
client2?.Close();
}
Console.ReadLine(); // 等待用户按下回车键退出程序
}
}
```
在这个例子中,我们假设设备1的IP地址是`192.168.1.100`,端口是502;设备2同理。记得将实际的IP和端口替换为你所连接的实际设备配置。
阅读全文