3. TestStand界面导航
TestStand 作为 NI 公司推出的专业测试执行与管理平台,其界面设计围绕“序列开发”与“测试执行”两条主线展开。对于初次接触 TestStand 的工程师而言,面对多个窗口、面板和工具栏,往往容易迷失在界面层级中。本章将系统拆解 TestStand 的四大核心界面组件——Sequence Editor(序列编辑器)、Station(工作站)、Execution Window(执行窗口)以及工具栏与面板布局,帮助你在进入实际序列开发之前,建立清晰的界面认知地图。理解这些界面组件之间的数据流与控制流关系,是后续编写可维护、可调试测试序列的基础。
上图展示了 TestStand 界面组件之间的核心关系:Sequence Editor 负责开发态的序列编辑与调试,Station 承载运行态的配置与部署,Execution Window 则作为运行时监控与控制的窗口,而工具栏与面板布局贯穿于所有操作之中。下面我们将逐一深入剖析每个组件的功能定位、操作要点与实战技巧。
3.1 Sequence Editor:测试序列的“设计工坊”
核心原理
Sequence Editor 是 TestStand 中最核心的开发环境,它采用“工程树 + 步骤列表 + 属性配置”的三段式结构。左侧的序列树展示当前文件中的所有序列(Sequence),每个序列由若干步骤(Step)组成;中间的步骤列表以表格形式呈现当前序列的执行顺序、步骤类型、名称和状态;右侧的步骤属性面板则允许你精细配置每个步骤的输入、输出、表达式和运行选项。这种设计将“流程逻辑”与“数据配置”分离,使得测试工程师可以专注于测试流程设计,而不必陷入代码细节。
操作流程
- 新建序列文件:通过 File → New Sequence File 创建 .seq 文件,或直接打开现有模板。
- 添加步骤:在步骤列表中右键 → Insert Step,选择步骤类型(如 Pass/Fail Test、Numeric Limit Test、Message Popup、Call Executable 等)。
- 配置步骤属性:选中步骤后,在右侧属性面板中设置“Step Settings”选项卡下的输入参数、加载选项和运行选项。
- 调试运行:使用工具栏上的 Run 按钮(F5)启动调试,配合断点(F9)和单步(F10/F11)进行逐行检查。
- 保存与部署:开发完成后保存为 .seq 文件,后续可部署到 Station 中供生产环境调用。
实战场景:多步骤测试序列的调试
假设你正在开发一个电源模块的测试序列,包含电压校准、负载调整率测试和效率计算三个步骤。在 Sequence Editor 中,你可以通过以下方式提升调试效率:
- 在电压校准步骤前设置断点,观察 DMM 读数是否在预期范围内。
- 使用“Variables”面板实时监视
MeasuredVoltage和LoadCurrent等局部变量。 - 在效率计算步骤中,通过“Expressions”窗口验证公式
Efficiency = (OutputPower / InputPower) * 100的中间值。
这种“断点 + 变量监视 + 表达式验证”的组合,能够快速定位是硬件采集问题还是算法逻辑问题。
常见误区
- 误区一:忽略步骤的“Load/Unload”选项。默认情况下,步骤在每次执行时都会重新加载,如果步骤涉及 DLL 调用,频繁加载会降低性能。建议将不常变化的步骤设置为“Load Once”。
- 误区二:在序列中硬编码路径。应使用相对路径或系统变量(如
FileDir)来引用外部文件,否则换机后序列将无法运行。 - 误区三:不区分“Preconditions”与“Postconditions”。Preconditions 在步骤执行前判断,Postconditions 在执行后判断,两者逻辑不同,混用会导致测试流程失控。
3.2 Station:测试站的“中枢神经”
核心原理
Station 在 TestStand 中代表一个具体的测试工作站,它封装了硬件资源、软件配置和操作员界面。每个 Station 对应一个 Station.exe 进程,负责加载测试序列、管理执行线程、与硬件驱动通信,并提供操作员交互界面。Station 的配置存储在 Station.ini 文件中,包括默认序列目录、硬件适配器、报告生成选项等。理解 Station 的层级关系(Station → Process Model → Sequence File → Step)是掌握 TestStand 架构的关键。
判断方法
如何判断当前打开的是 Sequence Editor 还是 Station?最直观的方法是看标题栏:Sequence Editor 的标题通常显示“Sequence Editor - [文件名]”,而 Station 的标题显示“Station - [工作站名称]”。此外,Station 窗口默认不显示步骤编辑面板,而是显示操作员界面(Operator Interface),用于生产环境中的一键启动测试。
案例拆解:从开发到部署的完整链路
| 阶段 | 操作 | 关键配置 | 验证方式 |
|---|---|---|---|
| 开发 | 在 Sequence Editor 中编写序列 | 设置断点、变量监视 | F5 调试运行 |
| 配置 | 在 Station 中指定默认序列文件 | Station.ini 中的 DefaultSequenceFile |
启动 Station 后自动加载 |
| 部署 | 将 .seq 文件复制到生产机 | 确认相对路径依赖 | 运行 Station 并执行完整测试 |
| 监控 | 通过 Execution Window 观察运行状态 | 设置报告生成路径 | 检查测试报告是否完整 |
在这个链路中,Station 扮演了“桥梁”角色:它从 Sequence Editor 接收开发好的序列,将其转化为可执行的测试任务,并通过 Execution Window 向操作员反馈实时状态。一个常见的错误是工程师在开发机上直接运行 Station,导致硬件资源冲突或路径错误——正确的做法是在开发机上使用 Sequence Editor 调试,在专用测试机上运行 Station。
Station.ini 前,务必备份原文件,并确认当前没有正在执行的测试任务。否则可能导致测试中断或数据丢失。
常见误区
- 误区一:将 Station 与 Sequence Editor 混为一谈。Sequence Editor 是开发工具,Station 是运行环境,两者不能互相替代。
- 误区二:忽略 Station 的“Process Model”配置。Process Model 定义了测试执行的生命周期(如初始化、测试、清理),错误配置会导致序列无法正常启动或退出。
- 误区三:在 Station 中直接编辑序列。Station 默认不提供步骤编辑功能,强行修改可能导致文件损坏。应回到 Sequence Editor 中修改后再重新部署。
3.3 Execution Window:测试执行的“实时仪表盘”
核心原理
Execution Window 是 TestStand 运行时最直观的反馈界面。它显示当前执行线程(Thread)的状态、正在运行的步骤名称、步骤结果以及执行时间。每个 Execution Window 对应一个独立的执行句柄(Execution Handle),你可以同时打开多个 Execution Window 来监控并行测试任务。窗口顶部的控制按钮(暂停、继续、终止)允许操作员在必要时干预测试流程。
操作流程
- 启动执行:在 Sequence Editor 中点击 Run,或在 Station 中点击“Start Test”,系统会自动弹出 Execution Window。
- 监控状态:观察“Step Name”列和“Status”列,绿色表示通过,红色表示失败,黄色表示警告。
- 暂停与恢复:点击“Pause”按钮暂停当前执行,此时可以检查变量值或硬件状态;点击“Continue”恢复执行。
- 终止执行:点击“Terminate”按钮强制结束测试,系统会生成部分报告并释放资源。
实战场景:并行测试的监控
假设你使用 TestStand 的“Parallel”模型同时测试 4 个 UUT(Unit Under Test),每个 UUT 在独立的线程中运行。此时,你可以打开 4 个 Execution Window,分别监控每个线程的进度。通过观察各窗口的“Elapsed Time”列,可以快速判断哪个 UUT 的测试耗时异常,从而定位是硬件问题还是序列逻辑问题。
常见误区
- 误区一:忽视 Execution Window 的“Trace”功能。Trace 模式可以记录每一步的执行时间和结果,对于性能调优非常有用。
- 误区二:在 Execution Window 中修改步骤属性。Execution Window 是只读的,任何修改都必须回到 Sequence Editor 中进行。
- 误区三:不关注“Execution”菜单下的“Priority”设置。高优先级线程会抢占 CPU 资源,可能导致低优先级测试超时。
3.4 工具栏与面板布局:效率提升的“加速器”
核心原理
TestStand 的工具栏和面板布局设计遵循“上下文相关”原则:不同模式下(编辑、调试、运行)显示的工具栏按钮和面板内容会自动切换。标准工具栏包含文件操作、编辑操作、调试控制(Run、Pause、Step Into/Over/Out)和执行控制(Terminate、Restart)。面板区域则包括“Variables”面板(显示所有变量及其值)、“Step”面板(显示当前步骤的详细属性)、“Output”面板(显示日志和错误信息)以及“Watch”面板(自定义监视表达式)。
布局优化方法
| 面板名称 | 默认位置 | 推荐调整 | 适用场景 |
|---|---|---|---|
| Variables | 左侧 | 移动到右侧,与 Step 面板并列 | 调试时频繁查看变量 |
| Step | 右侧 | 保持默认 | 编辑步骤属性 |
| Output | 底部 | 增大高度至 200px | 查看编译错误和运行日志 |
| Watch | 浮动 | 固定到右侧底部 | 监视关键表达式 |
实战场景:多显示器布局
在复杂的测试系统开发中,建议使用双显示器:主显示器放置 Sequence Editor 的步骤列表和属性面板,副显示器放置 Variables 面板和 Execution Window。这样可以在调试时同时观察代码逻辑和运行时数据,减少窗口切换频率。TestStand 支持将面板拖拽到任意显示器,并通过“Window → Save Layout”保存布局方案。
Ctrl+R 运行序列,F9 切换断点,Ctrl+Shift+V 打开变量面板。建议打印一张快捷键速查表贴在工位上,一周内即可形成肌肉记忆。
常见误区
- 误区一:过度自定义布局导致混乱。频繁移动面板位置会破坏肌肉记忆,建议确定一套布局后长期使用。
- 误区二:忽略“Output”面板的错误信息。编译错误和运行时异常都会显示在 Output 面板中,很多新手因为忽略这里的提示而浪费大量排查时间。
- 误区三:不使用“Watch”面板。对于复杂的表达式(如数组索引、字符串拼接),Watch 面板比 Variables 面板更直观,且支持添加多个监视项。
3.5 界面导航综合复盘
通过本章的学习,我们建立了 TestStand 界面导航的完整认知框架。Sequence Editor 是开发者的“设计工坊”,Station 是测试站的“中枢神经”,Execution Window 是运行时的“实时仪表盘”,而工具栏与面板布局则是贯穿始终的“效率加速器”。在实际项目中,这四个组件协同工作,构成了从开发、部署到监控的完整闭环。
- Sequence Editor 负责开发与调试,支持断点、单步、变量监视等高级功能。
- Station 是运行环境,封装了硬件配置和操作员界面,与 Sequence Editor 严格分离。
- Execution Window 提供实时执行状态,支持多线程并行监控。
- 工具栏与面板布局应遵循“上下文相关”原则,合理定制以提升操作效率。
在下一阶段的课程中,我们将深入探讨 TestStand 的序列模型与步骤类型,帮助你从“界面操作”进阶到“逻辑设计”。请务必在本地环境中打开 TestStand,逐一熟悉本章介绍的每个窗口和面板,为后续的实战练习打下坚实基础。