当前位置: 首页 > news >正文

C#中NModbus4中常用的方法

NModbus4 是一个用于 Modbus 协议通信的 C# 库,它支持串行 ASCII、RTU、TCP 和 UDP 协议。以下是 NModbus4 中常用的一些方法:

  1. 创建连接

    • ModbusSerialMaster.CreateRtu(SerialPort serialPort): 创建一个 RTU 串行连接。
    • ModbusSerialMaster.CreateAscii(SerialPort serialPort): 创建一个 ASCII 串行连接。
    • ModbusIpMaster.CreateIp(TcpClient client): 创建一个 TCP IP 连接。
  2. 读取操作

    • ReadCoils(byte slaveID, ushort startAddress, ushort numOfPoints): 读取线圈状态。
    • ReadInputs(byte slaveID, ushort startAddress, ushort numOfPoints): 读取输入状态。
    • ReadHoldingRegisters(byte slaveID, ushort startAddress, ushort numOfPoints): 读取保持寄存器。
    • ReadInputRegisters(byte slaveID, ushort startAddress, ushort numOfPoints): 读取输入寄存器。
  3. 写入操作

    • WriteSingleCoil(byte slaveID, ushort coilAddress, bool value): 写入单个线圈。
    • WriteMultipleCoils(byte slaveID, ushort startAddress, bool[] data): 写入多个线圈。
    • WriteSingleRegister(byte slaveID, ushort registerAddress, ushort value): 写入单个寄存器。
    • WriteMultipleRegisters(byte slaveID, ushort startAddress, ushort[] data): 写入多个寄存器。
  4. 设置超时和重试

    • master.Transport.ReadTimeout: 设置读取超时时间。
    • master.Transport.Retries: 设置重试次数。
  5. 从站(Slave)方法

    • ModbusTcpSlave.CreateTcp(byte slaveID, TcpListener listener): 创建 TCP 从站。
    • slave.Listen(): 从站开始监听请求。
  6. 事件订阅

    • slave.ModbusSlaveRequestReceived: 从站收到请求时触发的事件。
    • slave.WriteComplete: 从站写入操作完成时触发的事件。
  7. 数据存储操作

    • slave.DataStore: 访问从站的数据存储,可以进行读写操作。
  8. 自定义消息

    • master.Send<ushort>(AdpuHeader header, byte[] message): 发送自定义 Modbus 消息。

相关文章:

  • 设计模式之装饰模式(Decorator)
  • 解决macOS安装redis以后不支持远程链接的问题
  • 如何注册和使用Disney+?Disney+会员账号可以合租?Disney+会员账号订阅购买使用教程
  • K8S:开源容器编排平台,助力高效稳定的容器化应用管理
  • vue上传预览CAD文件
  • Vue开发前端图片上传给java后端
  • 华为机考练习(golang)
  • 简单的spring缓存 Cacheable学习
  • 小北的JDK1.8下载、安装和环境配置教程——附件资源
  • C# 委托(Delegate)一
  • Spring Boot 学习之路 -- 基础认知
  • 云电脑、指纹浏览器,虚拟机这三者的区别
  • quiz: python网络爬虫之规则1
  • 大豆重测序-文献精读53
  • 什么是文件完整性监控(FIM)
  • C++入门教程(10):for 语句
  • Hibernate【inverse和cascade属性】知识要点
  • IP路由与转发
  • JSDuck 与 AngularJS 融合技巧
  • PHP 7 修改了什么呢 -- 2
  • 函数式编程与面向对象编程[4]:Scala的类型关联Type Alias
  • 力扣(LeetCode)56
  • 排序(1):冒泡排序
  • 前嗅ForeSpider中数据浏览界面介绍
  • 如何利用MongoDB打造TOP榜小程序
  • C# - 为值类型重定义相等性
  • ​软考-高级-系统架构设计师教程(清华第2版)【第20章 系统架构设计师论文写作要点(P717~728)-思维导图】​
  • ​学习笔记——动态路由——IS-IS中间系统到中间系统(报文/TLV)​
  • #162 (Div. 2)
  • #传输# #传输数据判断#
  • ( 10 )MySQL中的外键
  • (16)Reactor的测试——响应式Spring的道法术器
  • (4)事件处理——(7)简单事件(Simple events)
  • (AngularJS)Angular 控制器之间通信初探
  • (C语言)strcpy与strcpy详解,与模拟实现
  • (TipsTricks)用客户端模板精简JavaScript代码
  • (zz)子曾经曰过:先有司,赦小过,举贤才
  • (编程语言界的丐帮 C#).NET MD5 HASH 哈希 加密 与JAVA 互通
  • (四)【Jmeter】 JMeter的界面布局与组件概述
  • (限时免费)震惊!流落人间的haproxy宝典被找到了!一切玄妙尽在此处!
  • (一)【Jmeter】JDK及Jmeter的安装部署及简单配置
  • (一)Kafka 安全之使用 SASL 进行身份验证 —— JAAS 配置、SASL 配置
  • (已解决)vscode如何选择python解释器
  • (已解决)报错:Could not load the Qt platform plugin “xcb“
  • (原創) 人會胖會瘦,都是自我要求的結果 (日記)
  • *1 计算机基础和操作系统基础及几大协议
  • .NET Compact Framework 3.5 支持 WCF 的子集
  • .Net Core 中间件验签
  • .NET 反射的使用
  • :“Failed to access IIS metabase”解决方法
  • @DependsOn:解析 Spring 中的依赖关系之艺术
  • @RequestMapping 和 @GetMapping等子注解的区别及其用法
  • [ element-ui:table ] 设置table中某些行数据禁止被选中,通过selectable 定义方法解决
  • [.NET]桃源网络硬盘 v7.4
  • []AT 指令 收发短信和GPRS上网 SIM508/548