CN112417515A - 组态软件协议处理方法及系统 - Google Patents

组态软件协议处理方法及系统 Download PDF

Info

Publication number
CN112417515A
CN112417515A CN202011262681.0A CN202011262681A CN112417515A CN 112417515 A CN112417515 A CN 112417515A CN 202011262681 A CN202011262681 A CN 202011262681A CN 112417515 A CN112417515 A CN 112417515A
Authority
CN
China
Prior art keywords
protocol
file
configuration software
description file
metadata description
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
Application number
CN202011262681.0A
Other languages
English (en)
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.)
Gree Electric Appliances Inc of Zhuhai
Original Assignee
Gree Electric Appliances Inc of Zhuhai
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 Gree Electric Appliances Inc of Zhuhai filed Critical Gree Electric Appliances Inc of Zhuhai
Priority to CN202011262681.0A priority Critical patent/CN112417515A/zh
Publication of CN112417515A publication Critical patent/CN112417515A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/64Protecting data integrity, e.g. using checksums, certificates or signatures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/41Compilation
    • G06F8/44Encoding
    • G06F8/447Target code generation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/03Protocol definition or specification 
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/18Multiprotocol handlers, e.g. single devices capable of handling multiple protocols

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • General Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • Health & Medical Sciences (AREA)
  • Computer And Data Communications (AREA)

Abstract

本发明公开了一种组态软件协议处理方法及系统,所述方法包括:将待处理的协议文件转换为协议元数据描述文件,所述协议元数据描述文件中,采用了元数据来描述所述协议文件的各个变量对应的协议特征;组态软件加载所述协议元数据描述文件,建立与所述协议元数据描述文件相应的协议模型;根据目标应用场景,将所述协议模型翻译成相应的目标语言代码。采用本发明的技术方案,可以提升组态软件的可维护性及开发效率。

Description

组态软件协议处理方法及系统
技术领域
本发明涉及组态软件领域,尤其涉及一种组态软件协议处理方法及系统。
背景技术
一般组态软件开发的应用程序工作于多种工业控制场景,需要支持数百种通信协议,这些协议常以二进制的方式编码,协议的支持是其最重要的一部分功能之一。组态软件需要编写特定的代码来处理,这样才能支持。一般来说每种的协议栈是稳定的,但是其中的数据部分根据使用场景千变万化(比如说遵从Modbus协议,只是说遵从同样的协议栈,如功能码、数据类型等;但是每种应用场景下的Modbus协议其数据部分是千变万化的,不同制造或集成商都可以根据自己的需求来定义)。
如果针对每种协议编写特定代码导致组态软件难以维护和扩展,动辄修改代码,同时也会耗费巨大的人力和时间,效率也很低,难以实现自动化处理协议。
一般为了保持组态软件在协议支持方面的可扩展性,会使用插件的方式,即用一个专门的插件来实现对某个协议的支持,插件使用代码的方式来具体处理每个通信字节的编码和解码。这种方式维持了组态软件在协议方面的可扩展性,但是由于需要人工来编写一行行代码,会受到编码人质量的干扰,效率低下,自动化程度低。
发明内容
本发明的目的是针对现有技术的每种协议编写特定代码导致组态软件难以维护和扩展的技术问题,本发明提出一种组态软件协议处理方法及系统。
本发明实施例中,提供了一种组态软件协议处理方法,其包括:
加载由待处理的协议文件转换得到的协议元数据描述文件,所述协议元数据描述文件中,采用了元数据来描述所述协议文件的各个变量对应的协议特征;
建立与所述协议元数据描述文件相应的协议模型;
根据目标应用场景,将所述协议模型翻译成相应的目标语言代码。
本发明实施例中,所述协议文件中的各个变量的协议特征包括:变量名称、数据类型、在通信帧中的地址、数据类别、数据计算规则、设备类别、设备描述、协议帧类型、协议栈。
本发明实施例中,所述的组态软件协议处理方法,还包括:
检查所述协议元数据描述文件的防篡改标记,来验证所述协议文件元数据描述文件的完整性。
本发明实施例中,生成目标应用场景的协议处理代码之前,还包括:
在组态软件中展示和管理所述协议模型。
本发明实施例中,所述的组态软件协议处理方法,还包括:
将待处理的协议文件转换为协议元数据描述文件。
本发明实施例中,还提供了一种组态软件协议处理系统,其包括:
协议加载模块,用于加载由待处理的协议文件转换得到的协议元数据描述文件,所述协议元数据描述文件中,采用了元数据来描述所述协议文件的各个变量对应的协议特征;
协议模型建立模块,用于建立与所述协议元数据描述文件相应的协议模型;
目标代码生成模块,用于根据目标应用场景,将所述协议模型翻译成相应的目标语言代码。
本发明实施例中,所述协议文件中的各个变量的协议特征包括:变量名称、数据类型、在通信帧中的地址、数据类别、数据计算规则、设备类别、设备描述、协议帧类型、协议栈。
本发明实施例中,所述的组态软件协议处理系统,还包括:
安全检测模块,用于检查所述协议元数据描述文件的防篡改标记,来验证所述协议文件元数据描述文件的完整性。
本发明实施例中,所述的组态软件协议处理系统,还包括:
协议模型管理模块,用于在组态软件中展示所述协议模型,供用户进行查看和管理。
本发明实施例中,所述的组态软件协议处理系统,还包括:
协议转换模块,用于将待处理的协议文件转换为协议元数据描述文件。
与现有技术相比较,在本发明的组态软件协议处理方法及系统中,将待处理的协议文件转换为协议元数据描述文件并发送给组态软件,所述协议元数据描述文件中,采用了元数据来描述所述协议文件的各个变量对应的协议特征,组态软件读取所述协议元数据描述文件,建立与所述协议元数据描述文件相应的协议模型,根据目标应用场景,将所述协议模型翻译成相应的目标语言代码,提高了对协议的自动化处理程度,提升组态软件的可维护性,提升开发效率和质量。
附图说明
图1是本发明实施例的组态软件协议处理方法的流程图。
图2是本发明实施例的组态软件协议处理系统的结构示意图。
具体实施方式
如图1所示,本发明实施例中,提供了一种组态软件协议处理方法,其包括步骤S1-S8。下面分别进行说明。
步骤S1:从多个协议文件中抽象出协议文件的各个变量,采用通用的协议元数据文件来描述每个协议文件中各个变量对应的协议特征。
需要说明的是,对于一般工控的协议数据可以抽象为3种对象:设备类、协议帧和数据单元。设备类包含设备特有的属性,其表现为数据单元,数据单元表示每个设备通信数据的具体含义,比如某个字节代表了环境温度。数据单元由协议帧封装。协议文件的各个变量对应的协议特征包括:变量名称、数据类型、在通信帧中的地址、数据类别、数据计算规则、设备类别、设备描述、协议帧类型、协议栈。由此,可以抽象出协议文件中的各个变量,采用元数据来描述每个变量,从而将每个协议文件转换为通用的协议元数据文件。所述协议元数据文件可以采用csv文件或json,本发明对此不进行限制。
步骤S2:将待处理的协议文件转换为协议元数据描述文件。
需要说明的是,由于在本发明实施例中,组态软件并不直接对协议文件进行处理,因此,在组态软件对协议文件进行处理前,需要进行预处理,将待处理的协议文件转换为协议元数据描述文件。将待处理的协议文件转换为协议元数据描述文件的过程包括涉及到变量名合并(比如在待处理的协议文件中,使用某个字节表示变量的高位、另外一个字节表示同一个变量的低位,在进行转换时,可以将两个字节合并,使用两个字节表示的一个变量)、数据类型推断(例如,有的协议文件只是统一说明该协议的变量是无符号数、或有符号数,或者对每一个变量单独说明,在转化为变量元数据时要补全这些信息)、计算规则解析(例如,在协议文件中规定传输值=实际值*倍率+偏移,在转化为元数据文件时,需要从其中解析出倍率、偏移等变量元数据)。
步骤S3:组态软件加载所述协议元数据描述文件。
需要说明的是,组态软件在对协议文件进行处理前,并不直接加载所述协议文件,而是加载所述协议文件对应的协议元数据描述文件。由于所述协议元数据描述文件具有通用的格式,在组态软件中预先存储了所述协议元数据描述文件的格式,可以对其进行直接解析。
步骤S4:组态软件检查所述协议元数据描述文件的防篡改标记,来验证所述协议文件元数据描述文件的完整性。
需要说明的时,为了防止所述协议元数据描述文件被篡改或者数据丢失,组态软件在加载所述协议元数据描述文件后,检查所述协议元数据描述文件的防篡改标记,来验证所述协议文件元数据描述文件的完整性。所述防篡改标记可以是采用哈希计算得到的校验值。
步骤S5:组态软件在内存中建立与所述协议元数据描述文件相应的协议模型。
需要说明的是,由于在所述协议元数据描述文件中,描述了每个变量对应的协议特征。因此,在所述协议模型中,可以根据每个变量对应的协议特征来解析出每个变量的值;并且,可以根据元数据中的通信帧类型、每个变量在通信帧中的位置,可以将相关变量按照位置聚合成某个通信帧;还可以根据元数据的设备类型,可以将相关变量聚合成某类设备对象。
步骤S6:在组态软件中展示和管理所述协议模型。
需要说明的是,在组态软件中建立所述协议模型后,可以展示给用户,供用户进行查看和管理。
步骤S7:根据目标应用场景,将所述协议模型翻译成相应的目标语言代码。
需要说明的是,通信帧的类型在每种协议栈都会有定义,一般特定的通信帧表示了特定的功能。基于通信帧的类型,按照其聚合的变量集合,逐一自动翻译成每个变量的处理(编码/解码)代码。比如某个通信帧第一个变量A,为16位无符号数(2字节),其计算规则为传输值=实际值*10 + 40。分为编码和解码两个方向,编码即将变量的实际值表示为通信帧的二进制数据;解码即从通信帧中特定的数据中解析出该变量的实际值。对于变量A ,其编码过程为,先通过计算规则,将实际值转换为传输值,然后根据数据类型,编码为两个字节的无符号数,最后根据其帧类型和在该帧中的位置(例如A是某个通信帧的第一个变量),故放置到该帧中字节位置为0的位置,且连续占用两个字节(第0,1字节);反之,则连续取该帧的0,1字节,通过类型转换和计算规则,解析成该变量的实际值。遍历该通信帧的模型,逐一进行相应的编码/解码代码翻译。
值得注意的是,本领域普通技术人员可以理解:实现上述方法的步骤或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤,而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
如图2所示,本发明实施例中,还提供了本发明实施例中,还提供了一种组态软件协议处理系统,其包括协议转换模块1、协议加载模块2、安全检测模块3、协议模型建立模块4、协议模型管理模块5及目标代码生成模块6。
所述协议转换模块1,用于将待处理的协议文件转换为协议元数据描述文件,所述协议元数据描述文件中,采用了元数据来描述所述协议文件的各个变量对应的协议特征。所述协议文件中的各个变量的协议特征包括:变量名称、数据类型、在通信帧中的地址、数据类别、数据计算规则、设备类别、设备描述、协议帧类型、协议栈。所述协议转换模块1将待处理的协议文件转换为协议元数据描述文件的过程包括:变量名合并、数据类型推断及计算规则解析。
所述协议加载模块2,用于加载所述协议元数据描述文件。
所述安全检测模块3,用于检查所述协议元数据描述文件的防篡改标记,来验证所述协议文件元数据描述文件的完整性。
所述协议模型建立模块4,用于建立与所述协议元数据描述文件相应的协议模型。
所述协议模型管理模块5,用于在组态软件中展示所述协议模型,供用户进行查看和管理。
所述目标代码生成模块6,用于根据目标应用场景,将所述协议模型翻译成相应的目标语言代码。
需要说明的是,上述组态软件协议处理系统中,各模块/单元之间的信息交互、执行过程等内容,与本发明实施例提供的组态软件协议处理方法基于同一构思,其实现过程和带来的技术效果与所述组态软件协议处理方法相同,具体内容可参见对所述组态软件协议处理方法的相关叙述,此处不再赘述。
综上所述,在本发明的组态软件协议处理方法及系统中,将待处理的协议文件转换为协议元数据描述文件并发送给组态软件,所述协议元数据描述文件中,采用了元数据来描述所述协议文件的各个变量对应的协议特征,组态软件读取所述协议元数据描述文件,建立与所述协议元数据描述文件相应的协议模型,根据目标应用场景,将所述协议模型翻译成相应的目标语言代码,提高了对协议的自动化处理程度,提升组态软件的可维护性,提升开发效率和质量。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。

Claims (10)

1.一种组态软件协议处理方法,其特征在于,包括:
加载由待处理的协议文件转换得到的协议元数据描述文件,所述协议元数据描述文件中,采用了元数据来描述所述协议文件的各个变量对应的协议特征;
建立与所述协议元数据描述文件相应的协议模型;
根据目标应用场景,将所述协议模型翻译成相应的目标语言代码。
2.如权利要求1所述的组态软件协议处理方法,其特征在于,所述协议文件中的各个变量的协议特征包括:变量名称、数据类型、在通信帧中的地址、数据类别、数据计算规则、设备类别、设备描述、协议帧类型、协议栈。
3.如权利要求1所述的组态软件协议处理方法,其特征在于,还包括:
检查所述协议元数据描述文件的防篡改标记,来验证所述协议文件元数据描述文件的完整性。
4.如权利要求1所述的组态软件协议处理方法,其特征在于,生成目标应用场景的协议处理代码之前,还包括:
在组态软件中展示和管理所述协议模型。
5.如权利要求1所述的组态软件协议处理方法,其特征在于,还包括:
将待处理的协议文件转换为协议元数据描述文件。
6.一种组态软件协议处理系统,其特征在于,包括:
协议加载模块,用于加载由待处理的协议文件转换得到的协议元数据描述文件,所述协议元数据描述文件中,采用了元数据来描述所述协议文件的各个变量对应的协议特征;
协议模型建立模块,用于建立与所述协议元数据描述文件相应的协议模型;
目标代码生成模块,用于根据目标应用场景,将所述协议模型翻译成相应的目标语言代码。
7.如权利要求6所述的组态软件协议处理系统,其特征在于,所述协议文件中的各个变量的协议特征包括:变量名称、数据类型、在通信帧中的地址、数据类别、数据计算规则、设备类别、设备描述、协议帧类型、协议栈。
8.如权利要求6所述的组态软件协议处理系统,其特征在于,还包括:
安全检测模块,用于检查所述协议元数据描述文件的防篡改标记,来验证所述协议文件元数据描述文件的完整性。
9.如权利要求6所述的组态软件协议处理系统,其特征在于,还包括:
协议模型管理模块,用于在组态软件中展示所述协议模型,供用户进行查看和管理。
10.如权利要求6所述的组态软件协议处理系统,其特征在于,还包括:
协议转换模块,用于将待处理的协议文件转换为协议元数据描述文件。
CN202011262681.0A 2020-11-12 2020-11-12 组态软件协议处理方法及系统 Pending CN112417515A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011262681.0A CN112417515A (zh) 2020-11-12 2020-11-12 组态软件协议处理方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011262681.0A CN112417515A (zh) 2020-11-12 2020-11-12 组态软件协议处理方法及系统

Publications (1)

Publication Number Publication Date
CN112417515A true CN112417515A (zh) 2021-02-26

Family

ID=74832357

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011262681.0A Pending CN112417515A (zh) 2020-11-12 2020-11-12 组态软件协议处理方法及系统

Country Status (1)

Country Link
CN (1) CN112417515A (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113422718A (zh) * 2021-06-18 2021-09-21 河南力安测控科技有限公司 一种基于组态协议的物联网关及与设备的对接方法
CN113824591A (zh) * 2021-09-22 2021-12-21 珠海格力电器股份有限公司 一种组态软件的通信配置方法及装置
CN114257658A (zh) * 2021-12-24 2022-03-29 珠海格力电器股份有限公司 通信协议转换配置方法、通信协议转换方法和相关设备

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101035099A (zh) * 2007-02-09 2007-09-12 浙江大学 一种实现iec 61850标准的通用网关设计方法
CN101212454A (zh) * 2006-12-25 2008-07-02 深圳Tcl工业研究院有限公司 一种协议的桥接方法及设备
US20080275994A1 (en) * 2007-05-04 2008-11-06 Ricoh Company Ltd. Metadata communication system
KR20090101079A (ko) * 2008-03-21 2009-09-24 엘지전자 주식회사 Iptv 수신기의 데이터 처리 방법 및 상기 iptv 수신기
CN103473108A (zh) * 2013-08-12 2013-12-25 福建富士通信息软件有限公司 一种Java代码生成方法
CN109725617A (zh) * 2018-12-29 2019-05-07 杭州和利时自动化有限公司 一种工业组态平台的构建方法、构建系统及相关装置
CN110198247A (zh) * 2018-02-26 2019-09-03 腾讯科技(深圳)有限公司 接口测试方法及系统

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101212454A (zh) * 2006-12-25 2008-07-02 深圳Tcl工业研究院有限公司 一种协议的桥接方法及设备
CN101035099A (zh) * 2007-02-09 2007-09-12 浙江大学 一种实现iec 61850标准的通用网关设计方法
US20080275994A1 (en) * 2007-05-04 2008-11-06 Ricoh Company Ltd. Metadata communication system
KR20090101079A (ko) * 2008-03-21 2009-09-24 엘지전자 주식회사 Iptv 수신기의 데이터 처리 방법 및 상기 iptv 수신기
CN103473108A (zh) * 2013-08-12 2013-12-25 福建富士通信息软件有限公司 一种Java代码生成方法
CN110198247A (zh) * 2018-02-26 2019-09-03 腾讯科技(深圳)有限公司 接口测试方法及系统
CN109725617A (zh) * 2018-12-29 2019-05-07 杭州和利时自动化有限公司 一种工业组态平台的构建方法、构建系统及相关装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
易永辉;曹一家;郭创新;刘波;: "基于XML Schema技术的IEC 61850通用网关设计", 电力系统自动化, no. 02 *

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113422718A (zh) * 2021-06-18 2021-09-21 河南力安测控科技有限公司 一种基于组态协议的物联网关及与设备的对接方法
CN113824591A (zh) * 2021-09-22 2021-12-21 珠海格力电器股份有限公司 一种组态软件的通信配置方法及装置
CN114257658A (zh) * 2021-12-24 2022-03-29 珠海格力电器股份有限公司 通信协议转换配置方法、通信协议转换方法和相关设备

Similar Documents

Publication Publication Date Title
CN112417515A (zh) 组态软件协议处理方法及系统
CN113065656B (zh) 一种规则引擎配置方法、装置、服务器及可读存储介质
CN111209004B (zh) 代码转换方法及装置
CN110445860B (zh) 一种报文发送方法、装置、终端设备及存储介质
CN110597814B (zh) 结构化数据的序列化、反序列化方法以及装置
CN110362547B (zh) 日志文件的编码、解析、存储方法和装置
CN107566090B (zh) 一种定长/变长的文本报文处理方法及装置
CN111126006A (zh) 导出带MathType公式的Word文档方法、装置、电子设备及存储介质
CN107220138B (zh) 一种通过can总线消息解析系统、方法及其函数存取方法
CN111131403A (zh) 一种物联网设备的消息编解码方法及装置
CN114020846A (zh) 一种可更改nft作品处理方法及其装置
CN109062906B (zh) 程序语言资源的翻译方法及装置
CN114020272A (zh) 一种序列化编码、解码方法、装置及电子设备
US11581903B2 (en) Data compression method and apparatus, computer-readable storage medium, and electronic device
CN110888972A (zh) 一种基于Spark Streaming的敏感内容识别方法及装置
CN109358845B (zh) 基于xmpp协议编写js代码的方法、工具及存储介质
CN103646015B (zh) 发送、接收以及传输xml报文的方法和系统
CN117749899A (zh) 协议转换框架、设备通讯方法、装置和计算机存储介质
CN115202663A (zh) 一种数据处理方法、装置和存储介质
CN111325012B (zh) word报表生成方法与系统
CN112363939A (zh) 快速生成模糊测试网络协议模板的方法及系统、设备
CN111324645B (zh) 区块链的数据处理方法及装置
CN113504909B (zh) 工业app异构组件数据交换方法及相关设备
CN115658788A (zh) 一种物联网实时数据查询方法和系统
CN112069549B (zh) 一种在Bootstrap-table插件导出表格时图片下载方法及系统

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