首页 > 编程语言 >C#.Net NModbus库 简单代码案例(非Nmodbus4库)

C#.Net NModbus库 简单代码案例(非Nmodbus4库)

时间:2024-12-20 18:30:51浏览次数:4  
标签:C# 代码 Nmodbus4 new master NModbus using port

  1. 在NuGet管理器中搜索NModbus。注意,如果需要使用串口通信需要同时选中相关包
  2. 确保引用了相关包
  3. 示例代码
using System;
using System.IO.Ports;
using NModbus;
using NModbus.Serial;

namespace LvDllTest
{
    internal class Program
    {
        static void Main(string[] args)
        {
            // 打开串口
            SerialPort port = new SerialPort("COM25");
            port.BaudRate = 9600;
            port.DataBits = 8;
            port.Parity = Parity.None;
            port.StopBits = StopBits.One;
            port.Open();
            // 创建适配器
            var adapter = new SerialPortAdapter(port);
            // 生成ModbusMaster实例
            var factory = new ModbusFactory();
            IModbusMaster master = factory.CreateRtuMaster(adapter);

            master.Transport.ReadTimeout = 2000;    // 超时时间

            Console.WriteLine(master.ReadHoldingRegisters(1, 12288, 1)[0]);     // 返回值为数组,需要进行索引,这里使用[0]

            Console.Read();
        }
    }
}

备注:代码抄袭自网络

标签:C#,代码,Nmodbus4,new,master,NModbus,using,port
From: https://www.cnblogs.com/209jkjkjk/p/18619796

相关文章

  • ES6 async await只能保证async内部顺序调用顺序
    ES6asyncawait只能保证async内部顺序调用顺序引言基本概念与作用说明Async函数Await运算符内部操作顺序调用顺序示例一:简单的async函数示例二:多个async函数的调用示例三:控制调用顺序示例四:并行与顺序结合示例五:错误处理不同角度的功能使用思路API请求管理数据预加载......
  • JS中CommonJS和ES6模块的区别
    JS中CommonJS和ES6模块的区别引言CommonJS模块基本概念与作用说明示例一:创建一个CommonJS模块示例二:使用CommonJS模块ES6模块基本概念与作用说明示例三:定义一个ES6模块示例四:导入并使用ES6模块示例五:默认导出与命名导出不同角度的功能使用思路动态vs静态模块加载单......
  • Codeforces Global Round 28 # D
    D.KevinandCompetitionMemories一、题意概述有n个选手和m个问题,给出每个选手的rating---a(n+1),和题目对应的rating---b(m+1),根据rating大小判断选手能否做出这一题。现在将所有题目分成[  ]组,求每组Kevin的排名,求其和,算出和的最小值;输出m个最小值,k分别等于1,2,···......
  • Mastering Communication Skills: A Path to Personal and Professional Success
    MasteringCommunicationSkills:APathtoPersonalandProfessionalSuccess-DEVCommunityhttps://dev.to/nozibul_islam_113b1d5334f/mastering-communication-skills-a-path-to-personal-and-professional-success-3995Communicationskillsplayavitalrolein......
  • WPF DrawingVisual DrawingContext DrawImage RenderTargetBitmap
    usingSystem;usingSystem.Collections.Generic;usingSystem.Linq;usingSystem.Text;usingSystem.Threading.Tasks;usingSystem.Windows;usingSystem.Windows.Controls;usingSystem.Windows.Data;usingSystem.Windows.Documents;usingSystem.Windows.Input;......
  • dracut
      Dracut是一个用于生成Linux初始RAM磁盘(initramfs)的工具,它用于构建一个小型的根文件系统来引导操作系统。它能够自动检测系统中的硬件设备并加载相应的驱动程序,确保系统能够正常启动。在本文中,我们将详细介绍Dracut命令的使用方法和操作流程。安装Dracut在开始使用......
  • 好消息,在 Visual Studio 中可以免费使用 GitHub Copilot 了!
     思维导航前言GitHubCopilot介绍GitHubCopilotFree包含哪些功能?GitHubCopilot支持语言安装最新版本的VisualStudio2022激活GitHubCopilotFreeVisualStudio中开始免费使用CopilotVisualStudio中Copilot的相关设置VisualStudio中使用Copilot代码补全Vi......
  • 聊一聊坑人的 C# MySql.Data SDK
    聊一聊坑人的C#MySql.DataSDK 一:背景1.讲故事为什么说这东西比较坑人呢?是因为最近一个月接到了两个dump,都反应程序卡死无响应,最后分析下来是因为线程饥饿导致,那什么原因导致的线程饥饿呢?进一步分析发现罪魁祸首是 MySql.Data,这就让人无语了,并且反馈都是升级了MySql.Da......
  • Dem (Diagnostic Event Manager)
    IntroductionTheDemisresponsibleforprocessingandstoringdiagnosticevents(bothexternallyvisibleDTCsandinternaleventsreportedbyotherBSWmodules)andassociatedenvironmentaldata.Inaddition,theDemprovidesthefaultinformationdatat......
  • 【C++基础】03、表达式 (判断语句与循环语句)
            一、判断语句        1.if 语句        2.switch 语句二、循环语句        1.for循环        2.while循环        3.do-while循环一、判断语句1.if 语句if语句是最基本的条件语句,它允许程序根据条......