DotNetty 实现 Modbus TCP 系列 (一) 报文类
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 系列 (一) 报文类相关推荐
- DotNetty 实现 Modbus TCP 系列 (二) ModbusFunction 类图及继承举例
DotNetty 实现 Modbus TCP 系列 (一) 报文类 ModbusFunction 类图如下: 如前文所述,所有请求/相应的 PDU 均继承自 ModbusFunction,其子类传入对 ...
- DotNetty 实现 Modbus TCP 系列 (三) Codecs Handler
DotNetty 实现 Modbus TCP 系列 (一) 报文类 DotNetty 实现 Modbus TCP 系列 (二) ModbusFunction 类图及继承举例 DotNetty 作为一个 ...
- 【.NET6+Modbus】Modbus TCP协议解析、仿真环境以及基于.NET实现基础通信
接下来的内容,我会以从头开发一个简单的基于modbus tcp通信的案例,来实现一个基础的通信功能. 有关环境: 开发环境:VS 2022企业版 运行环境:Win 10 专业版 .NET 环境版本:. ...
- 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 ...
- 力控 串口服务器 虚拟串口,M4系列串口服务器与力控组态软件MODBUS TCP 协议通信--有人物联网.pdf...
M4系列串口服务器与力控组态软件MODBUS TCP 协议通信--有人物联网.pdf M4 系列串口服务器与力控组态软件MODBUS TCP 协议通信 M4系列串口服务器与力控组态软件MODBUS T ...
- 三菱FX5U系列PLC与汇川IT6000系列触摸屏进行MODBUS TCP通信的具体方法
三菱FX5U系列PLC与汇川IT6000系列触摸屏进行MODBUS TCP通信的具体方法 本次和大家分享三菱FX5U系列PLC与汇川IT6000系列触摸屏进行MODBUS TCP通信的具体方法,由于汇 ...
- Modbus TCP报文结构
Modbus TCP的主体结构为MBAP+PDU(MBAP-报文头,PDU-帧结构). 1.MBAP-报文头 MBAP的长度为7个字节,具体组成如下: 事务处理标识 协议标识 长度 单元标识符 2字 ...
- C#ModBus Tcp 报文解析
本篇主要对不同的功能码所发出的报文进行解析(包括请求报文及响应报文) 读操作 功能码 0x01 读一组线圈 读取站号为1 从地址12开始的10个线圈 测试结果 上一篇博客已经总结了读操作报文格式,就按 ...
- 汇川AM系列 Modbus TCP通信设置
一 .概述 单击网络组态中的PLC设备,会显示PLC内部所支持的主/从站的使能窗口,如下图所示,单击窗口中的复选框按钮来使能CPU所支持的主/从站功能,再从视图右侧的"网络设备列表" ...
最新文章
- Linux之Ubuntu切换root su -
- 神奇的问题记录【SqlDataAdapter Fill DataSet】
- CodeForces - 1207F Remainder Problem(分块)
- jQueyr源码分析学习笔记(四)
- ​网易首支 AI 生成歌曲《醒来》正式发布;FSF :苹果 OCSP 事故在道德上不可接受;CentOS 8.3 发布|极客头条...
- DllMain加载其他DLL造成的死锁问题及其解决办法
- thinkphp php6,ThinkPHP6 任意文件操作漏洞分析
- oracle 判断最后一笔_美股道琼斯日线杀跌一笔结束,向上一笔的反弹顺理成章。又到金秋弯腰拾金时...
- Windows快捷键使用和打开CMD的方式
- 城市智能交通项目实施方案
- 51单片机间接寻址C语言,51单片机寄存器间接寻址方式与举例
- 基于node+mysql的微信商城小程序全栈系统(vue后台管理系统+微信小程序+node服务端)
- Hadoop 安装指南
- 【回眸】牛客网刷刷刷!嵌入式软件中也会遇到的嵌入式硬件,通讯,通讯协议专题(一)
- 团队项目-团队成员介绍
- ​天天干着打杂的活,你做好突破自我的觉悟了吗?
- 小米笔记本12.5英寸装ubuntu后设置快捷键开启和关闭触摸板
- Django学习之模型层---多表操作之查(一)
- SDHC(高容量SD存储卡)
- 冲锋衣裤的正确洗涤方式