一种基于数据库实现串行通信报文匹配的方法及装置制造方法及图纸

技术编号:24862847 阅读:11 留言:0更新日期:2020-07-10 19:13
本发明专利技术为了现有技术中存在的问题,创新提出了一种基于数据库实现串行通信报文匹配的方法,对规约划分为9个不同的规约块,在数据库中,根据规约块建立建立数据库与报文中的规约块的一一对应关系,进一步限定了规约块中数据块的属性划分,并定义报文组成、解析规则,根据数据块的参数值在报文中的属性信息以及报文解析规则要求,获取解帧后的回复报文的数据块中的数据,本发明专利技术还提出了一种基于数据库实现串行通信报文匹配的装置,有效解决由于现有通信报文造成处理效率低的问题,有效的提高了系统的稳定性,便于后期维护工作,大大降低了系统接入新装置、新规约的技术难度。

【技术实现步骤摘要】
一种基于数据库实现串行通信报文匹配的方法及装置
本专利技术涉及通信报文领域,尤其是涉及一种基于数据库实现串行通信报文匹配的方法及装置。
技术介绍
一些大型系统中,监控主机需要接入多种类型MCU设备及多种通信规约(为保证数据通信系统中通信双方能有效和可靠地通信而规定的双方应共同遵守的一系列约定),各个厂家的定制化规约为监控主机开发及维护带来诸多不便。重复性开发工作(MCU设备库及规约库需要持续扩容),会耗费监控系统维护人员大量精力。目前一种解决方式是各厂家一般采取指派专人修改规约代码的方式,但是这种方式会占用开发人员大量精力;频繁修改系统代码,影响系统稳定性,影响团队整体工作效率。另外一种方式是将报文与规约的对应关系存储在数据库中,便于报文解析以及组帧,但是这种方式报文的组帧以及解析中一段代码对应一段报文,不利于多种规约的处理效率,后期维护工作难度较大。
技术实现思路
本专利技术为了解决现有技术中存在的问题,创新提出了一种基于数据库实现串行通信报文匹配的方法及装置,有效解决由于现有通信报文造成处理效率低的问题,有效的提高了系统的稳定性,便于后期维护工作。本专利技术第一方面提供了一种基于数据库实现串行通信报文匹配的方法,包括:将报文中规约划分为规约块,建立数据库与报文中的规约块的一一对应关系,其中,规约块中包括数据块;加载数据库,读取串口属性的参数值,进行串口配置;加载规约块,读取规约块的参数值,确定不同规约块的参数值在报文中的属性信息;根据规约块的参数值在报文中的属性信息以及报文组成规则要求,进行查询报文的组帧操作,并下发查询报文至下位机;接收到下位机返回的回复报文后,根据规约块的参数值在报文中的属性信息以及报文解析规则要求,进行回复报文的解帧操作;根据数据块的参数值在报文中的属性信息以及报文解析规则要求,获取解帧后的回复报文的数据块中的数据。结合第一方面,在第一方面第一种可能的实现方式中,将报文中规约划分为规约块,建立数据库与报文中的规约块的一一对应关系具体是:根据已接入规约的共同特性,将规约划分为规约块,规约块包括:头文件、数据长度、装置类型、装置地址、报文功能码、数据数量、数据块、校验码、结束码;数据库中的HeadData对应于头文件,数据库中的DataLen对应于数据长度,数据库中的DevType对应于装置类型,数据库中的DevAdeass对应于装置地址,数据库中的DataCid对应于报文功能码,数据库中的DataNum对应于数据数量,数据库中的DataBlock对应于数据块,数据库中的DataCheck对应于校验码,数据库中的EndData对应于结束码。结合第一方面,在第一方面第二种可能的实现方式中,所述数据块的参数值包括数据类型、数据系数、数据偏移量、装置ID、通信报文ID、数据序号,数据类型对应于数据库中的Datatype,数据系数对应于数据库中的Radio,数据偏移量对应于数据库中的OFFSET,装置ID对应于数据库中的DevID,通信报文ID对应于数据库中的CommDataID,数据序号对应于数据库中的DataNo。结合第一方面,在第一方面第三种可能的实现方式中,串口属性的参数值包括串口号、波特率、校验方式、数据位数、停止位,串口号对应与数据库中的Name,波特率对应于数据库中的Baudate,校验方式对应于数据库中的Parity,数据位数对应于数据库中的DataBits,停止位对应于数据库中的StopBits。结合第一方面,在第一方面第四种可能的实现方式中,所述属性信息包括位置信息、长度信息、数量信息。结合第一方面,在第一方面第五种可能的实现方式中,所述报文组成规则要求包括:报文功能码、装置ID、数据起始地址、刷新频率、数据位数、数据数量、通信帧名,所述报文解析规则要求包括:报文功能码、装置ID、数据起始地址、刷新频率、数据位数、数据数量、通信帧名;报文功能码对应于数据库中的DataCID,装置ID对应于数据库中的DevID,数据起始地址对应于数据库中的Dataaddr,刷新频率对应于数据库中的Refresh_rate,数据位数对应于数据库中的BitNum,数据数量对应于数据库中的DataNUM,通信帧名对应于数据库中的Name。结合第一方面,在第一方面第六种可能的实现方式中,数据库与报文中的规约块的一一对应关系、规约块的参数值在报文中的属性信息以及报文组成规则要求、报文解析规则要求均预先设置在数据库中。本专利技术第二方面提供了一种基于数据库实现串行通信报文匹配的装置,包括:划分建立模块,将报文中规约划分为规约块,建立数据库与报文中的规约块的一一对应关系,其中,规约块中包括数据块;第一加载模块,加载数据库,读取串口属性的参数值,进行串口配置;第二加载模块,加载规约块,读取规约块的参数值,确定不同规约块的参数值在报文中的属性信息;组帧模块,根据规约块的参数值在报文中的属性信息以及报文组成规则要求,进行查询报文的组帧操作,并下发查询报文至下位机;解帧模块,接收到下位机返回的回复报文后,根据规约块的参数值在报文中的属性信息以及报文解析规则要求,进行回复报文的解帧操作;数据获取模块,根据数据块的参数值在报文中的属性信息以及报文解析规则要求,获取解帧后的回复报文的数据块中的数据。结合第二方面,在第二方面第一种可能的实现方式中,数据库与报文中的规约块的一一对应关系、规约块的参数值在报文中的属性信息以及报文组成规则要求、报文解析规则要求均预先设置在数据库中。本专利技术采用的技术方案包括以下技术效果:1、本专利技术有效解决由于现有通信报文造成处理效率低的问题,有效的提高了系统的稳定性,便于后期维护工作。2、本专利技术仅通过维护数据库即可实现维护系统支持规约的需求,大大降低了系统接入新装置、新规约的技术难度。应当理解的是以上的一般描述以及后文的细节描述仅是示例性和解释性的,并不能限制本专利技术。附图说明为了更清楚说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单介绍,显而易见的,对于本领域普通技术人员而言,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1为本专利技术方案中实施例一方法的流程示意图;图2为本专利技术方案中实施例一方法中规约块划分表格示意图;图3为本专利技术方案中实施例一方法中数据块划分表格示意图;图4为本专利技术方案中实施例一方法中串口属性划分表格示意图;图5为本专利技术方案中实施例一方法中报文组成规则以及报文解析规则表格示意图;图6为本专利技术方案中实施例二装置的结构示意图。具体实施方式为能清楚说明本方案的技术特点,下面通过具体实施方式,并结合其附图,对本专利技术进行详细阐述。下文的公开提供了许多不同的实施例或例子用来实现本专利技术的不同结构。为了简化本专利技术的公开,下文中对特定例子的部件和设置进行描述。此外,本本文档来自技高网...

【技术保护点】
1.一种基于数据库实现串行通信报文匹配的方法,其特征是,包括:/n将报文中规约划分为规约块,建立数据库与报文中的规约块的一一对应关系,其中,规约块中包括数据块;/n加载数据库,读取串口属性的参数值,进行串口配置;/n加载规约块,读取规约块的参数值,确定不同规约块的参数值在报文中的属性信息;/n根据规约块的参数值在报文中的属性信息以及报文组成规则要求,进行查询报文的组帧操作,并下发查询报文至下位机;/n接收到下位机返回的回复报文后,根据规约块的参数值在报文中的属性信息以及报文解析规则要求,进行回复报文的解帧操作;/n根据数据块的参数值在报文中的属性信息以及报文解析规则要求,获取解帧后的回复报文的数据块中的数据。/n

【技术特征摘要】
1.一种基于数据库实现串行通信报文匹配的方法,其特征是,包括:
将报文中规约划分为规约块,建立数据库与报文中的规约块的一一对应关系,其中,规约块中包括数据块;
加载数据库,读取串口属性的参数值,进行串口配置;
加载规约块,读取规约块的参数值,确定不同规约块的参数值在报文中的属性信息;
根据规约块的参数值在报文中的属性信息以及报文组成规则要求,进行查询报文的组帧操作,并下发查询报文至下位机;
接收到下位机返回的回复报文后,根据规约块的参数值在报文中的属性信息以及报文解析规则要求,进行回复报文的解帧操作;
根据数据块的参数值在报文中的属性信息以及报文解析规则要求,获取解帧后的回复报文的数据块中的数据。


2.根据权利要求1所述的基于数据库实现串行通信报文匹配的方法,其特征是,将报文中规约划分为规约块,建立数据库与报文中的规约块的一一对应关系具体是:根据已接入规约的共同特性,将规约划分为规约块,规约块包括:头文件、数据长度、装置类型、装置地址、报文功能码、数据数量、数据块、校验码、结束码;数据库中的HeadData对应于头文件,数据库中的DataLen对应于数据长度,数据库中的DevType对应于装置类型,数据库中的DevAdeass对应于装置地址,数据库中的DataCid对应于报文功能码,数据库中的DataNum对应于数据数量,数据库中的DataBlock对应于数据块,数据库中的DataCheck对应于校验码,数据库中的EndData对应于结束码。


3.根据权利要求1或2所述的基于数据库实现串行通信报文匹配的方法,其特征是,所述数据块的参数值包括数据类型、数据系数、数据偏移量、装置ID、通信报文ID、数据序号,数据类型对应于数据库中的Datatype,数据系数对应于数据库中的Radio,数据偏移量对应于数据库中的OFFSET,装置ID对应于数据库中的DevID,通信报文ID对应于数据库中的CommDataID,数据序号对应于数据库中的DataNo。


4.根据权利要求1所述的基于数据库实现串行通信报文匹配的方法,其特征是,串口属性的参数值包括串口号、波特率、校验方式、数据位数、停止位,串口号对应与数据库中的Name,波特率对应于数据库中的Baudate,校验方式对应于数据库中的Par...

【专利技术属性】
技术研发人员:石涛
申请(专利权)人:苏州浪潮智能科技有限公司
类型:发明
国别省市:江苏;32

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1