首页> 中国专利> 协议自动更新方法及系统

协议自动更新方法及系统

摘要

本发明公开了一种协议自动更新方法及系统,所述方法包括:建立协议族下同类设备的语义模型,在所述语义模型中,建立所述同类设备的每个设备属性分别与不同子类设备的通信协议特征的对应关系;根据所述语义模型将更新前的子类设备的每个属性的通信协议特征替换为更新后的子类设备的相应属性的通信协议特征。采用本发明的技术方案,可以提升同类设备通信协议替换时软件开发应用的可维护性及开发效率。

著录项

  • 公开/公告号CN112333193A

    专利类型发明专利

  • 公开/公告日2021-02-05

    原文格式PDF

  • 申请/专利权人 珠海格力电器股份有限公司;

    申请/专利号CN202011233745.4

  • 发明设计人 王灵军;李杰;刘鑫;夏元仕;

    申请日2020-11-06

  • 分类号H04L29/06(20060101);

  • 代理机构44247 深圳市康弘知识产权代理有限公司;

  • 代理人吴敏

  • 地址 519000 广东省珠海市前山金鸡西路

  • 入库时间 2023-06-19 09:49:27

说明书

技术领域

本发明涉及通讯协议领域,尤其涉及一种协议自动更新方法及系统。

背景技术

在物联网通信协议中,有一类协议会组成协议族,该族协议遵循同样的协议栈,但是使用不用的Id 来表示不同类的设备数据。比如使用Modbus、MQTT、CAN来实现物联网通信,设备可以分成不同的类别,如灯、空调、储能电池、温度传感器、电能表等,这构成一个协议家族。

比如对于电能表这个大类,不同的制造商可能使用不同的Id来表示自己的数据(即大类中的小类)。对于组态软件所开发的项目应用来说,会出现应用程序需要替换使用不同的物理设备;或者开发项目应用过程中出现开发时和应用时使用同大类的不同子类的设备,比如开发时使用A厂家的电表,实际应用部署时使用B厂家的电表;或者开发时使用A厂家的电表,但由于某种原因,A厂家的电表不再提供,需要替换为B厂家的;或者纯粹是因为设计失误。不同厂家的电表通信数据在通信协议中的表示方式各有差异,即使同一个厂家的由于历史原因或技术原因也会有所差异。

对于前述场景,怎样最大程度的保存组态软件已有的成果,使得设备更新的代价更小。现有的技术一般需要手工重新编写该部分代码以达到设备切换的目的。

发明内容

本发明的目的是针对现有技术的组态软件应用于不同的设备时需要重写编写代码的问题,本发明提出一种协议自动更新方法及系统。

本发明实施例中,提供了一种协议自动更新方法,其包括:

建立协议族下同类设备的语义模型,在所述语义模型中,建立所述同类设备的每个设备属性分别与不同子类设备的通信协议特征的对应关系;

根据所述语义模型将更新前的子类设备的每个属性的通信协议特征替换为更新后的子类设备的相应属性的通信协议特征。

在所述语义模型中,还定义了所述同类设备的各个属性之间的对应关系。

在所述语义模型中,还定义了不同子类设备的通信协议的转换规则。

本发明实施例中,在所述语义模型中,采用元数据来描述所述同类设备的各个属性。

本发明实施例中,所述的协议自动更新方法,还包括:

将通信协议更新的信息展示给开发者,供开发者进行审阅及更正。

本发明实施例中,还提供了一种协议自动更新系统,其包括:

语义模型建立模块,用于建立协议族下同类设备的语义模型,在所述语义模型中,建立所述同类设备的每个设备属性分别与不同子类设备的通信协议特征的对应关系;

协议更新模块,用于根据所述语义模型将更新前的子类设备的每个属性的通信协议特征替换为更新后的子类设备的相应属性的通信协议特征。

本发明实施例中,所述语义模型建立模块,还包括:

更新规则设置单元,用于设置各个不同子类设备的通信协议的转换规则。

本发明实施例中,所述的协议自动更新系统,还包括:

更新信息展示模块,用于将通信协议更新的信息展示给开发者;

更新勘误模块,用于开发者对通信协议更新中出现的错误进行更正。

与现有技术相比较,在本发明的协议自动更新方法及系统中,在协议族内通过同类设备的语义模型来实现同类设备的数据更新,自动实现设备通信协议的替换,更新前后不改变被替换的数据语义,对于组态软件所开发的应用程序而言,由于不改变数据语义,应用程序可维持原有数据语义使用的一致性,可以提升同类设备通信协议替换时组态软件开发应用的可维护性及开发效率,最大程度的保存组态软件已有的成果,使得设备更新的代价更小。

附图说明

图1是本发明实施例的协议自动更新方法的流程图。

图2是本发明实施例的协议自动更新系统的结构示意图。

具体实施方式

如图1所示,本发明实施例中,提供了一种协议自动更新方法,其包括步骤S1-S3。下面分别进行说明。

步骤S1:建立协议族下同类设备的语义模型,在所述语义模型中,建立所述同类设备的每个设备属性分别与不同子类设备的通信协议特征的对应关系;

需要说明的是,对于协议族下的同类设备来说,每类设备的语义模型都由一个特定的变量集合表示,这个特定的变量集合为所述同类设备下的所有子类设备的所有属性组成。比如空调类设备具有环境温度,制冷温度、风速等属性;电能表类具有电流、电压、功率、电量等属性。这些属性都是通过通信数据帧来进行传输。在不同子类的设备中,对于一个相同的属性,厂商可能采用不同的通信协议特征来定义。例如,在厂家A的电能表中,电流的表示可能采用某个通信帧的第1、2字节的编码表示;而在厂家B的电能表中,电流的表示可能采用第3、4字节表示。如果将厂家A的电能表替换为厂家B的电能表,在进行编解码时,则需要根据厂家B的电能表来更新编解码算法,来适应厂家B的电能表的通信协议。

因此,在本发明实施例中,采用了元数据来描述所述同类设备的各个属性,将所述同类设备的各个子类设备的属性罗列出来,并且建立每个属性与不同的子类设备的通信协议特征的对应关系。例如,将各种电能表的所有属性(电流、电压、功率、能耗等)都采用元数据进行描述,并将每种属性与各种电能表的通信协议特征对应起来,对于电能表的电流属性,对应于厂家A的通信帧的第1、2字节,对应于厂家B的通信帧的第3、4字节。

在所述语义模型中,还定义了所述同类设备的各个属性之间的对应关系。由于一个大类的同类设备都是为了实现一些相同或者相似的功能,某个子类设备的属性可能在另一个子类设备的属性中没有完全一样的属性,但是可能会具有一些具有近似含义的属性特征。比如,在电能表A中有电流及电压,在电能表B中则是采用电流和功能率,并没有电压。但是,可以通过电能表B中的电流和功率计算出电能表A中的电压,也可以通过电能表A中的电流和电压计算出电能表B中的功能。因此,可以定义出电能表的电压属性、电流属性及功率属性之间的计算关系。在进行设备更新时,如果新的设备中的某个属性在旧设备的属性中没有找到,可以通过找到旧设备中与这个属性具有关联关系的属性来得到这个属性的变量值。

进一步地,根据所述同类设备的每个设备属性分别与不同子类设备的通信协议特征的对应关系,可以得到不同子类设备的相同通信协议特征的对应关系。因此,在所述语义模型中,还可以定义不同子类设备的通信协议的转换规则,用于对不同子类设备的通信协议进行转换。

步骤S2:根据所述语义模型将更新前的子类设备的每个属性的通信协议特征替换为更新后的子类设备的相应属性的通信协议特征。

组态软件在打开项目文件时,检测到使用了新设备替换了旧设备,采用所述语义模型来得到所述新设备的各个属性及其对应的通信协议特征,然后再根据所述语义模型中旧设备的各个相同属性对应的通信协议特征,将旧设备的每个属性的通信协议特征替换为新设备的相应属性的通信协议特征,从而在对新设备的通信协议进行解码时,得到的各种属性变量值仍然是组态软件原来的代码中需要的属性变量值。例如,原先项目中使用旧设备的通信协中的电流属性的通信协议特征,应更新为新设备的通信协议中的电流属性的通信协议特征。对于组态软件的项目工程来说,虽然更换了设备,但是使用的数据中,电流还是电能表的电流,替换前后的语义并不会发生变化,其使用的方式也不会发生变化,所以最大化地保留了项目工程的已有工作成果,最小化了协议更新所带来的代价。

步骤S3:将通信协议更新的信息展示给开发者,供开发者进行审阅及更正。

需要说明的是,完成了通信协议更新后,可以将更新前后的代码变化展示给软件开发者,供其了解通信协议的更新情况,供其进行手工勘误,以修正自动更新所带来的偏差。

值得注意的是,本领域普通技术人员可以理解:实现上述方法的步骤或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤,而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。

如图2所示,本发明实施例中,还提供了一种协议自动更新系统,其包括语义模型建立模块1、协议更新模块2、更新信息展示模块3及更新勘误模块4。下面分别进行说明。

所述语义模型建立模块1,用于建立协议族下同类设备的语义模型,在所述语义模型中,建立所述同类设备的每个设备属性分别与不同子类设备的通信协议特征的对应关系。在所述语义模型中,采用元数据来描述所述同类设备的各个属性。在所述语义模型中,定义了所述同类设备的各个属性之间的对应关系。进一步地,在所述语义模型建立模块1中,还可以设置一更新规则设置单元,用于根据所述同类设备的各个属性来设置不同子类设备的通信协议的转换规则。在进行更新时,所述协议更新模块2可以直接采用所述更新规则设置单元中设置的转换规则来进行通信协议的转换。

所述协议更新模块2,用于根据所述语义模型将更新前的子类设备的每个属性的通信协议特征替换为更新后的子类设备的相应属性的通信协议特征。

所述更新信息展示模块3,用于将通信协议更新的信息展示给开发者。

所述更新勘误模块4,用于开发者对通信协议更新中出现的错误进行更正,以修正自动更新所带来的偏差。

需要说明的是,上述协议自动更新系统中,各模块/单元之间的信息交互、执行过程等内容,与本发明实施例提供的协议自动更新方法基于同一构思,其实现过程和带来的技术效果与所述协议自动更新方法相同,具体内容可参见对所述协议自动更新方法的相关叙述,此处不再赘述。

综上所述,在本发明的协议自动更新方法及系统中,在协议族内通过同类设备的语义模型来实现同类设备的数据更新,自动实现设备通信协议的替换,更新前后不改变被替换的数据语义,对于组态软件所开发的应用程序而言,由于不改变数据语义,应用程序可维持原有数据语义使用的一致性,可以提升同类设备通信协议替换时组态软件开发应用的可维护性及开发维护效率,最大程度的保存组态软件已有的成果,使得设备更新的代价更小。

以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号