TSMaster 自动诊断流程
TSMaster自动诊断流程主要是针对整个项目的诊断流程进行管理。本文主要讲解流程应用管理和配置诊断流程的相关配置操作。
一、流程用例管理
TSMaster的自动化诊断流程不仅仅是针对某一个具体的应用,而是针对整个项目的诊断流程进行管理。用户可以根据完整项目的需求,配置测试诊断流程组,每个组里面可以包含多个不同的诊断流程,在一个诊断流程中才包含具体的诊断步骤。如下图所示:
在UDS流程管理栏右键鼠标,展开流程用例管理的操作菜单,如下图所示:
>主要包含如下操作:
【1】Add a new group:新增诊断流程组。比如新增车型1。诊断组下面可以再增加诊断流程用例,其本身不包含诊断步骤。
【2】Add a new uds flow:新增一个诊断流程用例,在诊断流程用例下面可以增加详细的诊断步骤。
【3】Edit name:选中一个流程组或者流程用例,右键选中Edit name编辑该节点的名称,如下图所示:
【4】 Switch to the uds flow:切换到当前UDS流程节点。双击该节点,也可以达到切换到该流程节点的效果。切换到该节点过后,节点图标和背景色如下图所示,同时右边的节点流程中展开显示该uds流程包含的详细诊断步骤:
【5】 Start Uds flow:启动该节点的诊断流程。点击该选项后,诊断模块按照右边的配置,从上往下自动执行诊断步骤。
【6】 Abort Uds flow:点击该节点后,中断正在执行的诊断流程步骤。
【7】 Delete selected:删除选中的节点。
【8】 Delete all flows:清除所有的节点。
二、配置诊断流程(UDS Flow)
1、基本配置步骤:
配置诊断流程,基本步骤如下图所示:
【1】 在左边的管理栏中选中一个诊断流程节点。
【2】 在右边的编辑区域,添加,删除,编辑诊断步骤。
【3】 添加步骤后,编辑步骤名称。
【4】 选择该步骤的类型。
【5】 选择该步骤地址类型,物理地址还是功能地址。
【6】 配置详细的诊断请求数据包和应答数据包。
【7】 配置本步骤结束后步骤之间的等待时间。
【8】 配置本步骤发生错误的错误处理方法。
上面几个步骤是配置诊断流程的基本步骤,实际使用的时候,根据应用场景还提供了更灵活的机制,接着看后续章节。
2、工具栏
诊断流程配置工具栏如下图所示:
【1】 新增诊断流程组。
【2】 新增诊断流程用例。
【3】 删除选中的诊断流程组/用例。
【4】 启动配置好的诊断流程。
【5】 中断正在运行的诊断流程。
【6】 锁定/解锁流程配置区域。如果锁定该区域,在诊断流程区域变得不可编辑。
3、诊断步骤类型
测试步骤中,为了增加诊断配置的灵活性,设计了5种类型可供选择,如下图所示,主要包含:Normal,SelectConfig,SeedAndKey,DownloadFile,TesterPresent,RoutineControl。通过这5种类型,基本上涵盖住了市面上所有主流的诊断流程需求,下面详细介绍每种类型的特点。
【1】 Normal:普通配置。该配置主要用于一些简单的,请求数据和应答数据都很清晰的场合。比如服务请求数据为 【10 03】,服务应答数据为 【50 03 12 34】,则可以选择Normal类型。Normal的配置是最简单的,直接在Request中填入想要发送的请求数据【10 03】,在Response中填入期望的应答报文【50 03 12 34】即可。配置Response报文的时候,展开如下所示:
因为有些测试用例中,ECU是没有应答的,对于这种情况,用户只需要去掉勾选Has Response即可。完成配置后效果图如下所示:
【2】 SelectConfig:选择已有配置,该配置设计的目的,就是让用户选择在Diagnostic Console控制台中已经调试好的诊断步骤。选择过程如下图所示:
这种方式是TSmaster最推荐的配置方式。用户可以先在Diagnostic Console中把各个子流程全部配置并测试好,然后在自动诊断流程中引用该配置即可,其逻辑如下图所示:
在自动诊断流程的执行过程中,其执行效果跟Diagnostic Console中将完全一样。
【3】 SeedAndKey:SeedAndKey是一个组合命令,直接用Normal命令无法配置出来。用户可以通过SelectConfig直接从已有配置中选择,也可以通过选择SeedAndKey类型,在自动流程中直接配置解密步骤。SeedAndKey只需要选择SeedLevel参数即可,解密的DLL直接关联到TP参数配置中载入的SeedAndKey的Dll中,如下图所示:
可见,无论是在Diagnostic Console模块中,还是Automatic Diagnostic模块中正确运行的前提需要用户正确完成TP层参数的配置。
【4】 TesterPresent: 如前文所讲,TSMaster提供了一个TesterPresent的全局开关,通过该开关,用户可以直接打开和关闭该命令。同时为了支持更加灵活的测试需求,在自动化流程步骤中,也提供了基于步骤配置该命令的方式,让用户选择在需要的步骤打开和关闭TesterPresent命令。选择该类型过后,主要有两个参数需要配置:
》是否启动/停止该命令,如下:
》配置该命令数据,以及周期间隔,如下:
【诊断步骤配置汇总】
总结上个章节测试步骤的配置流程,其逻辑流组成如下图所示:
4、步骤间隔时间
诊断流程模块步骤跟步骤之间的时间间隔是可以设置的,如下图所示,单位为ms:
5、出错处理
现阶段出错处理,主要包含两个参数:错误后重试次数以及错误后停止还是继续运行,如下图所示:
在后续产品规划中,出错后允许跳转到指定的流程中(比如跳转到擦除流程中),进一步增加自动运行流程模块的灵活性。
6、使能步骤/位置调整
对于已经完成配置的诊断流程步骤,用户根据左边的选择框来勾选想要执行的诊断步骤,如下图所示:
关于执行顺序调整:无论是测试用例组,测试用例还是测试用例中的具体步骤,用户想调整相互之间执行顺序的时候,直接拖拽对应的测试用例到相应位置即可。