System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术涉及通信网络,特别涉及一种数据发送、接收方法、装置、电子设备和可读存储介质。
技术介绍
1、can(controller area network)即控制器局域网,因其高性能和高可靠性被广泛地应用于工业自动化、船舶、医疗设备、工业设备等方面,尤其在汽车工业中应用最为典型。车辆上的各种ecu(电子控制单元)均可作为can网络中的节点与其他节点之间进行通信,形成汽车电子控制网络。
2、但在实际使用过程中,当can网络中的节点接收报文中的节点标识和发送报文中的节点id(节点标识)相同但数据场不同时,将会造成节点的数据场填充错误,从而产生大量的错误帧引起can节点的总线关闭无法使用,非常影响用户体验。
技术实现思路
1、本专利技术提供了一种数据发送、接收方法、装置、电子设备和可读存储介质,可以避免由于接收报文的节点标识与发送报文的节点标识相同,引起的总线关闭问题。
2、为实现上述目的,本专利技术提供如下技术方案:
3、根据本专利技术具体实施方式提供的一种数据发送方法,应用于can网络的目标节点中,所述目标节点为所述can网络中的任一节点,包括:
4、判断所述目标节点同一通道上的当前接收节点标识与所述目标节点的发送节点标识是否相同,所述当前节点标识为所述目标节点同一通道上当前接收到的报文中的节点标识,所述发送节点标识为所述目标节点当前发送报文的节点标识;
5、若是,确定所述目标节点的错误计数器的当前数值是否在预设数值范围内
6、若是,基于预设生成规则对所述当前发送报文的节点标识进行处理,得到两个新的节点标识;
7、将所述两个新的节点标识中的一个新的节点标识和所述当前发送报文的发送内容的特征信息组合,得到第一发送报文;
8、将所述两个新的节点标识中的另一个新的节点标识分别和将所述发送内容拆分后的各组成部分组合,得到至少一个第二发送报文;
9、将所述第一发送报文和所述第二发送报文分别进行发送。
10、进一步地,所述基于预设生成规则对所述当前发送报文的节点标识进行处理,得到两个新的节点标识,包括:
11、保留所述当前发送报文的节点标识中的优先级部分以及目标节点的源地址部分不变,将所述当前发送报文的节点标识中的参数组部分分别替换为两组新的参数,得到所述两个新的节点标识,每组新的参数中具有区别于另一组的特征参数。
12、进一步地,所述将所述两个新的节点标识中的一个新的节点标识和所述当前发送报文的发送内容的特征信息组合,得到第一发送报文,包括:
13、将所述一个新的节点标识依次与控制字、数据长度值、数据包数量、第一新的参数中的部分参数、参数组编号组合,得到所述第一发送报文,所述控制字占用一个字节,所述数据长度值占用两个字节、所述数据包数量占用一个字节,所述第一新的参数中的部分参数占用一个字节,所述参数组编号占用三个字节。
14、进一步地,所述将所述两个新的节点标识中的另一个新的节点标识分别和将所述发送内容拆分后的各组成部分组合,得到至少一个第二发送报文,包括:
15、将所述另一个新的节点标识分别与每个组成部分的数据包号以及数据包内容组合,对应得到所述每个组成部分的第二发送报文,所述每个组成部分的数据包号占用一个字节,所述每个组成部分的数据包内容占用七个字节。
16、进一步地,所述预设数值范围中的最大值与所述目标关闭值的差值,不小于所述目标节点的错误计数器每次累加的最大变化值。
17、根据本专利技术具体实施方式提供的一种数据接收方法,应用于所述can网络中除所述目标节点外的节点中,包括:
18、接收第一发送报文和第二发送报文;
19、基于预设解析规则分别对接收到的所述第一发送报文和第二发送报文进行识别,识别出所述第一发送报文和所述第二发送报文;
20、对识别出的所述第一发送报文和所述第二发送报文分别进行拆分,得到所述发送内容的特征信息以及所述各组成部分;
21、基于所述发送内容的特征信息对所述各组成部分进行组合,得到发送内容。
22、根据本专利技术实施例提供的一种数据发送装置,应用于can网络的目标节点中,所述目标节点为所述can网络中的任一节点,包括:
23、第一判断模块,用于判断所述目标节点同一通道上的当前接收节点标识与所述目标节点的发送节点标识是否相同,所述当前节点标识为所述目标节点同一通道上当前接收到的报文中的节点标识,所述发送节点标识为所述目标节点当前发送报文的节点标识;
24、第二判断模块,用于若是,确定所述目标节点的错误计数器的当前数值是否在预设数值范围内,所述预设数值范围中的最大值不大于目标关闭值,所述目标关闭值为触发所述目标节点的总线关闭的错误计数阈值;
25、标识生成模块,用于若是,基于预设生成规则对所述当前发送报文的节点标识进行处理,得到两个新的节点标识;
26、第一组合模块,用于将所述两个新的节点标识中的一个新的节点标识和所述当前发送报文的发送内容的特征信息组合,得到第一发送报文;
27、第二组合模块,用于将所述两个新的节点标识中的另一个新的节点标识分别和将所述发送内容拆分后的各组成部分组合,得到至少一个第二发送报文;以及
28、发送模块,用于将所述第一发送报文和所述第二发送报文分别进行发送。
29、根据本专利技术具体实施方式提供的一种数据接收装置,应用于所述can网络中除所述目标节点外的节点中,包括:
30、接收模块,用于接收第一发送报文和第二发送报文;
31、标识识别模块,用于基于预设解析规则分别对接收到的所述第一发送报文和第二发送报文进行识别,识别出所述第一发送报文和所述第二发送报文;
32、数据拆分模块,用于对识别出的所述第一发送报文和所述第二发送报文分别进行拆分,得到所述发送内容的特征信息以及所述各组成部分;以及
33、数据组合模块,用于基于所述发送内容的特征信息对所述各组成部分进行组合,得到发送内容。
34、根据本专利技术具体实施方式提供的一种电子设备,包括:存储器和处理器;
35、所述存储器,用于存储程序;
36、所述处理器,用于执行所述程序,实现如上所述数据发送方法或数据接收方法的各个步骤。
37、根据本专利技术具体实施方式提供的一种可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时,实现如上所述数据发送方法或数据接收方法的各个步骤。
38、由以上技术方案可以看出,本专利技术中公开的数据发送、接收方法,可以在can网络中的节点在同一通信通道中出现接收到的报文的节点标识和该节点的发送的报文中的节点标识相同即存在重复时,对该节点的错误计数器的当前数值进行判断,从而本文档来自技高网...
【技术保护点】
1.一种数据发送方法,应用于CAN网络的目标节点中,所述目标节点为所述CAN网络中的任一节点,其特征在于,包括:
2.根据权利要求1所述的数据发送方法,其特征在于,所述基于预设生成规则对所述当前发送报文的节点标识进行处理,得到两个新的节点标识,包括:
3.根据权利要求2所述的数据发送方法,其特征在于,所述将所述两个新的节点标识中的一个新的节点标识和所述当前发送报文的发送内容的特征信息组合,得到第一发送报文,包括:
4.根据权利要求2所述的数据发送方法,其特征在于,所述将所述两个新的节点标识中的另一个新的节点标识分别和将所述发送内容拆分后的各组成部分组合,得到至少一个第二发送报文,包括:
5.根据权利要求1所述的数据发送方法,其特征在于,所述预设数值范围中的最大值与所述目标关闭值的差值,不小于所述目标节点的错误计数器每次累加的最大变化值。
6.一种数据接收方法,应用于所述CAN网络中除所述目标节点外的节点中,其特征在于,包括:
7.一种数据发送装置,应用于CAN网络的目标节点中,所述目标节点为所述CAN网络中的
8.一种数据接收装置,应用于所述CAN网络中除所述目标节点外的节点中,其特征在于,包括:
9.一种电子设备,其特征在于,包括:存储器和处理器;
10.一种可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时,实现如权利要求1至5中任一项所述的数据发送方法或权利要求6所述的数据接收方法的各个步骤。
...【技术特征摘要】
1.一种数据发送方法,应用于can网络的目标节点中,所述目标节点为所述can网络中的任一节点,其特征在于,包括:
2.根据权利要求1所述的数据发送方法,其特征在于,所述基于预设生成规则对所述当前发送报文的节点标识进行处理,得到两个新的节点标识,包括:
3.根据权利要求2所述的数据发送方法,其特征在于,所述将所述两个新的节点标识中的一个新的节点标识和所述当前发送报文的发送内容的特征信息组合,得到第一发送报文,包括:
4.根据权利要求2所述的数据发送方法,其特征在于,所述将所述两个新的节点标识中的另一个新的节点标识分别和将所述发送内容拆分后的各组成部分组合,得到至少一个第二发送报文,包括:
5.根据权利要求1所述的数据发送方法,其特征在于...
【专利技术属性】
技术研发人员:刘绪洪,王怀宽,刘月美,韩怡,王鹏,
申请(专利权)人:潍柴动力股份有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。