​​在设计验证早期实现自动化:一个跟踪可用测试应用程序

概述

​​ 团队通常会将简单自动化的想法推迟到太迟。仅手动启动会隐藏竞争状态,使测试结果不一致,并在真正开始自动化时降低工程速度。本白皮书介绍了在设计和验证期间开始自动化的实用路径:使用NI InstrumentStudio™软件NI FlexLogger™软件进行清晰的启动和可追溯性记录,然后通过轻松的UI开发创建轻量级NI LabVIEW自动化脚本,从而在需要时演化为结构化应用程序或测试定序器。

 

​为确保自动化测量和所需的软件工具与手动测量和测试集成,需进行准备。关键工具包括标准化的生成步骤和程序、带元数据模板的记录工具,以及编程,使工程师能够创建可用的测试应用程序,从而实现快速原型、动态重新配置以及即时可视化已处理的输出。

内容

延迟自动成本高昂原因

如果仅在开始生产时才优先考虑自动化,下游测试工程团队将为此付出代价。临时手动工作流创建不一致的结果、隐藏竞争状态并迫使工程师在计划压力下调试自动化。更糟糕的是,当仪器和设备仅由手动控制时,解决方法会越来越多,而这些快捷方式很少能在自动化使用后幸存下来。

该修正在概念上简单且在实践中功能强大:在设计和验证期间将自动化作为一流的行为。将交互式、测试优化的软件与设计为自动化的仪器配合使用,使首次跟踪工作变得可重复并可随时进行。

从一开始自动优点

虽然许多团队将依靠设计工程师创建和维护自己的测量策略和软件,然后使用后续创建的自动化测试,但使用质量自动化工具和战术构建初始系统具有以下优势: 

  • 可重复性-标准步骤减少了日常变化 
  • 可追溯性-元数据和保存的配置使结果可跨工作台进行比较 
  • 更快的迭代-可重用的应用模式、轻松的UI创建和已保存的配置文件可加快更改 
  • 减少配置错误-模板和重置可防止不匹配 
  • 更好的覆盖 — 早期自动化可揭示手动驾驶经常错过的边缘情况 
  • 减少返工 – 设计测量软件演变为结构化应用程序或定序器,而不是被丢弃 

需要明确的是,这不是建议避免任何手动测试,而是尝试将适当的自动化水平集成为资产,以防止自动化被视作设计和验证快速前进的障碍时对下游造成的非常可预测的负面影响。 

测试自动流程

测试自动化过程可分为下列自动化的高级“阶段”。有时,可能只适合完成第一个步骤,而对于更复杂的应用程序,实现最高级别的自动化具有显著优势。自动化过程由下列步骤组成: 

  • 启动过程中交互式配置和记录的自动化加速器  
  • 快速原型开发和测量开发,以探索和表征行为 
  • 结构化应用程序可实现广泛的自动化特征分析和记录 

我们来看如何使用NI软件成功完成此工作流。 

InstrumentStudioFlexLogger启动记录 

设备的初始启动可能是混乱的时间。工程师通常专注于了解设备的多种行为,包括预期和非预期行为。InstrumentStudio允许用户交互式地配置和同步多个仪器(示波器、SMU、数字模式)。FlexLogger帮助用户设置换能器和基于DAQ的通道(振动、温度、应变),以动态记录具有丰富元数据和无/低代码接口的混合信号。无论使用何种语言,这两种工具都可帮助团队从交互式测量快速转变为可重复的自动化,而无需从空白的编程画布开始。  

这些工具通过交互式地完成工作并在软件中重现这些复杂的配置(通常在三次API调用或更短时间内),从而实现自动化。同时,它们以“项目”风格处理任务,即用户不只是将一组仪器设置保存到磁盘,而是为所有仪器和I/O提供系统级的仪表板,从而加快后续的交互式会话。  

想象一下,工程师花了一个下午的大部分时间来配置示波器、DMM、频谱分析仪和SMU,以捕捉设备的通电瞬态。稍后他们如何回到同一点?他们如何与同事共享该配置?他们如何让初级工程师重现过程并相信结果?  

现在想象一下,第二天,同一个用户走进实验室,打开一个文件,他们所有的异构测试设备已配置完毕,可以运行。 InstrumentStudio和FlexLogger可提供无缝体验。 

 

InstrumentStudio界面显示交互式仪器配置和实时分析

图1. InstrumentStudio在以项目为中心的工作区中显示对仪器配置和分析的即时交互式访问

 

推荐的工作台调试清单(硬件/平台无关和可重复性)包括执行以下步骤。  

  1. 所有仪器重置为已知默认值-之前运行的持久设置将难以实现可重复的测量。在用户无法依赖设备保持一致的早期阶段,确定性配置至关重要。 
  2. 验证数字I/O和模拟信号的通道映射和引脚分布-许多仪器支持从设备I/O到仪器端口进行名称映射,这能让快速开发过程更加清晰且易于追溯。  
  3. 从已保存的配置文件中加载标准仪器配置-是否有已经定义的特定配置或来自其他配置?根据所使用的设备类型或测试配置,用户可能已经为后续步骤做好了更好的准备。这大大减少了“重置为默认值”所带来的痛苦。 
  4. 检查仪器间同步和定时-当用户可以利用仪器间触发等强大功能时,验证稳定的定时性能始终是有益的。当用户可以从被测设备(DUT)发送触发和接收事件时,这一点就更为重要了;如果不这样做,Variable Firmware行为可能会损坏优化的系统。 
  5. 运行可重复性小型测试,执行两次相同步骤,比较跟踪-运行大型测试之前,确保结果符合预期、可重复且记录正确,可避免出现重大问题。通常,由于记录了大量不良数据并浪费了数天时间而导致历史故障,从而避免了自动化。自动化之前,用户应准备好特定的测试套件以进行验证。 
  6. 使用应用的元数据模板将结果记录到TDMS或CSV-记录数据时,一致性是关键。如无法跨系统、甚至单个运行比较或关联结果,数据将失去实用价值。有效的数据归一化取决于从最开始的跟踪就有意做出决策。 
  7. 保存设置快照:InstrumentStudio项目和FlexLogger配置-获取结果后,获取生成这些结果的配置的快照可最大化重现和信任结果的可能性。完成手动测量和系统数据之间的连接将使未来的项目能够更有效地使用和比较这些结果。 

初始准备任务完成后,决定如何记录数据非常重要。下表列出了测试数据的常见元数据字段: 

  • 项目ID、待测设备ID或串口、固件版本 
  • 测试名称和版本、操作员、日期和时间、实验室位置 
  • 仪器详细信息:已安装选项、驱动程序版本、型号、校准状态 
  • 同步设置 
  • 环境条件:温度、湿度 
  • 运行Tag(基线或变体)和注释 

InstrumentStudio和FlexLogger还可以并行运行,并在有帮助的情况下混合运行,这有时被称为“编织工作流”。通过在InstrumentStudio中配置仪器和验证定时,并使用FlexLogger记录同步DAQ通道,第一个迹线是可追溯和可重用的。从根本上说,每个应用程序都提供了不同的工作流加速,但熟练的工程师将学习如何及何时最好地使用这些加速,以及如何利用其可扩展性集成开箱即用的I/O。例如,InstrumentStudio通常仅与PXI模块化仪器相关联;但是,用户可创建自定义插件,在单个平台上为自己和组织提供完全集成的体验(DUT插件、第三方仪器插件、可视化插件)。 

图2。 FlexLogger显示动态创建的前面板,以展示交互式DAQ配置和记录

快速原型测量开发,了解表征行为 

在交互过程变得更加稳定后,开发轻量级测量自动化应用程序十分常见。 最佳的测量应用程序是小型应用程序,它们可快速验证原型、动态重配置并即时可视化输出。 LabVIEW具有无缝的硬件集成、全面的处理库、便捷的UI创建功能,允许用户拖放输入控件、显示控件和图形,从而快速组装可用的测试应用程序,如图3所示。 目标是在保持灵活性的同时超越单个脚本。

图3.以LabVIEW编写的范例测试面板截图,用于快速原型验证,该范例已迁移到InstrumentStudio插件。

LabVIEW和NI Nigel™ AI可帮助构建自动化应用程序并有效利用NI硬件功能,帮助用户在构建时减少模板并避免常见缺陷。 

建议测量应用程序使用下列组件作为推荐结构的一部分。以下是相关的考虑因素,并非详尽无遗: 

  • 前面板布局-可按功能和用途分组。放置特定的配置值和测量结果可实现易用性。辅助配置窗格还可用于显示和修改非操作基础的变量和输出。 
  • 控制-包括开始和停止、测试选择、设定点和记录切换,以及配置文件保存和加载。 
  • 状态-包括初始化、核心配置、参数计算、测量循环、活动记录和拆卸。 
  • 错误处理-包括每个模块的错误队列和摘要显示控件。 
  • 数据模型-为实时图表提供内存中环形缓冲区的TDMS记录。 
  • 重用-允许用户保存和加载测试配置文件以及应用程序项目的版本。 

自动工具转换结构应用程序序器

当测量应用程序变得有用且可重复后,将其行为分解为可演化为结构化应用程序或测试定序器的模块。例如,用户可将数据流分解为初始化、核心配置、通过用户声明的输入进行参数计算、主动记录结果和元数据的测量循环以及可靠的报告。用于错误处理、条件管理和报告的模板可节省时间并减少缺陷。 

当团队选择保持交互、为测试应用程序编写代码、切换至顺序或执行所有三项任务时,需要考虑一些折衷因素: 

  • 保持交互性-如果以下任一情况为真,可考虑仅使用InstrumentStudio或FlexLogger等交互式软件。 
    • 用户只需一台或两台仪器 
    • 探索性介绍 
    • 单操作员工作 
    • 基本数据快照或简单数据记录 
  • 为LabVIEW测试应用编写代码-当需求超出交互式工具的范围时,LabVIEW提供创建自定义交互式体验或创建插件的最佳选择。这通常是由于处理、可视化或多仪器交互的需求。 
    • 重复运行 
    • 参数扫描 
    • 增强的记录功能,不仅仅限于基本UI 
    • 小型团队重用 
  • 移交至顺序-在某些时候,平台的整体交互要求由实际测试执行程序执行,其中整体自动化和测量自动化的责任是不同的层。像NI TestStand这样的软件是专门为这一阶段的自动化需求而设计的。以下是可能导致使用测试执行程序的几种情况: 
    • 多个DUT或站 
    • 并行执行序列 
    • 正式软件部署 
    • 抽象数据记录和结果跟踪 

NI LabVIEW+ Suite测试自动设计

LabVIEW+ Suite集成了各种工具,可减少早期自动化的摩擦并根据需要扩展:InstrumentStudio用于仪器配置和可视化,FlexLogger用于以传感器为中心的同步和元数据记录,LabVIEW用于交互式测试应用程序和分析,可轻松创建UI。当需要调整、扩展和部署到验证或生产的自动化基础设施时,套件中的其他软件,如NI TestStand和NI DIAdem,即可节省开发时间和总体成本。与使用通用工具从头开始构建系统相比,使用专为测试和测量而设计的协同工作软件提供了更可靠的方法。 

自动流程例:烟雾探测验证测试

现在,可以应用前面讨论的自动化过程来说明它在范例应用程序中的工作方式。 

本范例中的待测设备是一个烟雾探测器,具有锂基电源特性、声音警报和环境传感器。测试工程师必须连接SMU电池仿真器、示波器或模拟触发、温度、数字I/O、湿度和一氧化碳模拟通道。在这种情况下,假设团队使用NI PXI模块化仪器(如示波器和SMU)以及NI CompactDAQ模块进行基本I/O和基于传感器的信号采集。 

1阶段:使用自动工具交互加速度 

熟悉工作台仪器的工程师可轻松过渡到使用统一的InstrumentStudio接口。单击一次,InstrumentStudio将扫描可用的PXI资源并自动更新仪器仪表板,从而允许用户立即开始开发测量和实验。 

本范例中,SMU、示波器和模拟输入可用于配置和可视化。InstrumentStudio提供前面板体验和数据快照保存,FlexLogger运行一段时间的数据记录,默认情况下捕捉CompactDAQ I/O的特定条件。InstrumentStudio通过SMU为板卡上电,示波器探测各种信号和端口以确保正确的值和行为,并在此过程中监控各种模拟信号。完成该步骤后,团队可能需要在各种环境条件下进行测试,然后开始使用FlexLogger配置其他机电信号采集。对于每个应用程序,配置都是基于项目的,只需保存项目,团队就可以为今后的测试(无论是他们自己还是其他人)创建起点。 

2阶段:支持自动测量脚本工具 

建立执行测试的正确配置后,导出和保存的配置可用于简单的脚本和程序。NI PXI仪器可无缝导入通过InstrumentStudio创建的配置文件,立即将硬件置于已知状态。然后,团队可以开始开发简单的测量,通过编程调整、扫描和执行所需的测试,并将自定义UI交互性和可视化与简化的创建结合在一起。  

对于数据记录会话,FlexLogger可直接通过API调用实现自动化,从而使测试工程师能够使用FlexLogger提供的各种功能来摆脱可能遇到的限制。NI软件使用户能够快速开始工作,并允许用户扩展其功能以满足其特定要求,而不是仅限于固定功能。 

3阶段:正式自动集成 

根据组织的自动化成熟程度,制定过渡到下一阶段的准则和工具可能至关重要。但是,当工程师利用为完全自动化而优化的硬件和软件时,可以顺利取得进展。例如,如果前期创建的测量采用强功能边界策略,则可以将测量配置与仪器执行和处理分离,并适合InstrumentStudio和FlexLogger的测量插件框架。如已正确使用FlexLogger,可将数据源、数据处理器或数据接收器扩展至测试系统,以尽可能低的代码创建实现完整的记录需求。测试团队可考虑以下建议: 

  • 将工具分解为处理初始化、配置、参数计算、测量循环和记录的模块。 
  • 采用模板进行错误处理和状态管理;准备报告步骤。 
  • 如果需要并行化或多站执行,则切换到测试定序器。

图4. 在生产周期中用作烟雾探测器PCB的特性电子设备。

结语

在工程生命周期早期对自动化进行优先级排序将始终带来回报 — 团队从开始就集成自动化以减少返工、获得可重复性并加快迭代。借助专为测试和测量而构建的软件以及自动化硬件,工程师可以解锁可衡量的效率,并避免简易、手动优先工作流程的陷阱。使用来自可靠提供商的集成软件套件可确保互操作性、降低技术风险并让团队从探索性启动到结构化应用程序和完整顺序进行扩展,而不是组装拼凑的DIY工具。早期,有意自动化不仅仅是最佳实践,它还是贯穿设计和验证每个阶段的战略优势。