原创 TSMaster诊断功能之基础诊断配置

2022-8-10 17:59 875 5 5 分类: MCU/ 嵌入式

该模块包含BasicDiagnostic参数和CombinedService。对于执行过程完全独立的命令,则放入BasicDiagnostic中;对于必须多个命令组合才能够完成的命令,则放入CombinedService中。

一、添加删除服务命令:

把鼠标放到需要添加和删除的服务命令上方,右键展开,选择是否需要添加和删除该服务,如下图所示:

      


二、配置BasicDiagnostic服务参数:

Session Control为例,主要包含如下参数的配置:

      

【1】 配置服务名称:用户可以配置一个易于理解和管理的服务名称。

【2】 Is Function ID:本诊断服务是否采用Functional ID发送诊断请求。

【3】 选择子服务类型:比如Session Control中的DiagnosticSessionType就包含如上图所示的Session类型。

【4】 参数列表的字节序:支持MotorolaIntel字节序。

【5】 参数列表:诊断服务除了诊断ID和子服务类型ID,还可以带着参数发送给被测ECU。参数列表包含请求和应答帧的参数列表,其配置方法如下所示,用户可以选择增加/删除多种类型的参数。

      

其中,服务ID和子服务类型ID,如SessionControl里面的DiagnosticSessionType参数是必须的,而参数列表是可选的。

在修改配置后,界面上方会实时显示实际诊断报文的示例报文,如下图所示,完成如下所示的配置过后,诊断仪将要发出的服务报文是:【10 02 xx xx xx】:xx表示该参数是可变的,根据用户实际填入的数据确定;诊断仪将要收到的肯定响应报文是【50 02 xx】。

 

诊断服务参数

    诊断模块参数支持7种数据类型。包括:UIntIntSingleDoubleHexArrayAsciiSystemVar

  

【1】 UInt:无符号整型,其数据长度必须小于32bits,并且为8的倍数,可以为8,16,24,32bits

【2】 Int:有符号整形,其数据长度必须小于32bits,并且为8的倍数,可以为8,16,24,32bits

【3】 Single:单精度浮点数,数据长度为固定的32bits。用户直接输入输出浮点数据。

【4】 Double:单精度浮点数,数据长度为固定的64bits。用户直接输入输出浮点数据。

【5】 Hex Array:十六进制数组,数据长度为8的倍数。输入数据满足16禁止数据类型。

【6】 ASCIIASCII字符串,数据长度为8的倍数。输入数据为ASCII字符数组,转化为16进制后进行发送。

【7】 SystemVar:系统变量,数据长度为8的倍数。TSMaster系统变量可支持UintIntSingleDoubleUintArrayDoubleArrayHexArrayString等各种数据类型。其具体的数据类型由系统变量自身定义所决定。

关于上述7种类型输入数据和实际发送字节数据转换过后的效果,请查看后续章节:输入标定参数章节。

三、配置CombinedServices报文1Download File

组合服务目前只支持了下载文件服务,如果用户有其他组合需求,可以反馈给上海同星,合理的需求可以作为标准服务模块添加到软件中。

  

【1】 配置该服务的名称

【2】 选择文件进行CRC的校验算法,关于CRC校验,后面会详细介绍。

【3】 加载可执行文件。TSMaster支持HexS19Motbin文件的加载。加载过后,该文件包含的段落,地址,长度等信息见界面下方。

【4】 删除该可执行文件

【5】 打开hex viewerTSMaster内置了可执行文件查看编辑器TSHexViewer,如下图所示,用户可以用该工具,查看载入Hex文件的详细信息。

 

【6】 选择TransferExit(0x37)命令的参数类型。

2Checksum

在程序下载过程中,为了保证数据的完整性,需要引入Checksum算法对数据的完整性和有效性进行校验。TSMaster诊断模块的符合服务中,引入了主流的CRC算法进行校验。其选择框如下图所示:

  

用户选择指定的算法过后,诊断模块会对可执行文件计算其Checksum值,包括该可执行文件每一个BlockChecksum值以及该文件整体的Checksum值,如下图所示:

  

在计算好每一个Block和程序整体的Checksum值过后,会进一步将这些值注册到系统变量中,如下图所示:

  

TSMaster的诊断模块能够直接把系统变量作为参数。以诊断命令中,常用的校验可执行文件的有效性为例,此时就可以配置如下的RoutineControl命令,就可以实现对文件有效性的检查,如下所示:

      

3载入Binary数据文件

HexS19文件格式内部是带数据起始地址和长度的,但是对于Binary类型的二进制文件来说,他内部是不带数据的起始地址的,因此,再载入Binary数据文件的时候,用户需要手动输入数据起始地址段的长度,如下所示:

  

加载Binary的时候,软件会自动弹出起始地址设置的窗体如上图所示。地址格式为16进制,地址范围为[0x00000000,0xFFFFFFFF],用户再此范围内设置,并点击确认即可。如果选择取消,则使用默认的地址地址0x00000000。设置地址并载入后,如下图所示:

  

可见,该Binary文件现在有数据段的起始地址了。

四、同步到控制台

在完成上述配置操作后,点击界面左上方的同步按键,把上述配置同步到Diagnostic Console控制台模块中,为接下来具体的诊断操作做准备。如下所示:

  

文章评论0条评论)

登录后参与讨论
我要评论
0
5
关闭 站长推荐上一条 /2 下一条