NModbus4 读 的 c#代码
时间: 2024-09-23 09:04:39 浏览: 25
NModbus4是一个用于.NET平台的Modbus协议库,它提供了一种简单的方式来与支持Modbus通信的设备交互,包括读取数据。在C#中,你可以使用它的API来实现从设备上读取寄存器或输入寄存器的操作。下面是一个简单的例子,展示了如何使用NModbus4读取保持寄存器:
```csharp
using NModbus;
// 首先,你需要创建一个SerialPort实例并连接到设备
using (var master = new ModbusSerialMaster(new SerialPort("COM1", 9600))) // 修改为你的设备端口和波特率
{
try
{
// 设置地址和寄存器范围(假设你要读取的第一个寄存器地址为0x00)
var slaveId = 1;
int startAddress = 0x00;
int numberOfPoints = 1; // 或者你想读取的寄存器个数
// 调用ReadHoldingRegisters方法来读取数据
var registers = master.ReadHoldingRegisters(slaveId, startAddress, numberOfPoints);
// 如果请求成功,registers将包含一个字节数组,每个字节代表一个寄存器的值
foreach (var register in registers)
{
Console.WriteLine($"Register {register.Address}: {register.Value}");
}
}
catch (Exception ex)
{
Console.WriteLine($"Error reading from device: {ex.Message}");
}
}
```
阅读全文