3. TestStand界面导航

TestStand 作为 NI 公司推出的专业测试执行与管理平台,其界面设计围绕“序列开发”与“测试执行”两条主线展开。对于初次接触 TestStand 的工程师而言,面对多个窗口、面板和工具栏,往往容易迷失在界面层级中。本章将系统拆解 TestStand 的四大核心界面组件——Sequence Editor(序列编辑器)、Station(工作站)、Execution Window(执行窗口)以及工具栏与面板布局,帮助你在进入实际序列开发之前,建立清晰的界面认知地图。理解这些界面组件之间的数据流与控制流关系,是后续编写可维护、可调试测试序列的基础。

TestStand 界面组件关系与数据流 Sequence Editor(序列编辑器) · 序列/步骤/流程模型编辑 · 变量、属性、表达式调试 · 断点、单步、探针、变量监视 · 文件保存为 .seq / .bin Station(工作站) · 测试站配置(硬件/IO/协议) · 站级变量、模型、回调序列 · 操作员界面启动入口 · 部署与运行时环境 Execution Window(执行窗口) · 实时显示当前执行步骤/状态 · 线程/执行句柄管理 · 暂停/继续/终止控制 工具栏与面板布局 · 标准工具栏:文件/编辑/调试/执行控制 · 面板:变量面板、步骤面板、监视面板、输出面板 · 布局可保存/重置,支持多显示器协作 编辑/调试 配置/部署 运行时反馈 加载/保存 开发态 运行态 监控态

上图展示了 TestStand 界面组件之间的核心关系:Sequence Editor 负责开发态的序列编辑与调试,Station 承载运行态的配置与部署,Execution Window 则作为运行时监控与控制的窗口,而工具栏与面板布局贯穿于所有操作之中。下面我们将逐一深入剖析每个组件的功能定位、操作要点与实战技巧。

3.1 Sequence Editor:测试序列的“设计工坊”

核心原理

Sequence Editor 是 TestStand 中最核心的开发环境,它采用“工程树 + 步骤列表 + 属性配置”的三段式结构。左侧的序列树展示当前文件中的所有序列(Sequence),每个序列由若干步骤(Step)组成;中间的步骤列表以表格形式呈现当前序列的执行顺序、步骤类型、名称和状态;右侧的步骤属性面板则允许你精细配置每个步骤的输入、输出、表达式和运行选项。这种设计将“流程逻辑”与“数据配置”分离,使得测试工程师可以专注于测试流程设计,而不必陷入代码细节。

操作流程

  1. 新建序列文件:通过 File → New Sequence File 创建 .seq 文件,或直接打开现有模板。
  2. 添加步骤:在步骤列表中右键 → Insert Step,选择步骤类型(如 Pass/Fail Test、Numeric Limit Test、Message Popup、Call Executable 等)。
  3. 配置步骤属性:选中步骤后,在右侧属性面板中设置“Step Settings”选项卡下的输入参数、加载选项和运行选项。
  4. 调试运行:使用工具栏上的 Run 按钮(F5)启动调试,配合断点(F9)和单步(F10/F11)进行逐行检查。
  5. 保存与部署:开发完成后保存为 .seq 文件,后续可部署到 Station 中供生产环境调用。

实战场景:多步骤测试序列的调试

假设你正在开发一个电源模块的测试序列,包含电压校准、负载调整率测试和效率计算三个步骤。在 Sequence Editor 中,你可以通过以下方式提升调试效率:

  • 在电压校准步骤前设置断点,观察 DMM 读数是否在预期范围内。
  • 使用“Variables”面板实时监视 MeasuredVoltage 和 LoadCurrent 等局部变量。
  • 在效率计算步骤中,通过“Expressions”窗口验证公式 Efficiency = (OutputPower / InputPower) * 100 的中间值。

这种“断点 + 变量监视 + 表达式验证”的组合,能够快速定位是硬件采集问题还是算法逻辑问题。

经验提醒:在 Sequence Editor 中,建议为每个步骤设置清晰的“Step Name”和“Comment”,这不仅有助于调试时快速识别,也方便后续维护人员理解测试意图。此外,合理使用“Step Groups”功能可以将相关步骤分组,折叠后让序列树更加整洁。

常见误区

  • 误区一:忽略步骤的“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 的配置修改(如更换硬件适配器)会影响所有使用该 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 来监控并行测试任务。窗口顶部的控制按钮(暂停、继续、终止)允许操作员在必要时干预测试流程。

操作流程

  1. 启动执行:在 Sequence Editor 中点击 Run,或在 Station 中点击“Start Test”,系统会自动弹出 Execution Window。
  2. 监控状态:观察“Step Name”列和“Status”列,绿色表示通过,红色表示失败,黄色表示警告。
  3. 暂停与恢复:点击“Pause”按钮暂停当前执行,此时可以检查变量值或硬件状态;点击“Continue”恢复执行。
  4. 终止执行:点击“Terminate”按钮强制结束测试,系统会生成部分报告并释放资源。

实战场景:并行测试的监控

假设你使用 TestStand 的“Parallel”模型同时测试 4 个 UUT(Unit Under Test),每个 UUT 在独立的线程中运行。此时,你可以打开 4 个 Execution Window,分别监控每个线程的进度。通过观察各窗口的“Elapsed Time”列,可以快速判断哪个 UUT 的测试耗时异常,从而定位是硬件问题还是序列逻辑问题。

关键技巧:Execution Window 中的“View”菜单允许你自定义显示列,例如添加“Step Type”、“Module Path”等字段。在生产环境中,建议将窗口布局保存为默认视图,并隐藏不常用的列,以减少操作员的认知负担。

常见误区

  • 误区一:忽视 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,逐一熟悉本章介绍的每个窗口和面板,为后续的实战练习打下坚实基础。