诊断控制台
今天我们来具体讲解下TSMaster诊断控制台具体操作。诊断控制台作为诊断命令调试器,可以让用户选择每一条单独的服务命令,编辑发送服务报文和接收服务报文,进行测试验证。主要包含五块工作区域,主要分为服务命令选择区、手动命令输入区、诊断命令发送/应答区、诊断运行、诊断信息/Trace区。
A 服务命令选择区
服务命令选择区中是根据基础配置(后续Odx/Cdd)等加载生成的可执行服务列表。用户可以双击执行选中的服务或者右键选择执行该服务,如下图所示:
B 手动命令输入区
测试过程中,如果用户想发送任意的诊断命令,则可以在手动命令输入区中输入自己想要发送的任意报文,如下图所示:
在输入诊断报文过后,点击右边的Execute按钮,就可以完成诊断报文的发送。为了增加测试灵活性,用户可以通过选择框选择采用物理地址发送还是功能ID发送诊断请求报文。
C 诊断命令发送/应答区
在本区域中,用户可以编辑发送数据段以及期望接收数据段,启动执行来验证被测ECU的诊断响应是否符合实际要求。下面以24服务为例,设计了6种不同数据类型的发送参数,也同时设计了6种不同数据类型的应答参数,如下图所示:
输入诊断参数:
输入标定参数示例如下:
Request PDU:诊断模块要发送的诊断数据包字节,该部分数值是不可编辑的,用户在填入参数值过后,该部分数据自动生成对应的诊断数据值。
诊断参数:对应关系如下:
【1】 Para0,数据类型为UInt,数据长度为8Bits,输入12,则对应字节为0x0C。
【2】 Para1,数据类型为Int,数据长度为8Bits,输入为-1,则对应字节为0xFF。
【3】 Para2,数据类型为Single,数据长度为32Bits,输入为3.1,则对应字节为0x40, 0x46,0x66,0x66。
【4】 Para3,数据类型为Double,数据长度为64Bits,输入为3.2,则对应字节为0x40, 0x09,0x99,0x99,0x99,0x99,0x99,0x9A。
【5】 Para4,数据类型为Hex数组,数据长度为8Bits,输入为0x11,则对应字节为0x11。
【6】 Para5,数据类型为ASCII字符串,数据长度为24Bits,输入字符串为”ASC”,则对应字节为0x43,0x53,0x41。
Para6,数据类型为系统变量。数据长度根据提取的系统变量的值为64bits,系统变量名称为Diagnostic0.BC_cebal_fw_srf05dbg_StartAddressAndDataLength,在执行过程中,系统会根据该名称自动提取系统变量的实际值,并解析到发送报文中。
完成上述诊断参数的输入过后,生成的诊断请求数据包为:0x24 0x00 0x01 0x0C 0xFF 0x40 0x46 0x66 0x66 0x40 0x09 0x99 0x99 0x99 0x99 0x99 0x9A 0x11 0x43 0x53 0x41,正如上图所示。
输入应答参数:
输入应答参数值如下图所示:
其中,第1部分跟前一个章节输入诊断参数完全一样,这里不再讲解。但是应答参数增加了一个可选命令,是否检查(Check)这部分参数。如果勾选了Check,则ECU的应答必须等于配置的应答参数,本诊断测试才算通过。如果不勾选,则诊断模块不检测ECU应答中这部分字节的内容。
【1】当上述所有配置应答都勾选上的时候,ECU应答的报文必须等于:
0x64 0x00 0x01 0x7B 0xFE 0x40 0x4C 0xCC 0xCD 0x40 0x1A 0x00 0x00 0x00 0x00 0x00 0x00 0x12 0x34 0x43 0x53 0x41才被系统认定为通过诊断测试。
【2】去掉勾选判断Para1和Para2,如下图所示:
此时,ECU应答的报文必须等于:0x64 0x00 0x01 0x7B 0xXX 0xXX 0xXX 0xXX 0xXX 0x40 0x1A 0x00 0x00 0x00 0x00 0x00 0x00 0x12 0x34 0x43 0x53 0x41。其中红色部分0xXX表示该部分字节不予判断,其他字节必须等于上述配置字节才被系统认定通过诊断测试。
【3】去掉勾选判断Para0-Pra5,如下图所示:
此时,ECU应答的报文必须等于:0x64 0x00 0x01才被系统认定通过诊断测试。
D 诊断运行
以CombinedService为例,诊断运行过程中,会显示当前下载完成的Block块区域,并显示每一个Block写入的执行时间等,如下图所示:
E 诊断信息/Trace区
服务/原始报文 Trace 对比:
在诊断中,用户会碰到最原始的CAN/CANFD/LIN报文,以及经过传输层传输过后的服务层报文。在TSMaster诊断模块中,原始CAN报文在基本的Trace模块中查看,而经过传输层处理过后的服务报文,则直接在诊断模块的Trace区域查看。如下图所示:
通过上图对比可以看到:
【1】原始的CAN/CANFD报文区还可以看到多帧,单帧,首帧等传输层信息。
【2】诊断模块中的Trace呈现给用户的是直接的服务层报文。对于用于来说,只需要关心自己发送的服务内容即可,不需要关心这些内容具体是怎么拆分发送的。因此,做诊断服务的时候,重点观察诊断模块内部Trace界面即可。
操作提示区:
该区域显示当前在诊断模块中的操作步骤。如下图所示,显示的是下载一个hex文件,程序内部的传输步骤流程。
当诊断服务没有得到肯定响应或者无响应时,报错提示信息等如下所示:
ISO 15765-2 服务报文区:
本区域用于显示诊断模块详细的服务层报文信息。结合前面配置的诊断数据库,还可以把原始的报文数据解析成物理信号等呈现给用户,如下图所示:
全部0条评论
快来发表一下你的评论吧 !