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

c# modbus

作者:﹏〃对不起╮他是为你哭了   发布日期:2025-05-30   浏览:18

using System;
using Modbus.Device;
using System.Net.Sockets;

class Program
{
    static void Main(string[] args)
    {
        // 创建一个TCP客户端连接到Modbus服务器
        using (TcpClient client = new TcpClient("192.168.1.100", 502))
        {
            // 创建Modbus主站
            using (ModbusIpMaster master = ModbusIpMaster.CreateIpMaster(client))
            {
                // 读取保持寄存器(假设起始地址为40001,读取1个寄存器)
                ushort startAddress = 0; // Modbus地址从0开始
                ushort numberOfPoints = 1;
                ushort[] registers = master.ReadHoldingRegisters(startAddress, numberOfPoints);

                // 输出读取到的寄存器值
                Console.WriteLine($"Register value at address {startAddress}: {registers[0]}");
            }
        }
    }
}

解释说明:

  1. 创建TCP客户端:使用 TcpClient 类连接到指定IP地址和端口的Modbus服务器。
  2. 创建Modbus主站:通过 ModbusIpMaster.CreateIpMaster 方法创建一个Modbus TCP主站实例。
  3. 读取保持寄存器:调用 ReadHoldingRegisters 方法读取Modbus设备中的保持寄存器。这里假设起始地址为40001(在代码中表示为0,因为Modbus地址从0开始),读取1个寄存器。
  4. 输出结果:将读取到的寄存器值输出到控制台。

这个示例展示了如何使用C#通过Modbus协议与远程设备进行通信并读取数据。请确保你已经安装了 NModbus 库,可以通过NuGet包管理器安装。

上一篇:c# volatile

下一篇:c# treeview

大家都在看

c# 二进制

c# tcp client

c# type.gettype

c# sqlconnection

.net和c#

c#游戏开发

c#网络编程

c# rectangle

c# if else

c# rtsp

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

Laravel 中文站