Modbus TCP/IP 报文

  • 报文最大长度为 260 byte (ADU = 7 byte MBAP Header + 253 byte PDU)

  • Length = Unit Identifier 长度 + PDU 长度

MBAP Header

PDU

PDU 由两部分构成:Function Code(功能码) 和 Data 组成

Function Code

部分功能码:

报文类

ModbusHeader

ModbusHeader 对应 MBAP Header,包含两个构造函数:第一个构造函数用于从缓冲区解析消息头,第二个构造函数用来请求/响应时手动构造消息头。Encode 方法用于在传输前对消息头进行编码。

ModbusFunction

ModbusFunction 对应 PDU,该类为抽象类,所有的请求/相应的 PDU 均继承自该类。实际使用中根据 FunctionCode 实例化具体的子类对象。其中 CalculateLength 方法用来计算 Data 部分的长度,Decode 方法用于从缓冲区解析 Data,Encode 方法用于在传输前对 Data 编码。

ModbusFrame

ModbusFrame 对应 ADU。Encode 方法用于在传输前对 ADU 编码。

开源地址:https://github.com/VictorBu/modbus-tcp

原文地址:https://www.cnblogs.com/victorbu/p/10369919.html

.NET社区新闻,深度好文,欢迎访问公众号文章汇总 http://www.csharpkit.com

DotNetty 实现 Modbus TCP 系列 (一) 报文类相关推荐

  1. DotNetty 实现 Modbus TCP 系列 (二) ModbusFunction 类图及继承举例

    DotNetty 实现 Modbus TCP 系列 (一) 报文类 ModbusFunction 类图如下: 如前文所述,所有请求/相应的 PDU 均继承自 ModbusFunction,其子类传入对 ...

  2. DotNetty 实现 Modbus TCP 系列 (三) Codecs Handler

    DotNetty 实现 Modbus TCP 系列 (一) 报文类 DotNetty 实现 Modbus TCP 系列 (二) ModbusFunction 类图及继承举例 DotNetty 作为一个 ...

  3. 【.NET6+Modbus】Modbus TCP协议解析、仿真环境以及基于.NET实现基础通信

    接下来的内容,我会以从头开发一个简单的基于modbus tcp通信的案例,来实现一个基础的通信功能. 有关环境: 开发环境:VS 2022企业版 运行环境:Win 10 专业版 .NET 环境版本:. ...

  4. micropython教程modbus_基于S7-300400 CPU集成PN接口的Modbus TCP在TIA Portal的使用入门教程...

    基于S7-300400 CPU集成PN接口的Modbus TCP在TIA Portal的使用入门. Modbus TCP通讯概述 MODBUS TCP 使MODBUS_RTU协议运行于以太网,MODB ...

  5. 力控 串口服务器 虚拟串口,M4系列串口服务器与力控组态软件MODBUS TCP 协议通信--有人物联网.pdf...

    M4系列串口服务器与力控组态软件MODBUS TCP 协议通信--有人物联网.pdf M4 系列串口服务器与力控组态软件MODBUS TCP 协议通信 M4系列串口服务器与力控组态软件MODBUS T ...

  6. 三菱FX5U系列PLC与汇川IT6000系列触摸屏进行MODBUS TCP通信的具体方法

    三菱FX5U系列PLC与汇川IT6000系列触摸屏进行MODBUS TCP通信的具体方法 本次和大家分享三菱FX5U系列PLC与汇川IT6000系列触摸屏进行MODBUS TCP通信的具体方法,由于汇 ...

  7. Modbus TCP报文结构

    Modbus TCP的主体结构为MBAP+PDU(MBAP-报文头,PDU-帧结构).  1.MBAP-报文头 MBAP的长度为7个字节,具体组成如下: 事务处理标识 协议标识 长度 单元标识符 2字 ...

  8. C#ModBus Tcp 报文解析

    本篇主要对不同的功能码所发出的报文进行解析(包括请求报文及响应报文) 读操作 功能码 0x01 读一组线圈 读取站号为1 从地址12开始的10个线圈 测试结果 上一篇博客已经总结了读操作报文格式,就按 ...

  9. 汇川AM系列 Modbus TCP通信设置

    一 .概述 单击网络组态中的PLC设备,会显示PLC内部所支持的主/从站的使能窗口,如下图所示,单击窗口中的复选框按钮来使能CPU所支持的主/从站功能,再从视图右侧的"网络设备列表" ...

最新文章

  1. Linux之Ubuntu切换root su -
  2. 神奇的问题记录【SqlDataAdapter Fill DataSet】
  3. CodeForces - 1207F Remainder Problem(分块)
  4. jQueyr源码分析学习笔记(四)
  5. ​网易首支 AI 生成歌曲《醒来》正式发布;FSF :苹果 OCSP 事故在道德上不可接受;CentOS 8.3 发布|极客头条...
  6. DllMain加载其他DLL造成的死锁问题及其解决办法
  7. thinkphp php6,ThinkPHP6 任意文件操作漏洞分析
  8. oracle 判断最后一笔_美股道琼斯日线杀跌一笔结束,向上一笔的反弹顺理成章。又到金秋弯腰拾金时...
  9. Windows快捷键使用和打开CMD的方式
  10. 城市智能交通项目实施方案
  11. 51单片机间接寻址C语言,51单片机寄存器间接寻址方式与举例
  12. 基于node+mysql的微信商城小程序全栈系统(vue后台管理系统+微信小程序+node服务端)
  13. Hadoop 安装指南
  14. 【回眸】牛客网刷刷刷!嵌入式软件中也会遇到的嵌入式硬件,通讯,通讯协议专题(一)
  15. 团队项目-团队成员介绍
  16. ​天天干着打杂的活,你做好突破自我的觉悟了吗?
  17. 小米笔记本12.5英寸装ubuntu后设置快捷键开启和关闭触摸板
  18. Django学习之模型层---多表操作之查(一)
  19. SDHC(高容量SD存储卡)
  20. 冲锋衣裤的正确洗涤方式

热门文章

  1. JavaFX 学习笔记——窗口与控件
  2. 网站常见漏洞-- XSS攻击
  3. Redhat 5.1 install PHP 5.3.6
  4. iOS调用系统相册、相机 显示中文标题
  5. 深入理解javascript函数
  6. 新人入职培训有关职场沟通的总结分享
  7. Discuz添加自定义模板广告
  8. TabHost两种实现方式
  9. UML实践----用例图、顺序图、状态图、类图、包图、协作图
  10. SharePoint 2007 Select People and Groups中搜索不到其他Domain账户的问题[已解决]