基于c#modbus tcp读写
时间: 2023-07-24 07:33:28 浏览: 156
以下是一个基于C#的Modbus TCP读写示例代码,你可以参考一下:
```csharp
using System;
using System.Net.Sockets;
using System.Threading;
using Modbus.Device;
class Program
{
static void Main(string[] args)
{
// 创建Modbus TCP客户端
TcpClient client = new TcpClient("localhost", 502);
ModbusIpMaster master = ModbusIpMaster.CreateIp(client);
// 读取保持寄存器(地址为0x0001)中的值
ushort[] values = master.ReadHoldingRegisters(1, 1);
ushort value = values[0];
Console.WriteLine("保持寄存器中的值为:" + value);
// 写入保持寄存器(地址为0x0001)中的新值
ushort new_value = 12345;
master.WriteSingleRegister(1, new_value);
Console.WriteLine("新值已写入保持寄存器中");
// 关闭客户端
client.Close();
}
}
```
需要注意的是,使用 Modbus TCP 协议进行通信时,需要使用 `ModbusIpMaster` 类创建客户端。在代码中,我们首先创建了一个 Modbus TCP 客户端,并使用 `ReadHoldingRegisters` 和 `WriteSingleRegister` 方法进行读写操作。最后,记得关闭客户端。
在实际应用中,需要根据实际情况设置 Modbus TCP 服务器的 IP 地址和端口号,并根据需要进行读写操作。
阅读全文