本发明涉及通信协议的,尤其涉及一种通信协议的转换方法。
背景技术:
1、通信协议是指双方实体完成通信或服务所必须遵循的规则和约定。通过通信信道和设备互连起来的多个不同地理位置的数据通信系统,要使其能协同工作实现信息交换和资源共享,它们之间必须具有共同的语言。交流什么、怎样交流及何时交流,都必须遵循某种互相都能接受的规则。这个规则就是通信协议。
2、通信协议主要由以下三个要素组成:
3、语法:即如何通信,包括数据的格式、编码和信号等级(电平的高低)等。
4、语义:即通信内容,包括数据内容、含义以及控制信息等。
5、定时规则(时序):即何时通信,明确通信的顺序、速率匹配和排序。
6、工业通信协议是指工业控制领域的双方实体完成通信或服务所必须遵循的规则和约定。常见的行业标准工业通信协议有数十种,如modbus、profibus、profinet、canbus、opc、canopen、ethernet、ethercat、ethernet ip、devicenet等,还不包括各个厂家自定义的多种协议格式。
7、行业协议标准众多,在实际场景中,往往同一个系统中包含多种通信协议,要实现不同通信协议的转换,需要采用通用的一些协议转换网关进行转换,而协议网关的成本非常高,带来一定的资金(购买成品)或人力(投入人力开发转换程序)成本增加。
8、另外,现有技术中不同的通信协议中不同的数据项存在差异,现有技术中通常都是提前规划好具体的转换方式,通过编程的方式写在代码中,如何灵活地解决不同的通信协议的数据项的差异也是一直未能解决的技术问题。
9、因此,如何提供一种可以实现不同通信协议的数据项自由转换的通信协议转换方法是待解决的技术问题。
技术实现思路
1、为了解决现有技术中不同的通信协议的数据项存在差异,导致通信协议转换时处理不够灵活的技术问题,本发明提出了通信协议的转换方法、装置、存储介质。
2、本发明提出的通信协议的转换方法,包括:
3、预先准备好通信协议的数据项的多种数据转换方式,以及各数据转换方式对应的转换程序;
4、当用户选择了源通信协议的数据项与目标通信协议对应的数据项之间的数据转换方式,则在通信协议转换时,自动选择用户所选定的数据转换方式对应的转换程序对通信协议之间的数据项进行转换。
5、进一步,所述数据转换方式包括以下方式当中的至少一种:将源通信协议的多个数据项合并为目标通信协议的一个数据项、将源通信协议的一个数据项拆分为目标通信协议的多个数据项、将源通信协议的数据项的数据类型强转为目标通信协议的对应的数据项的数据类型,以及将源通信协议的多个数据项进行运算并将运算结果作为目标通信协议的至少一个数据项的内容。
6、进一步,所述数据类型为以下数据类型当中的至少一种,且所述源通信协议的数据项的数据类型与目标通信协议的对应的数据项的数据类型不同或相同:dword、word、byte、bit、double、float、int、bool、enum。
7、进一步,通过提供协议数据格式表的形式供用户选择所述源通信协议和目标通信协议,以及源通信协议和目标通信协议对应的数据项及其数据转换方式。
8、进一步,所述协议数据格式表中还提供了可供用户选择的所述源通信协议和目标通信协议的通信协议列表。
9、进一步,所述通信协议列表中可选择的通信协议包括以下通信协议当中的至少一种,且所述源通信协议和所述目标通信协议为不同的通信协议,或者所述源通信协议和所述目标通信协议为相同的通信协议,但是具有不同的协议数据格式表:modbus、profibus、profinet、canbus、opc、canopen、ethernet、ethercat、ethernet ip、devicenet。
10、进一步,所述协议数据格式表中还提供了可供用户配置的所述源通信协议和/或目标通信协议对应的设备的通信参数。
11、本发明的通信协议的转换装置,包括控制器,所述控制器运行时采用上述技术方案所述的通信协议的转换方法对源通信协议和目标通信协议进行转换。
12、本发明的通信协议的转换装置,还包括:
13、源通信协议获取模块,用于获取所述源通信协议的协议数据格式表;
14、目标通信协议获取模块,用于获取所述目标通信协议的协议数据格式表;
15、转换方式获取模块,用于获取所述源通信协议的数据项与所述目标通信协议对应的数据项的转换方式。
16、本发明提出的计算机可读存储介质,用于存储计算机程序,所述计算机程序运行时执行上述技术方案所述的通信协议的转换方法。
17、本发明使得通信协议在转换时数据项可以单独转换,分别适应,从而提高通信协议转换的灵活性和可行性,尽量满足用户的转换需求。进一步,本发明还可以提供可视化的配置方式,大幅降低协议转换的技术门槛,使得普通用户可以实现标准或非标准协议之间的灵活转换,使网关具备通用化适配能力。
1.一种通信协议的转换方法,其特征在于,包括:
2.如权利要求1所述的通信协议的转换方法,其特征在于,所述数据转换方式包括以下方式当中的至少一种:将源通信协议的多个数据项合并为目标通信协议的一个数据项、将源通信协议的一个数据项拆分为目标通信协议的多个数据项、将源通信协议的数据项的数据类型强转为目标通信协议的对应的数据项的数据类型,以及将源通信协议的多个数据项进行运算并将运算结果作为目标通信协议的至少一个数据项的内容。
3.如权利要求2所述的通信协议的转换方法,其特征在于,所述数据类型为以下数据类型当中的至少一种,且所述源通信协议的数据项的数据类型与目标通信协议的对应的数据项的数据类型不同或相同:dword、word、byte、bit、double、float、int、bool、enum。
4.如权利要求1至3任意一项所述的通信协议的转换方法,其特征在于,通过提供协议数据格式表的形式供用户选择所述源通信协议和目标通信协议,以及源通信协议和目标通信协议对应的数据项及其数据转换方式。
5.如权利要求4所述的通信协议的转换方法,其特征在于,所述协议数据格式表中还提供了可供用户选择的所述源通信协议和目标通信协议的通信协议列表。
6.如权利要求5所述的通信协议的转换方法,其特征在于,所述通信协议列表中可选择的通信协议包括以下通信协议当中的至少一种,且所述源通信协议和所述目标通信协议为不同的通信协议,或者所述源通信协议和所述目标通信协议为相同的通信协议,但是具有不同的协议数据格式表:modbus、profibus、profinet、canbus、opc、canopen、ethernet、ethercat、ethernet ip、devicenet、自定义协议。
7.如权利要求4所述的通信协议的转换方法,其特征在于,所述协议数据格式表中还提供了可供用户配置的所述源通信协议和/或目标通信协议对应的设备的通信参数。
8.一种通信协议的转换装置,包括控制器,其特征在于,所述控制器运行时采用如权利要求1至7任意一项所述的通信协议的转换方法对源通信协议和目标通信协议进行转换。
9.如权利要求8所述的通信协议的转换装置,其特征在于,还包括:
10.一种计算机可读存储介质,用于存储计算机程序,其特征在于,所述计算机程序运行时执行如权利要求1至7任意一项所述的通信协议的转换方法。