overview前言
TSMaster把系统变量作为参数引入诊断模块中,极大的拓展了诊断模块跟其他模块数据交互的能力,本文主要演示具体的操作。
A.系统变量作为参数
系统变量具有软件内部和外部模块之间数据交互的能力,TSMaster把系统变量作为参数引入诊断模块中,极大的拓展了诊断模块跟其他模块数据交互的能力。下面以几个典型的应用场景为例说明其功能:
首先,在系统中创建两个系统变量,VIN_Code,Voltage,如下所示:
VIN_Code变量为string类型:
Voltage变量为Double类型:
把系统变量关联到Panel和Graphic中,如下所示:
【1】在Panel中设置电压值Voltage,通过诊断写入到ECU中:
【2】在Panel中设置VIN码,通过诊断写入到ECU中:
【3】通过诊断读取ECU内部电压值,并显示到Graphic中:
注意:读取的变量,需要用户手动设置,才会同步到系统变量中。
【4】通过诊断读取ECU内部VIN码,并显示到Panel中:
B.系统变量关联Console服务
在前面章节中,用户在诊断控制台中可以根据需要灵活配置诊断服务。这些诊断服务配置好过后,用户需要在诊断控制台中双击启动该诊断服务。但是如果用户想在Panel界面中启动该诊断命令,则还需要借助系统变量。步骤如下:
【1】 首先在诊断BasicConfig窗体中,选中目标服务,然后右键菜单中把该诊断服务注册为系统变量,如下所示:
注册完成后,该服务项的图标变成如下图标,表示成为一个注册了系统变量的服务,如下所示:
【2】 注册完成后,在系统变量管理器中,就可以看到该系统变量了,如下所示:
【3】在Panel中添加Button,并关联该系统变量,如下所示:
【4】 运行程序,点击Panel上的测试按钮,可以看到,诊断模块执行了DiagnosticSessionControl服务。如下所示:
C.外部程序控制诊断
外部程序可以通过系统变量跟TSMaster进行数据交换。