NModbus是一个用于工业自动化领域的通信协议,支持多种类型的传感器和执行器。在C#中使用NModbus库可以让你轻松地实现与基于Modbus协议的设备的通信。以下是如何在C#中使用NModbus库的一些建议:
首先,确保已经安装了NModbus库。你可以通过NuGet包管理器安装它。在Visual Studio中,右键单击项目,选择“管理NuGet程序包”,然后搜索并安装“NModbus”。
在项目中引入必要的命名空间:
using NModbus;
using NModbus.Data;
using NModbus.IO;
var serialPort = new SerialPort("COM1", 9800, Parity.None, 8, StopBits.One);
serialPort.Open();
var modbus = new ModbusSerialMaster(serialPort);
var request = new ReadDiscreteInputsRequest(1, 0, 10); // 从地址1开始,读取10个连续的离散量I/O寄存器
var response = modbus.ReadDiscreteInputs(request);
foreach (var item in response.Data)
{
Console.WriteLine($"Address: {item.Address}, Value: {item.Value}");
}
WriteMultipleRegistersRequest
类。例如,将地址2到地址5的寄存器值设置为1:var writeRequest = new WriteMultipleRegistersRequest(2, 5, new[] { 1, 1, 1, 1, 1 });
modbus.WriteMultipleRegisters(writeRequest);
serialPort.Close();
这只是一个简单的示例,你可以根据自己的需求进行扩展。NModbus库还支持其他类型的通信(如TCP、UDP等),你可以根据需要选择合适的通信方式。