本申请提供了一种自定义报文的解析方法、解析装置、存储介质和车辆,该方法包括:标定自定义报文的报文ID,得到目标报文ID,所述目标报文ID与用户需求一一对应,所述用户需求为获取至少一个目标数据信号的需求,所述自定义报文包括至少一个所述目标数据信号;标定各所述目标数据信号的起始位置和信号长度,得到至少一个标定起始位置和至少一个标定信号长度;接收携带所述目标报文ID的所述自定义报文,并根据所述标定起始位置和所述标定信号长度读取对应的所述目标数据信号;对各所述目标数据信号进行解析,得到所述目标数据信号的物理值。该方法解决了现有技术中报文解析方法难以满足不同报文的解析需求的问题。足不同报文的解析需求的问题。足不同报文的解析需求的问题。
【技术实现步骤摘要】
自定义报文的解析方法、解析装置、存储介质和车辆
[0001]本专利技术涉及报文解析领域,具体而言,涉及一种自定义报文的解析方法、解析装置、计算机可读存储介质和车辆。
技术介绍
[0002]自定义接收报文是通过灵活标定接收报文的8字节数据实现接收报文灵活解析的功能,报文可为标准的J1939报文或非标准报文,当标定ID不是J1939标准报文的时候,就是自定义报文。通过地址灵活选择要解析报文的信号起始,通过标定选择需要解析的报文在8个字节的起始位置和占用的字节数,之后根据标定量完成对数据的加减乘除,完成信号的转换。将信号放到信号池里面,按照应用逻辑使用要求,随时都可以去信号池里去取。
[0003]当前客户每有个需求添加报文,就得改动一次软件,添加报文带来复杂的工作量而且开发内容具有一定的风险性。通过使用自定义接收报文,标定完成信号的解析,既方便有减少不必要的风险,又节约了时间和开发的成本。
[0004]伴随着客户的需求越来越多,新增报文越来越多,同一控制器,匹配不同的机型,有不同报文的需求,新增报文开发,带来了繁琐的工作量,需要大量的开发时间和测试验证时间,开发周期长。
技术实现思路
[0005]本申请的主要目的在于提供一种自定义报文的解析方法、解析装置、计算机可读存储介质和车辆,以至少解决现有技术中报文解析方法难以满足不同报文的解析需求的问题。
[0006]为了实现上述目的,根据本申请的一个方面,提供了一种自定义报文的解析方法,包括:标定自定义报文的报文ID,得到目标报文ID,所述目标报文ID与用户需求一一对应,所述用户需求为获取至少一个目标数据信号的需求,所述自定义报文包括至少一个所述目标数据信号;标定各所述目标数据信号的起始位置和信号长度,得到至少一个标定起始位置和至少一个标定信号长度;接收携带所述目标报文ID的所述自定义报文,并根据所述标定起始位置和所述标定信号长度读取对应的所述目标数据信号;对各所述目标数据信号进行解析,得到所述目标数据信号的物理值。
[0007]可选地,在接收携带所述目标报文ID的所述自定义报文之前,所述方法还包括:标定所述自定义报文的报文周期,得到目标报文周期,使得所述自定义报文的发送节点按照所述目标报文周期发送所述自定义报文,所述目标报文周期为所述自定义报文的发送周期。
[0008]可选地,对各所述目标数据信号进行解析,得到所述目标数据信号的物理值,包括:检测所述目标数据信号对应的目标数据的有效性;在所述目标数据有效的情况下,将所述目标数据转换为物理值,得到所述目标数据信号的物理值。
[0009]可选地,检测所述目标数据信号对应的目标数据的有效性,包括:根据所述目标数
据信号对应的所述标定信号长度确定数据阈值,所述标定信号长度与所述数据阈值一一对应;在所述目标数据信号对应的目标数据大于所述数据阈值的情况下,发出所述目标数据无效的警告,在所述目标数据小于或者等于所述数据阈值的情况下,确定所述目标数据有效。
[0010]可选地,在对各所述目标数据信号进行解析,得到所述目标数据信号的物理值之后,所述方法还包括:在所述目标数据信号的物理值位于预定范围内的情况下,确定所述目标数据信号的物理值有效;在所述目标数据信号的物理值有效的情况下,将所述目标数据信号的物理值转换为hex值,并将所述hex值存入信号池,所述信号池用于存储报文信号的数据。
[0011]可选地,将所述hex值存入信号池包括:将各所述目标数据信号的所述hex值按照排列顺序存入所述信号池,所述排列顺序为所述目标数据信号在所述自定义报文中的排列顺序。
[0012]可选地,在将所述hex值存入信号池之后,所述方法还包括:将各所述目标数据信号的所述hex值进行数据类型转换,得到目标格式的数据,所述目标格式为调用所述目标数据信号的所述hex值的需求格式。
[0013]根据本申请的另一方面,提供了一种自定义报文的解析装置,包括:第一标定单元,用于标定自定义报文的报文ID,得到目标报文ID,所述目标报文ID与用户需求一一对应,所述用户需求为获取至少一个目标数据信号的需求,所述自定义报文包括至少一个所述目标数据信号;第二标定单元,用于标定各所述目标数据信号的起始位置和信号长度,得到至少一个标定起始位置和至少一个标定信号长度;接收单元,用于接收携带所述目标报文ID的所述自定义报文,并根据所述标定起始位置和所述标定信号长度读取对应的所述目标数据信号;解析单元,用于对各所述目标数据信号进行解析,得到所述目标数据信号的物理值。
[0014]根据本申请的再一方面,提供了一种计算机可读存储介质,所述计算机可读存储介质包括存储的程序,其中,在所述程序运行时控制所述计算机可读存储介质所在设备执行任意一种所述的方法。
[0015]根据本申请的又一方面,提供了一种车辆,包括:一个或多个处理器,存储器,以及一个或多个程序,其中,所述一个或多个程序被存储在所述存储器中,并且被配置为由所述一个或多个处理器执行,所述一个或多个程序包括用于执行任意一种所述的方法。
[0016]应用本申请的技术方案,上述自定义报文的解析方法中,首先,标定自定义报文的报文ID,得到目标报文ID,所述目标报文ID与用户需求一一对应,所述用户需求为获取至少一个目标数据信号的需求,所述自定义报文包括至少一个所述目标数据信号;然后,标定各所述目标数据信号的起始位置和信号长度,得到至少一个标定起始位置和至少一个标定信号长度;之后,接收携带所述目标报文ID的所述自定义报文,并根据所述标定起始位置和所述标定信号长度读取对应的所述目标数据信号;最后,对各所述目标数据信号进行解析,得到所述目标数据信号的物理值。该方法可以根据需求设置自定义报文,只需标定自定义报文的报文ID以及自定义报文中各目标数据信号的起始位置和信号长度,得到目标报文ID、标定起始位置和标定信号长度,当接收到携带目标报文ID的自定义报文,即可根据标定起始位置和标定信号长度读取对应的目标数据信号,然后对目标数据信号进行解析即可,该
自定义报文的解析方法通过简单的标定即可实现任何自定义报文的解析,无需添加一种自定义报文就要开发一次报文解析软件,大大减少了工作量,解决了现有技术中报文解析方法难以满足不同报文的解析需求的问题。
附图说明
[0017]图1示出了根据本申请的实施例中提供的一种执行自定义报文的解析方法的移动终端的硬件结构框图;
[0018]图2示出了根据本申请的实施例提供的一种自定义报文的解析方法的流程示意图;
[0019]图3示出了根据本申请的实施例提供的一种自定义报文的解析流程图;
[0020]图4示出了根据本申请的实施例提供的Intel编码方式与Metorola编码方式编码后的数据结构示意图;
[0021]图5示出了根据本申请的另一种实施例提供的一种自定义报文的解析方法的流程图;
[0022]图6示出了根据本申请的实施例提供的一种自定义报文的解析装置的结构框图。
具体实施方式
...
【技术保护点】
【技术特征摘要】
1.一种自定义报文的解析方法,其特征在于,包括:标定自定义报文的报文ID,得到目标报文ID,所述目标报文ID与用户需求一一对应,所述用户需求为获取至少一个目标数据信号的需求,所述自定义报文包括至少一个所述目标数据信号;标定各所述目标数据信号的起始位置和信号长度,得到至少一个标定起始位置和至少一个标定信号长度;接收携带所述目标报文ID的所述自定义报文,并根据所述标定起始位置和所述标定信号长度读取对应的所述目标数据信号;对各所述目标数据信号进行解析,得到所述目标数据信号的物理值。2.根据权利要求1所述的方法,其特征在于,在接收携带所述目标报文ID的所述自定义报文之前,所述方法还包括:标定所述自定义报文的报文周期,得到目标报文周期,使得所述自定义报文的发送节点按照所述目标报文周期发送所述自定义报文,所述目标报文周期为所述自定义报文的发送周期。3.根据权利要求1所述的方法,其特征在于,对各所述目标数据信号进行解析,得到所述目标数据信号的物理值,包括:检测所述目标数据信号对应的目标数据的有效性;在所述目标数据有效的情况下,将所述目标数据转换为物理值,得到所述目标数据信号的物理值。4.根据权利要求3所述的方法,其特征在于,检测所述目标数据信号对应的目标数据的有效性,包括:根据所述目标数据信号对应的所述标定信号长度确定数据阈值,所述标定信号长度与所述数据阈值一一对应;在所述目标数据信号对应的目标数据大于所述数据阈值的情况下,发出所述目标数据无效的警告,在所述目标数据小于或者等于所述数据阈值的情况下,确定所述目标数据有效。5.根据权利要求1至4任一项所述的方法,其特征在于,在对各所述目标数据信号进行解析,得到所述目标数据信号的物理值之后,所述方法还包括:在所述目标数据信号的物理值位于预定范围内的情况下,确定所述目标数据信号的物理值有...
【专利技术属性】
技术研发人员:葛云东,艾聪,付世杰,袁新竹,
申请(专利权)人:潍坊潍柴动力科技有限责任公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。