你目前正在查看 新功能发布 | TSMaster诊断功能之基础诊断配置

新功能发布 | TSMaster诊断功能之基础诊断配置

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

A.添加删除服务命令

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

B.配置BasicDiagnostic服务参数

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

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

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

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

【4】 参数列表的字节序:支持Motorola和Intel字节序。

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

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

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

诊断服务参数:

诊断模块参数支持7种数据类型。包括:UInt,Int,Single,Double,HexArray,Ascii和SystemVar。

【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】 ASCII:ASCII字符串,数据长度为8的倍数。输入数据为ASCII字符数组,转化为16进制后进行发送。

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

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

C.配置CombinedServices报文

Download File:

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

【1】 配置该服务的名称

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

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

【4】 删除该可执行文件

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

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

Checksum:

在程序下载过程中,为了保证数据的完整性,需要引入Checksum算法对数据的完整性和有效性进行校验。TSMaster诊断模块的符合服务中,引入了主流的CRC算法进行校验。其选择框如下图所示:
用户选择指定的算法过后,诊断模块会对可执行文件计算其Checksum值,包括该可执行文件每一个Block的Checksum值以及该文件整体的Checksum值,如下图所示:
在计算好每一个Block和程序整体的Checksum值过后,会进一步将这些值注册到系统变量中,如下图所示:
TSMaster的诊断模块能够直接把系统变量作为参数。以诊断命令中,常用的校验可执行文件的有效性为例,此时就可以配置如下的RoutineControl命令,就可以实现对文件有效性的检查,如下所示:

载入Binary数据文件:

Hex,S19文件格式内部是带数据起始地址和长度的,但是对于Binary类型的二进制文件来说,他内部是不带数据的起始地址的,因此,再载入Binary数据文件的时候,用户需要手动输入数据起始地址段的长度,如下所示:
加载Binary的时候,软件会自动弹出起始地址设置的窗体如上图所示。地址格式为16进制,地址范围为[0x00000000,0xFFFFFFFF],用户再此范围内设置,并点击确认即可。如果选择取消,则使用默认的地址地址0x00000000。设置地址并载入后,如下图所示:
可见,该Binary文件现在有数据段的起始地址了。

D.同步到控制台

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

发表回复