Laravel  
laravel
文档
数据库
架构
入门
php技术
    
Laravelphp
laravel / php / java / vue / mysql / linux / python / javascript / html / css / c++ / c#

c# modbus rtu

作者:嗜神魔影   发布日期:2026-07-20   浏览:26

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]}");
            }
        }
    }
}

解释说明:

  1. 引入命名空间:使用Modbus.Device命名空间来访问Modbus相关的类和方法。
  2. 创建串口对象:通过SerialPort类创建一个串口对象,并设置波特率、数据位、校验位和停止位等参数。
  3. 打开串口:调用Open()方法打开串口连接。
  4. 创建Modbus主站设备:使用ModbusSerialMaster.CreateRtu()方法创建一个RTU模式的Modbus主站设备。
  5. 读取保持寄存器:通过ReadHoldingRegisters方法读取指定从站地址、起始地址和数量的保持寄存器数据。
  6. 输出结果:将读取到的数据输出到控制台。

请确保已经安装了相应的Modbus库(例如NModbus),并且根据实际情况调整串口号和其他通信参数。

上一篇:在线c#

下一篇:c# %

大家都在看

c# 二进制

c# 创建目录

c# socket服务端连接多个客户端

c# datatable group by

c# tcp client

c# type.gettype

c# sqlconnection

c# string.format 小数位数

c# invoke方法

.net和c#

Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3

Laravel 中文站