阅读量:0
要使用C#编写ModbusRTU客户端程序,可以使用第三方库或者自己实现ModbusRTU通信协议。以下是一个简单的示例代码,使用第三方库NModbus:
using System; using Modbus.Device; using System.IO.Ports; namespace ModbusRTUClient { class Program { static void Main(string[] args) { using (SerialPort port = new SerialPort("COM1")) { port.BaudRate = 9600; port.DataBits = 8; port.Parity = Parity.None; port.StopBits = StopBits.One; port.Open(); using (ModbusSerialMaster master = ModbusSerialMaster.CreateRtu(port)) { master.Transport.ReadTimeout = 1000; master.Transport.WriteTimeout = 1000; // 读取保持寄存器的值 ushort startAddress = 0; ushort numRegisters = 1; ushort[] registers = master.ReadHoldingRegisters(1, startAddress, numRegisters); foreach (ushort reg in registers) { Console.WriteLine("Register Value: " + reg); } } } } } }
在这个示例中,我们创建了一个SerialPort对象来打开串口通信,然后使用ModbusSerialMaster类来创建ModbusRTU主机。我们可以使用ReadHoldingRegisters方法来读取保持寄存器的值。记得在项目中引入NModbus库。