using System;
using Modbus.Device; // 需要安装Modbus库,例如NModbus
using System.IO.Ports;
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();
// 创建Modbus主站设备
using (ModbusMaster master = ModbusSerialMaster.CreateRtu(port))
{
// 读取保持寄存器(假设从站地址为1,起始地址为0,读取1个寄存器)
ushort startAddress = 0;
ushort numberOfPoints = 1;
ushort[] result = master.ReadHoldingRegisters(1, startAddress, numberOfPoints);
// 输出读取结果
Console.WriteLine($"Read Holding Register: {result[0]}");
}
}
}
}
Modbus.Device命名空间来访问Modbus相关的类和方法。SerialPort类创建一个串口对象,并设置波特率、数据位、校验位和停止位等参数。Open()方法打开串口连接。ModbusSerialMaster.CreateRtu()方法创建一个RTU模式的Modbus主站设备。ReadHoldingRegisters方法读取指定从站地址、起始地址和数量的保持寄存器数据。请确保已经安装了相应的Modbus库(例如NModbus),并且根据实际情况调整串口号和其他通信参数。
上一篇:在线c#
下一篇:c# %
Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3
Laravel 中文站