CN113938500B - 一种基于RS485的Modbus协议组包方法 - Google Patents

一种基于RS485的Modbus协议组包方法 Download PDF

Info

Publication number
CN113938500B
CN113938500B CN202111045057.XA CN202111045057A CN113938500B CN 113938500 B CN113938500 B CN 113938500B CN 202111045057 A CN202111045057 A CN 202111045057A CN 113938500 B CN113938500 B CN 113938500B
Authority
CN
China
Prior art keywords
registers
data
point location
gateway
register
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
CN202111045057.XA
Other languages
English (en)
Other versions
CN113938500A (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.)
China Construction Third Bureau Intelligent Technology Co Ltd
Original Assignee
China Construction Third Bureau Intelligent Technology 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 China Construction Third Bureau Intelligent Technology Co Ltd filed Critical China Construction Third Bureau Intelligent Technology Co Ltd
Priority to CN202111045057.XA priority Critical patent/CN113938500B/zh
Publication of CN113938500A publication Critical patent/CN113938500A/zh
Application granted granted Critical
Publication of CN113938500B publication Critical patent/CN113938500B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/12Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
    • 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
    • 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
    • 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/4026Bus for use in automation systems
    • 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)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Health & Medical Sciences (AREA)
  • Computing Systems (AREA)
  • General Health & Medical Sciences (AREA)
  • Medical Informatics (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明提供一种基于RS485的Modbus协议组包方法,属于物联网技术领域,包括云平台获取数据需求和寄存器的点位信息,并根据点位信息得到每个寄存器所属集群后,将数据需求和所有集群的点位信息下发至网关。网关根据点位信息得到每个集群中所有寄存器所属分组后,基于数据需求、预设的数据包最大长度、以及寄存器最大间隔个数生成至少一个设置数据包,并将所有设置数据包下发至传感器。本发明网关以最少的设置数据包数量向传感器获取相应的应答数据包,减少线上无效查询的数据量,增加有效查询的数据量,可以增加查询效率,增加单个网关支持的点位个数。

Description

一种基于RS485的Modbus协议组包方法
技术领域
本发明涉及物联网技术领域,具体涉及一种基于RS485的Modbus协议组包方法。
背景技术
工业4.0是以智能制造为主导的第四次工业革命,工厂将生产设备、无线信号连接和传感器集成到一个生态***平台中,这个生态***可以监督整个生产线流程并自主执行决策,利用了信息物理***、物联网、工业物联网、云计算、认知计算和人工智能等技术。
简单来说,工业4.0的目标是自然资源从开采、收集、直到生产成为商品进入流通领域这一过程中的所有劳动都尽可能通过智能***自动化进行。以往几次工业革命中,人所起到的作用,在工业4.0中将被大幅淡化,智能制造将成为主流。
工业物联网云平台需要透过工业物联网网关采集大量的传感器数据,再通过大数据、AI算法,实现智能化制造。网关采集数据最主要的采集方式是透过Modbus RTU RS485协议向工业传感器采集相关信息。工业传感器有许许多多的种类,每次要支持一种新型的传感器,都需要云平台或者网关与新型的传感器整合一遍,每次都需要修改云平台和网关相关代码,非常费时,耽误商机。
多数工业传感器都采用标准的Modbus RTU RS485协议传输,Modbus RTU RS485协议会把传感器支持的参数分为若干个寄存器,供第三方网关透过Modbus RTU RS485协议来查询或者设置,因此第三方网关必须知道每个寄存器所代表的含义以及解析方式,才能够解读此传感器。还要通过特定的协议告知云平台,云平台需要知道其含义才能进行大数据统计与分析。一切都要基于云平台和网关都充分了解此传感器特点的前提条件,才能进行开发与展示。
Modbus通讯报文分为查询报文和响应报文。Modbus通信协议遵循主从机通信步骤,主机Master采取主动询问方式,送出查询报文给从机Slave方,然后由Slave方依据接到的查询报文内容准备响应报文回传给Master。通常,机Master为设备采集服务端,从机Slave为目标采集设备。
如图1所示,为现有技术中的工业物联网架构示意图,根据客户需求和技术细节(例如传感器规格)在云平台人工编程后,下发查询/设置指令(即查询报文)给网关,再由网关透传云平台下发的指令至多种工业传感器,最后由网关将多种工业传感器反馈的查询/设置结果(即相应报文)返回给云平台。所有的工作都由云平台完成,造成了许多的不便,例如:云端需要不停的整合新型传感器、云端由于效率低下无法接入大量的点位、云端实时性较差、大量的流量浪费在低价值数据上、以及云端执行所有任务所需具备的性能较高。
发明内容
针对现有技术中存在的上述不足,本发明的目的是提供一种基于RS485的Modbus协议组包方法,用户只需要按照表单的方式填入不同传感器的差异性,即可快速支持各种各样的标准Modbus RTU传感器,可以增加查询效率,增加单个网关支持的点位个数。
为达到以上目的,采取的技术方案是:
一种基于RS485的Modbus协议组包方法,包括:
云平台获取数据需求和寄存器的点位信息,并根据点位信息得到每个寄存器所属集群后,将数据需求和所有集群的点位信息下发至网关;
网关根据点位信息得到每个集群中所有寄存器所属分组后,基于数据需求、预设的数据包最大长度、以及寄存器最大间隔个数生成至少一个设置数据包,并将所有设置数据包下发至传感器。
优选的,传感器接收到所有设置数据包后,反馈至少一个应答数据包给网关。
优选的,云平台每接入一新的传感器均采集该传感器的点位信息;
传感器以表格形式向云平台上报点位信息。
优选的,所述每个集群均对应同一传感器,同一集群内的所有寄存器归属同一传感器。
优选的,所述网关根据点位信息得到每个集群中所有寄存器所属分组后,具体包括:
所述网关根据点位信息中包含的点位用途,将集群中的所有寄存器分为异常点位集群和正常点位集群;
所述网关根据点位信息中包含的上报频率,分别将异常点位集群和正常点位集群中的所有寄存器分为多个第一分组。
优选的,所述网关基于数据需求、预设的数据包最大长度、以及预设的寄存器最大间隔个数生成至少一个设置数据包,具体包括:
所述网关根据预设的寄存器最大间隔个数,将每个第一分组中的所有寄存器分为多个第二分组;
所述网关根据预设的数据包最大长度,将每个第二分组中的所有寄存器分为多个第三分组;
所述网关基于第三分组中的所有寄存器的地址和数量,生成至少一个设置数据包。
优选的,所述设置数据包括功能码、起始地址、以及寄存器数量;
起始地址为第三分组中的第一个寄存器的地址;
寄存器数量为第三分组中的第一个有效地址到最后一个有效地址的差值。
优选的,所述点位信息包括类型相关信息和采集相关信息。
优选的,所述类型相关信息包括:
所述点位用途,其用于表示寄存器的数据用途,该数据用途包括正常时查询和异常时查询;
点位类型,其用于表示寄存器的数据类型,该数据类型包括模拟量和数字量;
点位因子,其用于表示寄存器的比例系数;
所述上报频率,其用于表示寄存器的上报频率。
优选的,所述采集相关信息包括:
寄存器地址,其用于表示寄存器的地址范围,该地址范围为0~65535;
读取长度,其用于表示寄存器的读取长度;
数据格式,其用于表示寄存器的数据格式,该数据格式包括double、int、unit、以及long;
计算公式,其用于表示寄存器的计算公式。
本发明的有益效果:
用户只需要按照表单的方式在云平台填入不同传感器的差异性即点位信息,即可使网关快速支持各种各样的标准Modbus RTU传感器。
网关不是简单的透传,会将大量的点位信息,根据点位分布图,智能的结合在一起,网关以最少的设置数据包数量向传感器获取相应的应答数据包,减少线上无效查询的数据量,增加有效查询的数据量,可以增加查询效率,增加单个网关支持的点位个数。
附图说明
图1为现有技术中的工业物联网架构示意图。
图2为本发明实施例中基于RS485的Modbus协议组包方法的流程图。
图3为本发明实施例中基于RS485的Modbus协议组包方法的示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实例仅仅用以解释本发明,并不限定本发明。此外,基于本发明的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明的保护范围。
以下结合附图及实施例对本发明作进一步详细说明。
如图2和图3所示,本发明提供一种基于RS485的Modbus协议组包方法,所述方法包括:
步骤S1、云平台获取数据需求和寄存器的点位信息,并根据点位信息得到每个寄存器所属集群后,将数据需求和所有集群的点位信息下发至网关。
步骤S2、网关根据点位信息得到每个集群中所有寄存器所属分组后,基于数据需求、预设的数据包最大长度、以及寄存器最大间隔个数生成至少一个设置数据包,并将所有设置数据包下发至传感器,设置数据包用于对传感器进行配置。
步骤S3、传感器接收到所有设置数据包后反馈至少一个应答数据包。
进一步的,云平台每接入一新的传感器均采集该传感器的点位信息。传感器以表格形式向云平台上报点位信息。
进一步的,所述每个集群均对应一传感器,同一集群内的所有寄存器归属同一传感器。
本实施例中,传感器都采用标准的Modbus RTU RS485协议传输,云平台每接入一新的传感器,该传感器均以表格形式向云平台上报其点位信息,点位信息用于表征传感器的属性。云平台根据点位信息将所有寄存器分别划分至不同的集群,同一集群中的所有寄存器归属同一传感器。无需不停整合标准的传感器,只需要按照表格内容,填入传感器差异性,即可支持新接入的传感器。
网关不是简单的透传,会将大量的点位信息,根据包含各个寄存器地址的点位分布图,智能的结合在一起,网关以最少的设置数据包数量向传感器获取相应的应答数据包,减少线上无效查询的数据量,增加有效查询的数据量,可以增加查询效率,增加单个网关支持的点位个数。
较佳的实施例中,云平台将用户的数据需求和所有集群的点位信息下发至网关。所述网关根据点位信息中包含的点位用途,将集群中的所有寄存器分为异常点位集群(包含异常时需要查询的点位)和正常点位集群(包含普通情况时需要查询的点位)。
所述网关根据点位信息中包含的上报频率,分别将异常点位集群和正常点位集群中的所有寄存器分为多个第一分组。
所述网关根据预设的寄存器最大间隔个数,将每个第一分组中的所有寄存器分为多个第二分组。
所述网关根据预设的数据包最大长度,将每个第二分组中的所有寄存器分为多个第三分组。
网关基于第三分组中的所有寄存器的地址和数量,生成至少一个设置数据包。
本实施例中,云平台采集的所有寄存器的点位信息,点位信息中包含寄存器地址,所有寄存器按照地址分布在地址轴上,部分为离散分布,部分为连续分布,按照寄存器最大间隔个数将第一分组中的所有寄存器分为多个第二分组,每个分组中尽可能多的包含数据需求中指定的寄存器,后续需要向每个第二分组发送设置数据包,但是设置数据包的数据包长度不能无限长,因此考虑到数据包最大长度,将每个第二分组中的所有寄存器分为多个第三分组,最后网关基于第三分组中的所有寄存器的地址和数量,生成至少一个设置数据包。
较佳的实施例中,每个第三分组需要下发一个设置数据包。
所述设置数据包括功能码、起始地址、以及寄存器数量。
起始地址为第三分组中的第一个寄存器的地址。
寄存器数量为第三分组中的第一个有效地址到最后一个有效地址的差值。
较佳的实施例中,所述点位信息包括类型相关信息和采集相关信息。
所述类型相关信息包括:
所述点位用途,其用于表示寄存器的数据用途,该数据用途包括正常时查询和异常时查询。
点位类型,其用于表示寄存器的数据类型,该数据类型包括模拟量和数字量。
点位因子,其用于表示寄存器的比例系数。
所述上报频率,其用于表示寄存器的上报频率。
较佳的实施例中,所述采集相关信息包括:
寄存器地址,其用于表示寄存器的地址范围,该地址范围为0~65535。
读取长度,其用于表示寄存器的读取长度。
数据格式,其用于表示寄存器的数据格式,该数据格式包括double、int、unit、以及long。
计算公式,其用于表示寄存器的计算公式。
本发明不局限于上述实施方式,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也视为本发明的保护范围之内。本说明书中未作详细描述的内容属于本领域专业技术人员公知的现有技术。

Claims (7)

1.一种基于RS485的Modbus协议组包方法,其特征在于,包括:
云平台获取数据需求和寄存器的点位信息,并根据点位信息得到每个寄存器所属集群后,将数据需求和所有集群的点位信息下发至网关;所述每个集群均对应同一传感器,同一集群内的所有寄存器归属同一传感器;
网关根据点位信息得到每个集群中所有寄存器所属分组后,基于数据需求、预设的数据包最大长度、以及寄存器最大间隔个数生成至少一个设置数据包,并将所有设置数据包下发至传感器;
所述网关根据点位信息得到每个集群中所有寄存器所属分组后,具体包括:所述网关根据点位信息中包含的点位用途,将集群中的所有寄存器分为异常点位集群和正常点位集群;所述网关根据点位信息中包含的上报频率,分别将异常点位集群和正常点位集群中的所有寄存器分为多个第一分组;
所述网关基于数据需求、预设的数据包最大长度、以及预设的寄存器最大间隔个数生成至少一个设置数据包,具体包括:
所述网关根据预设的寄存器最大间隔个数,将每个第一分组中的所有寄存器分为多个第二分组;
所述网关根据预设的数据包最大长度,将每个第二分组中的所有寄存器分为多个第三分组;
所述网关基于第三分组中的所有寄存器的地址和数量,生成至少一个设置数据包。
2.如权利要求1所述的基于RS485的Modbus协议组包方法,其特征在于,传感器接收到所有设置数据包后,反馈至少一个应答数据包给网关。
3.如权利要求1所述的基于RS485的Modbus协议组包方法,其特征在于,云平台每接入一新的传感器均采集该传感器的点位信息;
传感器以表格形式向云平台上报点位信息。
4.如权利要求1所述的基于RS485的Modbus协议组包方法,其特征在于,所述设置数据包括功能码、起始地址、以及寄存器数量;
起始地址为第三分组中的第一个寄存器的地址;
寄存器数量为第三分组中的第一个有效地址到最后一个有效地址的差值。
5.如权利要求1所述的基于RS485的Modbus协议组包方法,其特征在于,所述点位信息包括类型相关信息和采集相关信息。
6.如权利要求5所述的基于RS485的Modbus协议组包方法,其特征在于,所述类型相关信息包括:
所述点位用途,其用于表示寄存器的数据用途,该数据用途包括正常时查询和异常时查询;
点位类型,其用于表示寄存器的数据类型,该数据类型包括模拟量和数字量;
点位因子,其用于表示寄存器的比例系数;
所述上报频率,其用于表示寄存器的上报频率。
7.如权利要求5所述的基于RS485的Modbus协议组包方法,其特征在于,所述采集相关信息包括:
寄存器地址,其用于表示寄存器的地址范围,该地址范围为0~65535;
读取长度,其用于表示寄存器的读取长度;
数据格式,其用于表示寄存器的数据格式,该数据格式包括double、int、unit、以及long;
计算公式,其用于表示寄存器的计算公式。
CN202111045057.XA 2021-09-07 2021-09-07 一种基于RS485的Modbus协议组包方法 Active CN113938500B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111045057.XA CN113938500B (zh) 2021-09-07 2021-09-07 一种基于RS485的Modbus协议组包方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111045057.XA CN113938500B (zh) 2021-09-07 2021-09-07 一种基于RS485的Modbus协议组包方法

Publications (2)

Publication Number Publication Date
CN113938500A CN113938500A (zh) 2022-01-14
CN113938500B true CN113938500B (zh) 2024-03-22

Family

ID=79275200

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111045057.XA Active CN113938500B (zh) 2021-09-07 2021-09-07 一种基于RS485的Modbus协议组包方法

Country Status (1)

Country Link
CN (1) CN113938500B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116032694A (zh) * 2022-12-30 2023-04-28 合沃物联技术(南京)有限公司 一种基于工业物联网关的实时块状数据读取方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110704265A (zh) * 2019-10-11 2020-01-17 山东有人信息技术有限公司 一种基于Modbus协议的预警信息主动上报方法及***
CN111884915A (zh) * 2020-07-17 2020-11-03 杭州电子科技大学 一种提高网关采集modbus设备效率的方法
WO2021072981A1 (zh) * 2019-10-17 2021-04-22 广东绿腾新能源服务有限公司 一种基于区块链的能源数据链接方法、及装置

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110704265A (zh) * 2019-10-11 2020-01-17 山东有人信息技术有限公司 一种基于Modbus协议的预警信息主动上报方法及***
WO2021072981A1 (zh) * 2019-10-17 2021-04-22 广东绿腾新能源服务有限公司 一种基于区块链的能源数据链接方法、及装置
CN111884915A (zh) * 2020-07-17 2020-11-03 杭州电子科技大学 一种提高网关采集modbus设备效率的方法

Also Published As

Publication number Publication date
CN113938500A (zh) 2022-01-14

Similar Documents

Publication Publication Date Title
CN103792928B (zh) 一种基于Modbus的工业现场数据采集分析***
CN108769121A (zh) 智能工业装备物联网数据采集***及采集数据的上传方法
CN101827302B (zh) 多业务统一处理方法及统一业务平台
CN103067297B (zh) 一种基于资源消耗预测的动态负载均衡方法及装置
CN105357061A (zh) 一种基于大数据流处理技术的运维监控分析***
CN205038511U (zh) 一种工业现场数据远程监控***
CN103955509A (zh) 一种海量电力计量数据的快速检索方法
CN113938500B (zh) 一种基于RS485的Modbus协议组包方法
CN108833267A (zh) 智能工业网关
CN103984323A (zh) 一种集成化可配置工业信息监测分析控制***
CN108156222A (zh) 一种基于养殖物联网的网关***及方法
CN101441733A (zh) 基于库存数据的企业生产控制***
CN107609812A (zh) 一种新型的智能仓储***
CN114500543B (zh) 一种基于分布式的弹性边缘采集***及其应用方法
CN110139234A (zh) 一种基于结点分组的无线传感器网络休眠调度方法
CN104270432A (zh) 基于钻井行业实时数据服务***及数据交互方法
CN110780630A (zh) 一种适用于物联网的协议库对接执行***及工作方法
CN114422873B (zh) 动态接入工业互联网标识解析平台的方法、装置及设备
CN113343037B (zh) 一种嵌入式主从设备的数据映射方法
CN101464972A (zh) 计算机远程生产管理***
CN211454276U (zh) 一种适用于物联网的协议库对接执行装置
CN108153260A (zh) 一种基于互联网的离散智能制造***控制终端
CN114387124A (zh) 一种核电工业互联网平台的时序数据存储方法
CN202998491U (zh) 内河船载货物监测***装置
CN106603396A (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