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

描述

基础诊断配置

 

该模块包含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控制台模块中,为接下来具体的诊断操作做准备。如下所示:

诊断

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分