using System;
using Modbus.Device;
using System.IO.Ports;
class Program
{
static void Main(string[] args)
{
// 创建一个串口对象,指定串口号、波特率等参数
using (SerialPort serial = new SerialPort("COM1", 9600, Parity.None, 8, StopBits.One))
{
serial.Open();
// 创建Modbus主站设备,使用RTU协议
using (ModbusMaster master = ModbusSerialMaster.CreateRtu(serial))
{
try
{
// 读取保持寄存器的数据,从地址0开始读取1个寄存器
ushort startAddress = 0;
ushort numRegisters = 1;
ushort[] registers = master.ReadHoldingRegisters(1, startAddress, numRegisters);
Console.WriteLine($"Read Holding Register: {registers[0]}");
}
catch (Exception ex)
{
Console.WriteLine($"Error: {ex.Message}");
}
}
serial.Close();
}
}
}
using Modbus.Device;
和 using System.IO.Ports;
是为了使用Modbus库和串口通信功能。new SerialPort("COM1", 9600, Parity.None, 8, StopBits.One)
创建一个串口对象,并设置串口号、波特率、校验位、数据位和停止位。serial.Open()
打开串口连接。ModbusSerialMaster.CreateRtu(serial)
创建一个RTU模式的Modbus主站设备。master.ReadHoldingRegisters(1, startAddress, numRegisters)
读取从设备(地址为1)的保持寄存器数据,从地址0开始读取1个寄存器。try-catch
块捕获并处理可能发生的异常。serial.Close()
关闭串口连接。上一篇:c# 委托和事件
下一篇:c# rtsp
Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3
Laravel 中文站