CN114205179B - 一种Modbus通信优化方法 - Google Patents

一种Modbus通信优化方法 Download PDF

Info

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
Application number
CN202111525335.1A
Other languages
English (en)
Other versions
CN114205179A (zh
Inventor
陈斌
蒋志坚
戚星宇
戴黎明
蒋一鎏
马仲坤
闻启栋
谭光慧
谭敏刚
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
State Grid Corp of China SGCC
State Grid Jiangsu Electric Power Co Ltd
Changzhou Power Supply Co of State Grid Jiangsu Electric Power Co Ltd
Original Assignee
State Grid Corp of China SGCC
State Grid Jiangsu Electric Power Co Ltd
Changzhou Power Supply Co of State Grid Jiangsu Electric Power Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by State Grid Corp of China SGCC, State Grid Jiangsu Electric Power Co Ltd, Changzhou Power Supply Co of State Grid Jiangsu Electric Power Co Ltd filed Critical State Grid Corp of China SGCC
Priority to CN202111525335.1A priority Critical patent/CN114205179B/zh
Publication of CN114205179A publication Critical patent/CN114205179A/zh
Application granted granted Critical
Publication of CN114205179B publication Critical patent/CN114205179B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • H04L12/40006Architecture of a communication node
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/06Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
    • G06F12/0646Configuration or reconfiguration
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/40Bus structure
    • G06F13/4004Coupling between buses
    • G06F13/4009Coupling between buses with data restructuring
    • G06F13/4018Coupling between buses with data restructuring with data-width conversion
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/22Indexing; Data structures therefor; Storage structures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • H04L2012/40208Bus networks characterized by the use of a particular bus standard
    • H04L2012/40228Modbus
    • YGENERAL 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
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02PCLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
    • Y02P90/00Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
    • Y02P90/02Total 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总线由于协议开放、实施简便、可靠性高的特点,已经成为一种事实上的工业标准,得到了众多厂商的产品支持。但是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:
Figure BDA0003408798290000051
其中数据名称由0~9,a~z或A~Z中的任一字符组合而成;
其中状态位的指令如下表2:
表2:
Figure BDA0003408798290000052
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:
Figure BDA0003408798290000081
从机上层读应答关联结构内容如下表6-1至表6-7共7个表格所示(s表示主机,c表示从机):
表6-1:
Figure BDA0003408798290000082
表6-2:
Figure BDA0003408798290000083
表6-3:
Figure BDA0003408798290000084
表6-4:
Figure BDA0003408798290000091
表6-5:
Figure BDA0003408798290000092
表6-6:
Figure BDA0003408798290000093
表6-7:
Figure BDA0003408798290000094
上述信息由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:
Figure BDA0003408798290000101
本发明提供的一种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协议。
CN202111525335.1A 2021-12-14 2021-12-14 一种Modbus通信优化方法 Active CN114205179B (zh)

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)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113572782A (zh) * 2021-07-30 2021-10-29 广东机电职业技术学院 一种支持多种传感网的物联网网关及其实现方法

Family Cites Families (7)

* Cited by examiner, † Cited by third party
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及其通信方法

Patent Citations (1)

* Cited by examiner, † Cited by third party
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