本发明主要涉及汽车控制系统领域,尤其涉及一种汽车总线数据的读取方法和系统。
背景技术:
一些车型在车辆投入量产后,总线调试口要全部取消,obd口(onboarddiagnostics车载自动诊断系统)原则上只保留诊断口,确认需要路由的总线数据的canfd口(controlareanetworkwithflexibledata可变数据控制局域网)。
但是,现有路由生成的canfd报文并不是完整的全部报文,导致在分析故障时,无法满足所需要的数据需求。为此,网关开发出镜像功能,可以把某一路can数据变成canfd数据路由到canfd口,这样就能读出某一路网络上全部报文。但是该镜像功能也存在以下问题:1)要在canoe(canopenenvironment,总线开发环境)操作很多步骤,对canoe操作人员的操作技能要求很高;2)需要操作人员根据诊断协议算出需要发出的诊断请求数据,因此还需要操作人员熟悉掌握更多的原理及进制换算。
由此可见,领域内尚缺少一种可以简单方便读取汽车总线报文的方法。
技术实现要素:
本发明要解决的技术问题是提供一种汽车总线数据的读取方法和系统,可以简单方便的读取一路汽车总线的全部报文。
为解决上述技术问题,本发明提供了一种汽车总线数据的读取方法,其特征在于,包括如下步骤:请求诊断命令id,包括请求所述命令id的字节长度及数据;请求网关变更会话环境;对所述id的数据运行函数关系;以及获取根据所述函数关系生成的结果,并读取一路总线的全部数据。
在本发明的一实施例中,所述变更会话环境包括由默认会话环境进入扩展会话环境。
在本发明的一实施例中,在对所述id的数据运行函数关系之前,还包括维持所述扩展会话环境的操作。
在本发明的一实施例中,所述读取一路总线的全部数据包括由历程控制请求使所述网关通过canfd口输出所述一路总线的全部数据。
在本发明的一实施例中,当需要读取另外一路总线的全部数据时,变更所述历程控制请求。
在本发明的一实施例中,包括使用capl总线访问编程语言以及vectorcan工具节点编程的事件建模语言来编写各步骤。
在本发明的一实施例中,通过canoe创建实现所述方法的自动运行响应过程。
在本发明的一实施例中,所述请求诊断命令的id的步骤在canoe响应过程中通过输入数字1触发。
为了解决以上的技术问题,本发明还提出了一种汽车总线数据的读取系统,包括:存储器,用于存储可由处理器执行的指令;以及处理器,用于执行所述指令以实现上述汽车总线数据的读取方法。
为了解决以上的技术问题,本发明还提出了一种存储有计算机程序代码的计算机可读介质,所述计算机程序代码在由处理器执行时实现上述汽车总线数据的读取方法。
与现有技术相比,本发明具有以下优点:
本发明使用capl编程,编程代码根据请求响应顺序,自动完成一路汽车总线数据的读取,方便且简单的为工程用户提供便捷、智能的数据读取方案;
本发明还可以通过代码的封装,仅通过变更历程控制请求而实现获取不同路的汽车总线数据,从而为操作者提供定制化的汽车总线数据的读取方案。
附图说明
包括附图是为提供对本申请进一步的理解,它们被收录并构成本申请的一部分,附图示出了本申请的实施例,并与本说明书一起起到解释本发明原理的作用。附图中:
图1是本发明一实施例的一种汽车总线数据的读取方法的流程示意图。
具体实施方式
为了更清楚地说明本申请的实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单的介绍。显而易见地,下面描述中的附图仅仅是本申请的一些示例或实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图将本申请应用于其他类似情景。除非从语言环境中显而易见或另做说明,图中相同标号代表相同结构或操作。
如本申请和权利要求书中所示,除非上下文明确提示例外情形,“一”、“一个”、“一种”和/或“该”等词并非特指单数,也可包括复数。一般说来,术语“包括”与“包含”仅提示包括已明确标识的步骤和元素,而这些步骤和元素不构成一个排它性的罗列,方法或者设备也可能包含其他的步骤或元素。
除非另外具体说明,否则在这些实施例中阐述的部件和步骤的相对布置、数字表达式和数值不限制本申请的范围。同时,应当明白,为了便于描述,附图中所示出的各个部分的尺寸并不是按照实际的比例关系绘制的。对于相关领域普通技术人员已知的技术、方法和设备可能不作详细讨论,但在适当情况下,所述技术、方法和设备应当被视为授权说明书的一部分。在这里示出和讨论的所有示例中,任何具体值应被解释为仅仅是示例性的,而不是作为限制。因此,示例性实施例的其它示例可以具有不同的值。应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步讨论。
本发明的一实施例提出一种汽车总线数据的读取方法,可以简单方便的读取一路汽车总线的全部报文。如图1所示,是本发明一实施例的一种汽车总线数据的读取方法10的流程示意图。
可以理解的是,图1使用了流程图用来说明根据本申请的实施例的系统所执行的操作。应当理解的是,前面或下面操作不一定按照顺序来精确地执行。相反,可以按照倒序或同时处理各种步骤。同时,或将其他操作添加到这些过程中,或从这些过程移除某一步或数步操作。
如图1所示,本发明的一种汽车总线数据的读取方法10包括如下步骤:
步骤11:请求诊断命令id;
步骤12:请求网关变更会话环境;
步骤13:运行函数关系;
步骤14:获取根据函数关系生成的结果,并读取一路总线的全部数据。
具体来说,在步骤11中,请求诊断命令id包括请求id的字节长度及数据。示例性的,如果请求诊断id762,则包括id762的字节长度及数据021003。
在本发明的一实施例中,在步骤12中请求网关变更会话环境包括由默认会话环境进入扩展会话环境,在网关积极响应后会话环境由默认会话环境变更为扩展会话环境。
在本发明的一实施例中,当执行步骤13运行函数关系之前,本发明的一种汽车总线数据的读取方法还包括使网关维持在扩展会话环境,然后执行步骤13对在步骤11找那个所请求的诊断命令id的数据运行函数关系。具体的,id的数据作为函数的输入,通过预设的函数关系可以获得相对于锁清秋的诊断命令id的数据的相对应的输出。
在本发明的一实施例中,步骤14中读取一路总线的全部数据包括由历程控制请求使网关通过canfd(controlareanetworkwithflexibledata可变数据控制局域网)口输出一路总线的全部数据。示例性的,针对id762所请求的数据021003根据预设的函数关系所得到的结果为06310133900310,该结果由网关指令路由至canfd口从而读取汽车一路总线的全部数据。
示例性的,在本发明的另外一实施例中,当需要读取另外一路总线的全部数据时,可以通过变更历程控制请求来实现。
在本发明的一实施例中,如图1所示的汽车总线数据的读取方法10的各步骤11-14,是使用capl(canaccessprogramminglanguage,can总线访问编程语言)作为编程语言,并使用vectorcan工具节点编程的事件建模语言来编写完成的。
在本发明的一实施例中,编写完成的如图1所示的步骤11-14是通过canoe(canopenenvironment)创建实现各步骤的自动运行响应过程。
示例性的,使用canoe创建实现各步骤的自动运行响应过程之后,当执行步骤11请求诊断命令的id时,可以设置为在canoe响应过程中通过输入数字1触发。由此,读取汽车总线数据的方法便不再需要操作人员具有良好的编程技能,也不需要熟悉掌握数据请求原理和进制换算,只需要在canoe响应过程中输入1,则可以简单方便的获取一路汽车总线的全部数据。
具体的,当具有多路总线数据的读取需求时,可以提前对于历程控制请求进行定制化的编写并封装在代码中,从而实现不同需求的业务人员可以根据实际需要获取定制化的汽车总线数据的读取方法。
本发明的另一方面还提出了一种汽车总线数据的读取系统,包括:存储器,用于存储可由处理器执行的指令;以及处理器,用于执行指令以实现上述的汽车总线数据的读取方法。
本发明还提出了一种存储有计算机程序代码的计算机可读介质,计算机程序代码在由处理器执行时实现上述的汽车总线数据的读取方法。
上文已对基本概念做了描述,显然,对于本领域技术人员来说,上述发明披露仅仅作为示例,而并不构成对本申请的限定。虽然此处并没有明确说明,本领域技术人员可能会对本申请进行各种修改、改进和修正。该类修改、改进和修正在本申请中被建议,所以该类修改、改进、修正仍属于本申请示范实施例的精神和范围。
同时,本申请使用了特定词语来描述本申请的实施例。如“一个实施例”、“一实施例”、和/或“一些实施例”意指与本申请至少一个实施例相关的某一特征、结构或特点。因此,应强调并注意的是,本说明书中在不同位置两次或多次提及的“一实施例”或“一个实施例”或“一替代性实施例”并不一定是指同一实施例。此外,本申请的一个或多个实施例中的某些特征、结构或特点可以进行适当的组合。
本申请的一些方面可以完全由硬件执行、可以完全由软件(包括固件、常驻软件、微码等)执行、也可以由硬件和软件组合执行。以上硬件或软件均可被称为“数据块”、“模块”、“引擎”、“单元”、“组件”或“系统”。处理器可以是一个或多个专用集成电路(asic)、数字信号处理器(dsp)、数字信号处理器件(dapd)、可编程逻辑器件(pld)、现场可编程门阵列(fpga)、处理器、控制器、微控制器、微处理器或者其组合。此外,本申请的各方面可能表现为位于一个或多个计算机可读介质中的计算机产品,该产品包括计算机可读程序编码。例如,计算机可读介质可包括,但不限于,磁性存储设备(例如,硬盘、软盘、磁带……)、光盘(例如,压缩盘cd、数字多功能盘dvd……)、智能卡以及闪存设备(例如,卡、棒、键驱动器……)。
计算机可读介质可能包含一个内含有计算机程序编码的传播数据信号,例如在基带上或作为载波的一部分。该传播信号可能有多种表现形式,包括电磁形式、光形式等等、或合适的组合形式。计算机可读介质可以是除计算机可读存储介质之外的任何计算机可读介质,该介质可以通过连接至一个指令执行系统、装置或设备以实现通讯、传播或传输供使用的程序。位于计算机可读介质上的程序编码可以通过任何合适的介质进行传播,包括无线电、电缆、光纤电缆、射频信号、或类似介质、或任何上述介质的组合。
同理,应当注意的是,为了简化本申请披露的表述,从而帮助对一个或多个发明实施例的理解,前文对本申请实施例的描述中,有时会将多种特征归并至一个实施例、附图或对其的描述中。但是,这种披露方法并不意味着本申请对象所需要的特征比权利要求中提及的特征多。实际上,实施例的特征要少于上述披露的单个实施例的全部特征。
一些实施例中使用了描述成分、属性数量的数字,应当理解的是,此类用于实施例描述的数字,在一些示例中使用了修饰词“大约”、“近似”或“大体上”来修饰。除非另外说明,“大约”、“近似”或“大体上”表明所述数字允许有±20%的变化。相应地,在一些实施例中,说明书和权利要求中使用的数值参数均为近似值,该近似值根据个别实施例所需特点可以发生改变。在一些实施例中,数值参数应考虑规定的有效数位并采用一般位数保留的方法。尽管本申请一些实施例中用于确认其范围广度的数值域和参数为近似值,在具体实施例中,此类数值的设定在可行范围内尽可能精确。
虽然本申请已参照当前的具体实施例来描述,但是本技术领域中的普通技术人员应当认识到,以上的实施例仅是用来说明本申请,在没有脱离本申请精神的情况下还可作出各种等效的变化或替换,因此,只要在本申请的实质精神范围内对上述实施例的变化、变型都将落在本申请的权利要求书的范围内。
1.一种汽车总线数据的读取方法,其特征在于,包括如下步骤:
请求诊断命令id,包括请求所述命令id的字节长度及数据;
请求网关变更会话环境;
对所述id的数据运行函数关系;以及
获取根据所述函数关系生成的结果,并读取一路总线的全部数据。
2.如权利要求1所述的方法,其特征在于,所述变更会话环境包括由默认会话环境进入扩展会话环境。
3.如权利要求2所述的方法,其特征在于,在对所述id的数据运行函数关系之前,还包括维持所述扩展会话环境的操作。
4.如权利要求1所述的方法,其特征在于,所述读取一路总线的全部数据包括由历程控制请求使所述网关通过canfd口输出所述一路总线的全部数据。
5.如权利要求4所述的方法,其特征在于,当需要读取另外一路总线的全部数据时,变更所述历程控制请求。
6.如权利要求1所述的方法,其特征在于,包括使用capl总线访问编程语言以及vectorcan工具节点编程的事件建模语言来编写各步骤。
7.如权利要求1所述的方法,其特征在于,通过canoe创建实现所述方法的自动运行响应过程。
8.如权利要求7所述的方法,其特征在于,所述请求诊断命令的id的步骤在canoe响应过程中通过输入数字1触发。
9.一种汽车总线数据的读取系统,包括:
存储器,用于存储可由处理器执行的指令;以及处理器,用于执行所述指令以实现如权利要求1-8任一项所述的方法。
10.一种存储有计算机程序代码的计算机可读介质,所述计算机程序代码在由处理器执行时实现如权利要求1-8任一项所述的方法。
技术总结