本技术涉及数据网络,尤其是涉及一种can总线与mvb总线数据转换方法、系统及存储介质。
背景技术:
1、总线是一组能够为各部件提供服务的公共信息传送线路,它能够分时地发送与接收各部件的信息,是计算机系统各部件之间传输地址、数据和控制信息的公共通道。几乎所有的总线都要传输三类信息:数据、地址和控制/状态信号,相应的每一种总线都可认为是由数据总线、地址总线和控制总线构成。数据总线用于在各个部件/设备之间传输数据信息。地址总线用于在cpu(或dma控制器)与存储器、i/o接口之间传输地址信息。控制总线用于在cpu(或dma控制器)与存储器、i/o接口之间传输控制和状态信息。
2、目前,can总线和mvb总线是工业控制领域中常用的两种数据总线。can总线是一种高速、低成本、低复杂度和多用途的现场总线技术,使用广泛,特别是在汽车和工业自动化等领域中应用广泛。mvb总线则是一种专门用于机车控制系统的数据通讯方式,主要用于机车数据通信和信号控制。can总线和mvb总线在功能、速度、传输方式和物理连接方面有很大的不同,但在实际应用中,在越来越多的地方这两种总线的应用范围逐渐产生交集,并且需要进行数据转换,以满足实际控制需求。
3、因此,为了解决上述问题,提供一种能够有效实现数据转换从而满足控制需求的can总线与mvb总线数据转换方法、系统及存储介质,是本领域技术人员亟待解决的问题。
技术实现思路
1、为了达到有效实现数据转换从而满足控制需求的效果,本技术提供了一种can总线与mvb总线数据转换方法、系统及存储介质。
2、第一方面,本技术提供了一种can总线与mvb总线的数据转换,包括以下步骤:
3、获取数据收发指令及对应的发送来源;
4、若所述发送来源为can总线,则判断从所述can总线读取的第一数据是否符合预设通信标准;
5、若符合所述预设通信标准,则解析所述第一数据的报文标识符以获取参数组号码;
6、若预设配置列表中有对应的所述参数组号码,则根据预设映射表获取对应的mvb端口作为第一交换端口;
7、将所述参数组号码对应的所述第一数据填充至所述第一交换端口;
8、获取所述第一交换端口的mvb端口数据发送至mvb总线;
9、若所述发送来源为mvb总线,则判断从所述mvb总线读取的第二数据所对应的mvb端口是否匹配所述预设映射表;
10、若匹配所述预设映射表,则获取所述mvb端口在所述预设映射表中对应的所述参数组号码作为第一交换号码;
11、将所述第二数据写入所述第一交换号码对应的数据缓存;
12、获取所述数据缓存的can数据发送至所述can总线;
13、其中,所述预设映射表为预先设置的标明所述参数组号码与所述mvb端口之间的映射关系,所述预设配置列表为预先设置的包括已知的所述参数组号码的列表。
14、可选的,在所述获取数据收发指令及对应的发送来源之前,还包括:
15、获取预设配置列表的所有所述参数组号码以及对应的号码周期和号码数据长度;
16、将所述号码周期相同的所述参数组号码作为同一个号码组,形成i个所述号码组;
17、依次为各个所述号码组分配满足预设周期要求的若干个所述mvb端口,形成i个所述分配组;
18、根据各个所述分配组中的所述号码数据长度和所述mvb端口的数据长度,按照预设长度要求,形成所述参数组号码与所述mvb端口的映射关系;
19、根据所述映射关系,形成所述mvb端口与所述预设配置列表的所有所述参数组号码的所述预设映射表。
20、可选的,所述预设周期要求为t1=2^t≤t2,t1为所述mvb端口的端口周期,t2为所述号码周期,0≤t≤10且t取最大值。
21、可选的,所述预设长度要求为所述参数组号码的所述号码数据长度之和小于或等于对应的所述mvb端口的所述数据长度之和。
22、可选的,所述依次为各个所述号码组分配满足预设周期要求的若干个所述mvb端口,形成i个所述分配组包括:
23、获取第j个所述号码组的所述号码周期,其中,1≤j<i;
24、根据所述号码周期获取满足所述预设周期要求的所述mvb端口作为选择mvb端口;
25、将所述选择mvb端口与所述号码周期对应的所述参数组号码组合形成第j个所述分配组;
26、将j+1作为更新后的j并返回所述获取第j个所述号码组的所述号码周期的步骤,循环直至更新后的j等于i。
27、可选的,所述根据各个所述分配组中的所述号码数据长度和所述mvb端口的数据长度,按照预设长度要求,形成所述参数组号码与所述mvb端口的映射关系包括:
28、获取第k个所述分配组中的所有所述号码数据长度和所述mvb端口,其中,1≤k<i;
29、获取所述mvb端口的数据长度;
30、根据所述号码数据长度从大到小依次按照所述预设长度要求,分配剩余的所述mvb端口中所述数据长度最长者;
31、根据对应的所述参数组号码与所述mvb端口形成第k组映射;
32、将k+1作为更新后的k并返回所述获取第k个所述分配组中的所有所述号码数据长度和所述mvb端口的步骤,循环直至更新后的k等于i;
33、组合所有所述映射形成所述参数组号码与所述mvb端口的所述映射关系。
34、可选的,在所述若符合所述预设通信标准,则解析所述第一数据的报文标识符以获取参数组号码之后,还包括:
35、若所述预设配置列表中没有对应的所述参数组号码,则将所述参数组号码作为待反馈号码;
36、判断所述预设配置列表是否有更新版本;
37、若没有所述更新版本,则记录所述待反馈号码及对应的所述第一数据,形成第一反馈记录;
38、若有所述更新版本,则根据所述更新版本更新所述预设配置列表;
39、在更新后的所述预设配置列表中判断是否与所述待反馈号码对应的所述参数组号码;
40、若有,则进入所述若预设配置列表中有对应的所述参数组号码,则根据预设映射表获取对应的mvb端口作为第一交换端口的步骤;
41、若没有,则记录所述待反馈号码及对应的所述第一数据,形成所述第一反馈记录。
42、可选的,在所述若所述发送来源为mvb总线,则判断从所述mvb总线读取的第二数据所对应的mvb端口是否匹配所述预设映射表之后,还包括:
43、若不匹配所述预设映射表,则将所述mvb端口作为待确认端口;
44、记录所述待确认端口并存储对应的所述第二数据,形成第二反馈记录;
45、获取所述第二反馈记录中所述待确认端口的出现数量;
46、若所述出现数量大于预设出现阈值,则将对应的所述待确认端口作为待更新端口;
47、获取所述待更新端口在所述第二反馈记录中所对应的所述第二数据作为判定数据;
48、若所述判定数据符合预设判定规则,则根据所述待更新端口更新所述预设映射表;
49、若所述判定数据不符合所述预设判定规则,则从所述第二反馈记录中删除对应的所述第二数据及所述待确认端口的相应记录。
50、第二方面,本技术还提供了一种can总线与mvb总线数据转换系统,包括:
51、第一获取模块,用于获取数据收发指令及对应的发送来源;
52、第一判断模块,若所述发送来源为can总线,则所述第一判断模块用于判断从所述can总线读取的第一数据是否符合预设通信标准;
53、第一解析模块,若符合所述预设通信标准,则所述第一解析模块用于解析所述第一数据的报文标识符以获取参数组号码;
54、第二获取模块,若预设配置列表中有对应的所述参数组号码,则所述第二获取模块用于根据预设映射表获取对应的mvb端口作为第一交换端口;
55、第一填充模块,用于将所述参数组号码对应的所述第一数据填充至所述第一交换端口;
56、第一发送模块,用于获取所述第一交换端口的mvb端口数据发送至mvb总线;
57、第二判断模块,若所述发送来源为mvb总线,则所述第二判断模块用于判断从所述mvb总线读取的第二数据所对应的mvb端口是否匹配所述预设映射表;
58、第三获取模块,若匹配所述预设映射表,则所述第三获取模块用于获取所述mvb端口在所述预设映射表中对应的所述参数组号码作为第一交换号码;
59、第一写入模块,用于将所述第二数据写入所述第一交换号码对应的数据缓存;
60、第二发送模块,用于获取所述数据缓存的can数据发送至所述can总线;
61、其中,所述预设映射表为预先设置的标明所述参数组号码与所述mvb端口之间的映射关系,所述预设配置列表为预先设置的包括已知的所述参数组号码的列表。
62、第三方面,本技术还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现如上述任意一项所述的can总线与mvb总线数据转换方法。
63、综上所述,本技术提供的can总线与mvb总线数据转换方法、系统及存储介质,根据数据收发指令对应的发送来源,获取发送来源为can总线且符合预设通信标准对应的第一数据中的参数组号码,并针对在预设配置列表中有对应的参数组号码,将其在预设映射表获取对应的mvb端口作为第一交换端口,将第一数据填充至第一交换端口并发送至mvb总线;而发送来源为mvb总线且对应的mvb端口匹配预设映射表的第二数据,获取其mvb端口在预设映射表中对应的参数组号码作为第一交换号码,将第二数据写入第一交换号码对应的数据缓存并发送至can总线。从而通过预先确定对应的参数组号码和mvb端口的预设映射表,实现can总线和mvb总线之间的数据转换,无需进行额外的数据改写或者其他处理,达到有效实现数据转换从而满足控制需求的效果。