CN105812368A - 一种多种通讯协议通用编程方法 - Google Patents
一种多种通讯协议通用编程方法 Download PDFInfo
- Publication number
- CN105812368A CN105812368A CN201610145809.2A CN201610145809A CN105812368A CN 105812368 A CN105812368 A CN 105812368A CN 201610145809 A CN201610145809 A CN 201610145809A CN 105812368 A CN105812368 A CN 105812368A
- Authority
- CN
- China
- Prior art keywords
- configuration file
- collection point
- equipment
- framing
- equipment collection
- 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.)
- Pending
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/18—Multiprotocol handlers, e.g. single devices capable of handling multiple protocols
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Communication Control (AREA)
Abstract
本发明涉及通讯协议编程方法技术领域,特别涉及一种多种通讯协议通用编程方法。本发明公开了多种通讯协议通用编程方法,使用通用的程序结构对指定格式的配置文件进行解析,从而实现对不同通信协议的兼容,不同的通信协议使用同样的程序结构和配置文件即可实现,通用的程序结构和配置文件确定以后,如若添加新的通信协议,只需要增加配置文件内容,此种编程方法解决了设备编程需要对不同通信协议专门定制的问题,提高了程序的通用性、可维护性以及快速实现性,缩短了程序的开发周期。
Description
技术领域
本发明涉及通讯协议编程方法技术领域,特别涉及一种多种通讯协议通用编程方法。
背景技术
随着我国通信事业的快速发展,通信网的规模不断扩大,数据中心的数量越来越多,动环监控系统(动环监控是指针对各类机房中的动力设备以及环境变量进行集中监控)也越来越多,因为整个动环监控需要采集和控制的设备多种多样,如何快速的实现不同设备通信协议的开发和部署已经变得非常迫切。
现在市场上的动环监控系统的不同设备通信协议的定制往往以单独定制为主,没有兼容性和通用性,往往增加一类通信协议,需要投入很多的人力进行开发和测试,且不利于后期的维护。
发明内容
为了解决现有技术的问题,本发明提供了一种多种通讯协议通用编程方法,其对多种通信协议的实现提供了兼容性和通用性更好、实现更快速的编程方法。
本发明所采用的技术方案如下:
一种多种通讯协议通用编程方法,包括对通信协议程序编程所依托的配置文件的配置和对所述配置文件的解析方法:
配置所述的配置文件的方法是:多个相同设备ID的采集点组成一种设备的配置文件属性,排列原则为相同设备点类型,设备地址依次累加,按照设备地址从小到大的顺序;
所述的配置文件的解析方法包括:
A、根据每种协议的底层解析和组帧方式,分别编写不同的协议解析和组帧内容,接口相同;此层是最底层的,根据不同的协议内容,组成最基本的数据包,不包含任何的逻辑和业务层的内容;
B、根据不同协议的上层处理方式,分别编写不同的协议处理内容,接口相同;此层根据上层传入解析的配置文件内容,对关系到组帧和方式的内容进行中间层处理,具体处理根据配置文件中每个设备采集点的寄存器地址的连续性以及采集点的设备类型,可以判断该组帧数据的命令码以及需要接受的数据帧的长度;根据每个设备采集点的是否进行采集、保存、报警属性,可以在组帧的时候决定是否对该点进行采集,采集之后是否进行保存,根据上下限和报警属性是否进行相关报警;
C、将相应的配置文件作为输入,按照所述步骤B的方法进行相应的处理。
配置文件能够获取:a、设备的唯一ID,用来区别不同的设备;b、设备的名字,用来对设备进行解释,用来规定设备参与解析的设备地址,设备采集点的描述和额外描述,设备采集点的上限)和下限,设备采集点来源是什么,该设备采集点是否应该进行采集、保存、报警,设备采集点的类型,设备采集点的寄存器地址、数字量描述、设备采集点的命令额外解释。
配置是文件遵循指定的XML文档结构和数据项排列结构,为通用的程序结构提供输入的配置文件。
通信协议,是满足国际标准、以查询为特征的通用协议。
本发明提供的技术方案带来的有益效果是:
本发明公开了多种通讯协议通用编程方法,使用通用的程序结构对指定格式的配置文件进行解析,从而实现对不同通信协议的兼容,不同的通信协议使用同样的程序结构和配置文件即可实现,通用的程序结构和配置文件确定以后,如若添加新的通信协议,只需要增加配置文件内容(和原来的内容一致,无须添加新的配置项)即可,此种编程方法解决了设备编程需要对不同通信协议专门定制的问题,提高了程序的通用性、可维护性以及快速实现性,缩短了程序的开发周期。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明的一种多种通讯协议通用编程方法的程序解析流程图;
图2为本发明的一种多种通讯协议通用编程方法的业务流程图;
图3为本发明的一种多种通讯协议通用编程方法的程序组帧流程图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。
实施例一
1、配置文件
整个通信协议程序编程所依托的配置文件内容如下:
该配置文件能够获取设备的唯一ID(DeviceId),用来区别不同的设备;设备的名字(Name)用来对设备进行解释,用来规定设备参与解析的设备地址(Address),设备采集点的描述(Description)和额外描述(ExDesc),设备采集点的上限(Uplimit)和下限(Downlimit),设备采集点来源是什么(PointSource),该设备采集点是否应该进行采集(Scan)、保存(Archiving)、报警(Alarm),设备采集点的类型(数字量、离散量、模拟量等,PointType),设备采集点的寄存器地址(InstrumentTagAddr)、数字量描述(DigitalSet)、设备采集点的命令额外解释(CmdShift)。以上描述的内容为一个设备采集点所有的属性,多个相同设备ID的采集点组成一种设备的配置文件属性,排列原则为相同设备点类型,设备地址依次累加,按照设备地址从小到大的顺序。此配置文件可包括多个设备。依托此配置文件,完全可以满足不同通信协议的要求。
2、程序解析流程
程序对配置文件的解析流程如图1所示,可分为三大步骤:
第一步:根据每种协议的底层解析和组帧方式,分别编写不同的协议解析和组帧内容,接口相同;此层是最底层的,根据不同的协议内容,组成最基本的数据包,不包含任何的逻辑和业务层的内容。
第二步:根据不同协议的上层处理方式,分别编写不同的协议处理内容,接口相同;此层根据上层传入解析的配置文件内容,对关系到组帧和方式的内容进行中间层处理,具体处理根据配置文件中每个设备采集点的寄存器地址的连续性以及采集点的设备类型,可以判断该组帧数据的命令码以及需要接受的数据帧的长度。根据每个设备采集点的是否进行采集、保存、报警属性,可以在组帧的时候决定是否对该点进行采集,采集之后是否进行保存,根据上下限和报警属性是否进行相关报警。
第三步:主要应用,此部分表现在主要应用程序中,接口相同,只需要将相应的配置文件作为输入即可。相应的处理由第二步进行处理。
3、业务流程
具体的业务流程如图2所示,以MODBUSRTU协议为例,按照解析步骤来进行描述,即将上面所述的对配置文件的解析流程按照倒叙的方式进行阐述。首先,加载配置文件,按照设备采集点是否采集、设备类型、设备地址的连续性,进行数据的组帧,根据设备类型(模拟量或者数字量)、采集点的数量以及设备寄存器地址,可确定数据包的命令码,比如设备类型为模拟量,如果连续采集点大于1个,则命令码为0x10,如果采集点个数为1个,则根据需要,命令码可为0x03。根据MODBUSRTU的特性,同时根据寄存器地址连续的采集点数量,可获取需要接收的数据长度。根据采集点是否采集属性,可确定组帧是否包括该采集点。对设备查询的最大的目的是对所接收的数据进行信息的展示和保存,根据采集点的是否保存属性可以决定此寄存器的数据是否进行保存,根据采集点的描述(Description),可以决定该采集点是否应该进行相应物理设备的展示,比如液晶或者其它显示介质。同理,如果是控制的话,也可根据该采集点属性确定发送控制的数据帧格式和内容。
对配置文件进行解析
对加载的配置文件进行统一处理,获取公共的参数
其次,在确定上层的数据帧内容之后,根据不同的协议处理方式,对内容进行不同的处理,将其所为输入参数输入到此层解析和组帧的接口中。最后,此层解析和组帧内容对上层传入的内容进行MODBUSRTU底层组帧和解析。
接收组帧
发送组帧:
以上所述主要是从解析流程和业务实际操作流程进行了阐述,并具体举例说明了部分实现,在此不再对所有通信协议一一列举,而且本发明并不局限于上述功能,可在此基础上兼容更多通信协议的实现。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (4)
1.一种多种通讯协议通用编程方法,包括对通信协议程序编程所依托的配置文件的配置和对所述配置文件的解析方法,其特征在于,
配置所述的配置文件的方法是:多个相同设备ID的采集点组成一种设备的配置文件属性,排列原则为相同设备点类型,设备地址依次累加,按照设备地址从小到大的顺序;
所述的配置文件的解析方法包括:
A、根据每种协议的底层解析和组帧方式,分别编写不同的协议解析和组帧内容,接口相同;此层是最底层的,根据不同的协议内容,组成最基本的数据包,不包含任何的逻辑和业务层的内容;
B、根据不同协议的上层处理方式,分别编写不同的协议处理内容,接口相同;此层根据上层传入解析的配置文件内容,对关系到组帧和方式的内容进行中间层处理,具体处理根据配置文件中每个设备采集点的寄存器地址的连续性以及采集点的设备类型,可以判断该组帧数据的命令码以及需要接受的数据帧的长度;根据每个设备采集点的是否进行采集、保存、报警属性,可以在组帧的时候决定是否对该点进行采集,采集之后是否进行保存,根据上下限和报警属性是否进行相关报警;
C、将相应的配置文件作为输入,按照所述步骤B的方法进行相应的处理。
2.根据权利要求1所述的一种多种通讯协议通用编程方法,其特征在于,所述的配置文件能够获取:a、设备的唯一ID,用来区别不同的设备;b、设备的名字,用来对设备进行解释,用来规定设备参与解析的设备地址,设备采集点的描述和额外描述,设备采集点的上限)和下限,设备采集点来源是什么,该设备采集点是否应该进行采集、保存、报警,设备采集点的类型,设备采集点的寄存器地址、数字量描述、设备采集点的命令额外解释。
3.根据权利要求1或2所述的一种多种通讯协议通用编程方法,其特征在于,所述的配置是文件遵循指定的XML文档结构和数据项排列结构,为通用的程序结构提供输入的配置文件。
4.根据权利要求1或2所述的一种多种通讯协议通用编程方法,其特征在于,所述的通信协议,是满足国际标准、以查询为特征的通用协议。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610145809.2A CN105812368A (zh) | 2016-03-15 | 2016-03-15 | 一种多种通讯协议通用编程方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610145809.2A CN105812368A (zh) | 2016-03-15 | 2016-03-15 | 一种多种通讯协议通用编程方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN105812368A true CN105812368A (zh) | 2016-07-27 |
Family
ID=56468360
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610145809.2A Pending CN105812368A (zh) | 2016-03-15 | 2016-03-15 | 一种多种通讯协议通用编程方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105812368A (zh) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108459552A (zh) * | 2018-01-31 | 2018-08-28 | 南京拓控信息科技股份有限公司 | 一种智能化面向对象的可编程的自动化控制方法 |
WO2018165902A1 (zh) * | 2017-03-15 | 2018-09-20 | 深圳中兴力维技术有限公司 | 一种通信协议解析代码自动生成方法及系统 |
CN108737123A (zh) * | 2017-04-13 | 2018-11-02 | 厦门科灿信息技术有限公司 | 一种采集器通讯协议的配置方法 |
CN109596157A (zh) * | 2018-11-12 | 2019-04-09 | 中国兵器装备集团上海电控研究所 | 灭火抑爆系统中上传光学探测器产品编号的方法 |
CN109669685A (zh) * | 2018-11-30 | 2019-04-23 | 中国电子科技集团公司第五十八研究所 | 通用编程器及其编程方法 |
CN109684879A (zh) * | 2018-12-21 | 2019-04-26 | 北京计算机技术及应用研究所 | 一种国产化软硬件设备的通用监控方法及系统 |
CN109768885A (zh) * | 2018-12-28 | 2019-05-17 | 厦门中控生物识别信息技术有限公司 | 一种支持多协议分布式高并发通信服务端设备和通信方法 |
CN111510159A (zh) * | 2020-05-13 | 2020-08-07 | 中国科学院自动化研究所 | 遵循通用信息交换协议规范的智能编码方法及编码器 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020161907A1 (en) * | 2001-04-25 | 2002-10-31 | Avery Moon | Adaptive multi-protocol communications system |
CN102546442A (zh) * | 2012-03-09 | 2012-07-04 | 北京神州数码思特奇信息技术股份有限公司 | 通信协议转换技术 |
CN103501291A (zh) * | 2013-09-24 | 2014-01-08 | 上海汉乾信息科技发展有限公司 | 各种设备传感器的多协议数据采集系统及方法 |
-
2016
- 2016-03-15 CN CN201610145809.2A patent/CN105812368A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020161907A1 (en) * | 2001-04-25 | 2002-10-31 | Avery Moon | Adaptive multi-protocol communications system |
CN102546442A (zh) * | 2012-03-09 | 2012-07-04 | 北京神州数码思特奇信息技术股份有限公司 | 通信协议转换技术 |
CN103501291A (zh) * | 2013-09-24 | 2014-01-08 | 上海汉乾信息科技发展有限公司 | 各种设备传感器的多协议数据采集系统及方法 |
Non-Patent Citations (3)
Title |
---|
PATRICK G. BRIDGES 等: "A Configurable and Extensible Transport Protocol", 《IEEE/ACM TRANSACTIONS ON NETWORKING》 * |
俞晓华 等: "一种能耗数据采集协议描述及生成解析方法", 《计算机技术与发展》 * |
赵奎 等: "基于XML的现场总线设备互操作性研究", 《自动化仪表》 * |
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2018165902A1 (zh) * | 2017-03-15 | 2018-09-20 | 深圳中兴力维技术有限公司 | 一种通信协议解析代码自动生成方法及系统 |
CN108737123A (zh) * | 2017-04-13 | 2018-11-02 | 厦门科灿信息技术有限公司 | 一种采集器通讯协议的配置方法 |
CN108459552A (zh) * | 2018-01-31 | 2018-08-28 | 南京拓控信息科技股份有限公司 | 一种智能化面向对象的可编程的自动化控制方法 |
CN108459552B (zh) * | 2018-01-31 | 2021-07-23 | 南京拓控信息科技股份有限公司 | 一种智能化面向对象的可编程的自动化控制方法 |
CN109596157A (zh) * | 2018-11-12 | 2019-04-09 | 中国兵器装备集团上海电控研究所 | 灭火抑爆系统中上传光学探测器产品编号的方法 |
CN109669685A (zh) * | 2018-11-30 | 2019-04-23 | 中国电子科技集团公司第五十八研究所 | 通用编程器及其编程方法 |
CN109669685B (zh) * | 2018-11-30 | 2022-02-15 | 中国电子科技集团公司第五十八研究所 | 通用编程器及其编程方法 |
CN109684879A (zh) * | 2018-12-21 | 2019-04-26 | 北京计算机技术及应用研究所 | 一种国产化软硬件设备的通用监控方法及系统 |
CN109684879B (zh) * | 2018-12-21 | 2023-08-18 | 北京计算机技术及应用研究所 | 一种国产化软硬件设备的通用监控方法及系统 |
CN109768885A (zh) * | 2018-12-28 | 2019-05-17 | 厦门中控生物识别信息技术有限公司 | 一种支持多协议分布式高并发通信服务端设备和通信方法 |
CN111510159A (zh) * | 2020-05-13 | 2020-08-07 | 中国科学院自动化研究所 | 遵循通用信息交换协议规范的智能编码方法及编码器 |
CN111510159B (zh) * | 2020-05-13 | 2022-03-08 | 中国科学院自动化研究所 | 遵循通用信息交换协议规范的智能编码方法及编码器 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105812368A (zh) | 一种多种通讯协议通用编程方法 | |
CN108769165B (zh) | 一种物联网中数据处理方法、物联网接入系统 | |
WO2018006789A1 (zh) | 一种参数校验方法和装置、以及网管服务器和计算机存储介质 | |
US9921569B2 (en) | Field device commissioning system and method | |
CN106302008A (zh) | 数据更新方法和装置 | |
CN106569801A (zh) | 一种基于复杂参数的组态化显控系统 | |
Da'na et al. | Development of a monitoring and control platform for PLC-based applications | |
US10405155B2 (en) | Cloud-based device configuration management of heterogeneous devices | |
CN109218139A (zh) | 网关测试系统 | |
CN106301910B (zh) | 一种WiFi设备的烧录系统及其方法 | |
CN108073402A (zh) | 基于Linux系统的kafka集群自动部署方法和装置 | |
CN105915657B (zh) | 数据的同步方法、装置及客户端 | |
CN103425497B (zh) | 一种网络工程脚本跨厂家转换的方法和装置 | |
CN105068809A (zh) | 基于PyQt实现自动化项目管理及用例执行的平台 | |
CN107741950A (zh) | 数据同步任务的处理方法、装置、处理器及服务端 | |
CN110796367A (zh) | 一种基于信息远方标识的设备信息管理方法、装置及终端 | |
CN106452815B (zh) | 一种信息化管理方法、装置及系统 | |
CN106777368A (zh) | 数据库查询语言适配方法及装置、分布式数据存储系统 | |
CN107229566A (zh) | 用于soa服务转换语言保持功能一致性的方法及系统 | |
CN115794106A (zh) | 一种轨道交通二进制协议数据配置式解析的方法及系统 | |
Ok et al. | A Survey of Industrial Internet of Things Platforms for Establishing Centralized Data‐Acquisition Middleware: Categorization, Experiment, and Challenges | |
CN105224420B (zh) | 一种自动解析终端异常的分析方法及系统 | |
CN106292584A (zh) | 一种基于模块化的控制单元的柔性制造系统 | |
CN103957539B (zh) | 移动通信网络信息采集方法及系统 | |
CN112882708A (zh) | 列表界面的实现方法及装置、电子设备、存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20160727 |