CN114205179B - 一种Modbus通信优化方法 - Google Patents
一种Modbus通信优化方法 Download PDFInfo
- Publication number
- CN114205179B CN114205179B CN202111525335.1A CN202111525335A CN114205179B CN 114205179 B CN114205179 B CN 114205179B CN 202111525335 A CN202111525335 A CN 202111525335A CN 114205179 B CN114205179 B CN 114205179B
- Authority
- CN
- China
- Prior art keywords
- data
- register
- association structure
- length
- layer
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/40—Bus networks
- H04L12/40006—Architecture of a communication node
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/06—Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
- G06F12/0646—Configuration or reconfiguration
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/40—Bus structure
- G06F13/4004—Coupling between buses
- G06F13/4009—Coupling between buses with data restructuring
- G06F13/4018—Coupling between buses with data restructuring with data-width conversion
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/22—Indexing; Data structures therefor; Storage structures
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/40—Bus networks
- H04L2012/40208—Bus networks characterized by the use of a particular bus standard
- H04L2012/40228—Modbus
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02P—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
- Y02P90/00—Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
- Y02P90/02—Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Software Systems (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Computer Hardware Design (AREA)
- Communication Control (AREA)
Abstract
本发明涉及Modbus通信技术领域,具体涉及一种Modbus通信优化方法,方法包括:步骤一,优化建立上层寄存器存储关联结构;步骤二,主站与从站通过下层Modbus协议建立通信,所述主站将上层读请求关联结构或上层写请求关联结构写入所述从站;步骤三,所述从站根据状态位判断进行上层读应答关联结构或上层写应答关联结构操作。本发明通过改变数据存储结构,最大可以表达62250个数据,且可以随意更改数据类型,减低了通信的耦合性,通过寄存器相互关联的结构,使得可以在有限的寄存器内反复变更相同寄存器数据,并且可以表达不同名称类型的数据,增加了灵活性,减轻了后期协议维护的成本。
Description
技术领域
本发明涉及Modbus通信技术领域,具体涉及一种Modbus通信优化方法。
背景技术
Modbus总线由于协议开放、实施简便、可靠性高的特点,已经成为一种事实上的工业标准,得到了众多厂商的产品支持。但是Modbus寄存器表示范围有限,最多65536个数据,不适合传输大量的数据,而且设备寄存器所对应不同数据,在通信前都约定好,后续修改寄存器与数据的对应关系,势必会浪费寄存器地址或者重新定义寄存器地址,对后期维护造成不便。
发明内容
为了解决上述问题,本发明提供了一种Modbus通信优化方法,增加数据表示范围,降低通信的耦合性。
本发明提出了一种Modbus通信优化方法,方法包括:
步骤一,优化建立上层寄存器存储关联结构,上层寄存器存储关联结构包括上层读请求关联结构、上层读应答关联结构、上层写请求关联结构、上层写应答关联结构,所述上层读请求关联结构、上层读应答关联结构、上层写请求关联结构、上层写应答关联结构均包括状态位、数据名称长度、数据名称、数据类型长度、数据类型、数据长度、数据,所述数据名称每个单元长度占用字节长度为2字节,所述数据名称占用字节长度最大为500字节,所述数据类型每个单元长度占用字节长度为2字节,所述数据类型占用字节长度最大为500字节,所述数据每个单元长度占用字节长度为2字节,所述数据占用字节长度最大为500字节,所述状态位、数据名称长度、数据名称、数据类型长度、数据类型、数据长度、数据依次占用寄存器的地址,状态位占用寄存器的首地址,数据名称长度占用寄存器首地址的下一位,数据名称占的寄存器地址和数据名称长度寄存器内的值相关联,数据类型占的寄存器地址和数据类型长度寄存器内的值相关联,数据占的寄存器地址和数据长度寄存器内的值相关联;
步骤二,主站与从站通过下层Modbus协议建立通信,所述主站将上层读请求关联结构或上层写请求关联结构写入所述从站;
步骤三,所述从站根据所述状态位判断进行上层读应答关联结构或上层写应答关联结构操作,
若是上层写应答关联结构操作,则首先所述从站根据所述主站写入寄存器的信息准备应答数据,所述主站最后读状态寄存器,查看本次写入情况,
若是上层读应答关联结构操作,则首先所述从站根据所述主站写入寄存器的信息准备应答数据,然后所述主站读状态寄存器,查看数据准备情况,数据准备成功后所述主站依次读出所述数据名称长度、所述数据名称、所述数据类型长度、所述数据类型、所述数据长度、所述数据。
在一实施例中,所述数据类型包括单精度浮点、双精度浮点、整型、字符串、BCD码、比特、扩展。
在一实施例中,所述数据名称由0~9,a~z或A~Z中的任一字符组合而成。
在一实施例中,所述主站与所述从站之间的信息传输采用Modbus-RTU协议。
在一实施例中,上层寄存器存储关联结构为相互关联的结构,所述相互关联的结构用于实现有限的寄存器内反复变更相同寄存器数据,从而表达不同名称类型的数据。
本发明提供的一种Modbus通信优化方法,通过改变数据存储结构,最大可以表达62250个数据,且可以随意更改数据类型,减低了通信的耦合性,通过寄存器相互关联的结构,使得可以在有限的寄存器内反复变更相同寄存器数据,并且可以表达不同名称类型的数据。增加了灵活性,减轻了后期协议维护的成本。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他附图。
图1是根据本发明一种Modbus通信优化方法的方法流程图。
具体实施方式
下文中将参考附图并结合实施例来详细说明本发明。需要说明的是,在不冲突的情况下,本发明中的实施例及实施例中的特征可以相互组合。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。
如图1所示,本发明提出了一种Modbus通信优化方法,方法包括:
步骤一,优化建立寄存器存储结构,寄存器存储结构包括状态位、数据名称长度、数据名称、数据类型长度、数据类型、数据长度、数据,数据名称每个单元长度占用字节长度为2字节,数据名称占用字节长度最大为500字节,数据类型每个单元长度占用字节长度为2字节,数据类型占用字节长度最大为500字节,数据每个单元长度占用字节长度为2字节,数据占用字节长度最大为500字节;
状态位在寄存器地址0,数据名称长度在寄存器地址1,数据名称占的寄存器地址和数据名称长度寄存器内的值相关联,例如数据名称长度寄存器内的值为a,且a≥1,那么数据名称占寄存器地址为a个地址,占的地址范围为〖2,1+a〗内的整数;
数据类型长度接在数据名称后面的1位寄存器,即寄存器地址为a+2,数据类型占的寄存器地址和数据类型长度寄存器内的值相关联,例如数据类型长度寄存器内的值为b,且b≥1那么数据类型占寄存器地址为b个地址,占的地址范围为〖a+3,2+a+b〗内的整数;
数据长度接在数据类型后面的1位寄存器,即寄存器地址为3+a+b,数据占的寄存器地址和数据长度寄存器内的值相关联,例如数据长度寄存器内的值为c,且c≥1那么数据占寄存器地址为c个地址,占的地址范围为〖4+a+b,3+a+b+c〗内的整数;
其中数据类型包括单精度浮点、双精度浮点、整型、字符串、BCD码、比特、扩展,扩展帧格式为EX+名称,各数据类型对应符号和说明如下表1;
表1:
其中数据名称由0~9,a~z或A~Z中的任一字符组合而成;
其中状态位的指令如下表2:
表2:
IV表示状态位有效位,0为无效,1为有效;DIV表示数据有效位;NT表示数据刷新位,0为未刷新,1为刷新;READ表示读操作,1为读,0为写;WRITE表示写操作,1为写,0为读;AR表示应答请求操作,1为应答,0为请求;保留位置为0;
步骤二,主站与从站通过下层Modbus协议建立通信,主站将上层读请求关联结构或上层写请求关联结构写入从站;
步骤三,从站根据状态位判断进行上层读应答关联结构或上层写应答关联结构操作,
若是上层写应答关联结构操作,则首先从站根据主站写入寄存器的信息准备应答数据,主站最后读状态寄存器,查看本次写入情况,
若是上层读应答关联结构操作,则首先从站根据主站写入寄存器的信息准备应答数据,然后主站读状态寄存器,查看数据准备情况,数据准备成功后主站依次读出数据名称长度、数据名称、数据类型长度、数据类型、数据长度、数据。
在本申请的一个实施例中,主站与从站之间的信息传输采用Modbus-RTU协议。
在一实施例中,上层寄存器存储关联结构为相互关联的结构,相互关联的结构用于实现有限的寄存器内反复变更相同寄存器数据,并表达不同名称类型的数据。增加了灵活性,减少了后期协议维护的成本。
在本实施例中以读数据步骤名称为k的值为例进行详细说明。
首先主机发送请求内容,请求内容如下表3所示:
表3:
名称 | 内容 |
状态位(STATUS) | 0x0022 |
长度(LENGTH) | 0x0001 |
数据名称1 | k |
长度(LENGTH) | 0 |
数据类型1 | 无 |
长度(LENGTH) | 0 |
数值(VALUE) | 无 |
再次从机应答请求内容,应答内容如下表4所示:
表4:
名称 | 内容 |
状态位(STATUS) | 0x003E |
长度(LENGTH) | 0x0001 |
数据名称1 | k |
长度(LENGTH) | 0x0005 |
数据类型1 | f |
数据类型2 | l |
数据类型3 | o |
数据类型4 | a |
数据类型5 | t |
长度(LENGTH) | 0x0003 |
数值1 | 1 |
数值2 | . |
数值3 | 1 |
使用Modbus-RTU协议,读地址为1从机的k的值具体介绍通信过程。
主机上层读请求关联结构内容如下表5所示(s表示主机,c表示从机):
表5:
从机上层读应答关联结构内容如下表6-1至表6-7共7个表格所示(s表示主机,c表示从机):
表6-1:
表6-2:
表6-3:
表6-4:
表6-5:
表6-6:
表6-7:
上述信息由Modbus具体的执行需要主机先发一个读相应寄存器帧,从机回答相应寄存器帧。
使用Modbus-RTU协议往Modbus地址为1的从机中写一个名称为a的值具体通信过程如下。
主机上层写求关联结构内容如下表7所示:
表7:
序号 | 地址 | 功能码 | 寄存器 | 寄存器值 | 校验位 | 对应数据 |
1 | 01 | 06 | 00 01 | 00 01 | CA 19 | 01 |
2 | 01 | 06 | 00 02 | 00 61 | E2 E9 | a |
3 | 01 | 06 | 00 03 | 00 03 | CB 39 | 3 |
4 | 01 | 06 | 00 04 | 00 69 | 25 08 | i |
5 | 01 | 06 | 00 05 | 00 6e | 27 18 | n |
6 | 01 | 06 | 00 06 | 00 74 | EC 69 | t |
7 | 01 | 06 | 00 07 | 00 01 | CB F9 | 1 |
8 | 01 | 06 | 00 08 | 00 31 | DC C9 | 1 |
9 | 01 | 06 | 00 00 | 00 21 | 52 09 | 21 |
主机上层写应答关联结构内容如下表8所示(写应答过程通过Modbus协议只读状态位,可以知道写成功或失败):
表8:
本发明提供的一种Modbus通信优化方法,通过改变数据存储结构,最大可以表达62250个数据,且可以随意更改数据类型,减低了通信的耦合性。
以上仅是本申请的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以作出若干改进和润饰,这些改进和润饰也应视为本申请的保护范围。
Claims (3)
1.一种Modbus通信优化方法,其特征在于,方法包括:
步骤一,优化建立上层寄存器存储关联结构,上层寄存器存储关联结构包括上层读请求关联结构、上层读应答关联结构、上层写请求关联结构、上层写应答关联结构,所述上层读请求关联结构、上层读应答关联结构、上层写请求关联结构、上层写应答关联结构均包括状态位、数据名称长度、数据名称、数据类型长度、数据类型、数据长度、数据,所述数据名称每个单元长度占用字节长度为2字节,所述数据名称占用字节长度最大为500字节,所述数据类型每个单元长度占用字节长度为2字节,所述数据类型占用字节长度最大为500字节,所述数据每个单元长度占用字节长度为2字节,所述数据占用字节长度最大为500字节,所述状态位、数据名称长度、数据名称、数据类型长度、数据类型、数据长度、数据依次占用寄存器的地址,状态位占用寄存器的首地址,数据名称长度占用寄存器首地址的下一位,数据名称占的寄存器地址和数据名称长度寄存器内的值相关联,数据类型占的寄存器地址和数据类型长度寄存器内的值相关联,数据占的寄存器地址和数据长度寄存器内的值相关联;
步骤二,主站与从站通过下层Modbus协议建立通信,所述主站将上层读请求关联结构或上层写请求关联结构写入所述从站;
步骤三,所述从站根据所述状态位判断进行上层读应答关联结构或上层写应答关联结构操作,若是上层写应答关联结构操作,则首先所述从站根据所述主站写入寄存器的信息准备应答数据,所述主站最后读状态寄存器,查看本次写入情况,若是上层读应答关联结构操作,则首先从站根据主站写入寄存器的信息准备应答数据,然后主站读状态寄存器,查看数据准备情况,数据准备成功后主站依次读出数据名称长度、数据名称、数据类型长度、数据类型、数据长度、数据;
所述数据类型包括单精度浮点、双精度浮点、整型、字符串、BCD码、比特、扩展;
上层寄存器存储关联结构为相互关联的结构,所述相互关联的结构用于实现有限的寄存器内反复变更相同寄存器数据,并同时表达不同名称类型的数据。
2.根据权利要求1所述的一种Modbus通信优化方法,其特征在于,所述数据名称由0~9,a~z或A~Z中的任一字符组合而成。
3.根据权利要求1所述的一种Modbus通信优化方法,其特征在于,所述主站与所述从站之间的信息传输采用Modbus-RTU协议。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111525335.1A CN114205179B (zh) | 2021-12-14 | 2021-12-14 | 一种Modbus通信优化方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111525335.1A CN114205179B (zh) | 2021-12-14 | 2021-12-14 | 一种Modbus通信优化方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114205179A CN114205179A (zh) | 2022-03-18 |
CN114205179B true CN114205179B (zh) | 2023-04-25 |
Family
ID=80653546
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111525335.1A Active CN114205179B (zh) | 2021-12-14 | 2021-12-14 | 一种Modbus通信优化方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114205179B (zh) |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113572782A (zh) * | 2021-07-30 | 2021-10-29 | 广东机电职业技术学院 | 一种支持多种传感网的物联网网关及其实现方法 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008276638A (ja) * | 2007-05-02 | 2008-11-13 | Elpida Memory Inc | 半導体記憶装置、メモリアクセス制御システムおよびデータの読み出し方法 |
CA2674526C (en) * | 2008-07-31 | 2016-10-04 | Ametek, Inc. | Modbus register data formatting |
CN103746783A (zh) * | 2013-11-29 | 2014-04-23 | 国电南瑞科技股份有限公司 | 一种基于Modbus通讯协议的扩展型通讯方法 |
CN106326377A (zh) * | 2016-08-15 | 2017-01-11 | 东软集团股份有限公司 | 序列化方法、反序列化方法、装置和*** |
US10366774B2 (en) * | 2016-09-27 | 2019-07-30 | Spin Memory, Inc. | Device with dynamic redundancy registers |
CN108763127B (zh) * | 2018-06-05 | 2021-06-04 | 南京邮电大学 | 源数据与目标数据相互转换的Modbus适配器的实现方法 |
CN109525429B (zh) * | 2018-11-15 | 2022-07-26 | 洛阳理工学院 | 一种适用于modbus协议的rtu及其通信方法 |
-
2021
- 2021-12-14 CN CN202111525335.1A patent/CN114205179B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113572782A (zh) * | 2021-07-30 | 2021-10-29 | 广东机电职业技术学院 | 一种支持多种传感网的物联网网关及其实现方法 |
Also Published As
Publication number | Publication date |
---|---|
CN114205179A (zh) | 2022-03-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101681325B (zh) | 修改PCI Express封包摘要的设备、***和方法 | |
CN1953461B (zh) | 编码数据包头以启用PCIe链路高带宽效率的***和方法 | |
CN101477504B (zh) | 数据传输***及数据传输方法 | |
CN101996148B (zh) | 用于多种通信协议的仪器测试板卡配置方法 | |
CN100474857C (zh) | 一种主机与智能卡信息交互的方法 | |
CN103106169B (zh) | 基于aurora协议的高速总线接口的扩展架构 | |
CN111818060B (zh) | 一种支持混合及离散数据传输的通讯协议、方法及*** | |
CN101246462A (zh) | ***通讯接口的扩展装置及方法 | |
CN104714904A (zh) | 采用窗口映射机制的RapidIO控制器及其控制方法 | |
CN103092798A (zh) | 片上***及总线下的访问设备的方法 | |
CN102750249B (zh) | 上位机与下位机通信的方法、装置及*** | |
CN101383994B (zh) | 一种apdu命令的数据处理方法 | |
CN106598548A (zh) | 存储单元读写冲突的解决方法及装置 | |
CN115866081A (zh) | 一种基于soc的工业以太网协议转换方法 | |
CN114205179B (zh) | 一种Modbus通信优化方法 | |
CN113238856B (zh) | 一种基于rdma的内存管理方法及装置 | |
CN106980587A (zh) | 一种通用输入输出时序处理器及时序输入输出控制方法 | |
CN108322482A (zh) | 一种协议转换的方法及装置 | |
CN117056249A (zh) | 一种mdio到ahb的转换方法、***、设备及介质 | |
CN206975631U (zh) | 一种通用输入输出时序处理器 | |
CN204480240U (zh) | 基于主机与dsp的双向数据交换*** | |
CN101185056B (zh) | 数据流水线管理***和使用该***的方法 | |
KR100643815B1 (ko) | 링크-기반 컴퓨팅 시스템 내에서의 i/o 구성 메시징 | |
CN103995786A (zh) | 高速缓存一致性消息的传输方法和装置 | |
TWI814655B (zh) | 記憶裝置、快閃記憶體控制器及其控制方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |