1. 交付指南总览
在消费电子、汽车电子、工业控制等制造领域,TestStand 常被用作产线测试的执行引擎:它负责调度测试序列、调用 LabVIEW/C#/C++ 等语言编写的测试步骤、与仪器和治具通信、记录测试结果并上传 MES。一个 TestStand 项目从"能跑通"到"能交付给产线稳定运行",中间隔着一整套工程化工作。本课程所说的工程交付,指的就是把一套开发完成的 TestStand 测试系统,以可复现、可维护、可追溯的方式移交给产线运维、测试工程或客户方的完整过程。
需要先明确一个边界:工程交付不等于"把代码拷过去"。它至少包含四个层面——软件资产(序列文件、步骤类型、代码模块、配置)、运行环境(TestStand 版本、部署的引擎、驱动与运行时)、数据与接口(结果记录格式、数据库/MES 接口、报表模板)、知识与文档(操作说明、故障处理、变更记录)。缺少任何一层,交付都是不完整的。
交付范围:从开发机到产线的完整链路
一个典型的 TestStand 生产测试项目,交付范围可以按"从内到外"分为四圈。最内圈是测试逻辑本身:主序列文件(.seq)、被调用的子序列、步骤类型配置、Station Globals 与 File Globals 的定义。第二圈是代码模块与依赖:LabVIEW VI、C# 程序集、DLL、Python 脚本,以及它们依赖的驱动版本(如 NI-DMM、VISA、DAQmx)。第三圈是运行与部署配置:TestStand 部署工具生成的部署包、许可证、用户权限与登录策略、Station 配置。最外圈是产线集成:扫码枪、治具控制、PLC 握手信号、MES/SFCS 上传接口、结果数据库。
实际项目中,最容易出问题的往往不是最内圈的测试逻辑,而是第二、三圈。例如开发机上装了 LabVIEW 2021 和某版本 VISA,产线机装的是 LabVIEW 2019,VI 一旦调用了高版本函数就会加载失败;又比如开发时用管理员账号运行,产线用操作员账号,结果写配置文件或访问数据库时权限不足。因此交付范围必须显式覆盖这些"环境相关"的内容。
关键角色与职责
交付不是一个人的事。典型角色包括:测试开发工程师,负责序列与代码模块,是交付物的主要生产者;测试系统工程师/架构师,负责整体方案、接口定义与部署策略;产线测试工程师,是主要接收方,负责日常运行、换型和一线排障;IT/MES 工程师,负责网络、数据库、MES 接口的连通与账号;质量工程师,关注测试覆盖率、结果判定规则与追溯性。角色之间必须有明确的交接点,否则会出现"开发以为产线会配数据库、产线以为开发已经配好"的典型空档。
交付物清单
下面这份清单可直接作为项目交付的检查表使用。字段中的"示例"仅作格式参考,实际项目应按自身情况填写。
| 类别 | 交付物 | 关键内容/示例 | 接收方 |
|---|---|---|---|
| 软件资产 | 主序列文件 | MainSequence.seq,含入口序列与流程控制 | 产线测试 |
| 软件资产 | 代码模块 | VI/DLL/程序集,含源码或受控版本 | 产线测试 |
| 软件资产 | 步骤类型与配置 | 自定义步骤类型、Station Globals 定义 | 产线测试 |
| 运行环境 | 部署包 | TestStand Deployment Utility 输出,含引擎与驱动 | IT/产线 |
| 运行环境 | 版本清单 | TestStand 2021、LabVIEW 2021、VISA 21.0 等 | IT/产线 |
| 数据与接口 | 结果记录格式 | 数据库表结构、字段含义、判定字段 | MES/质量 |
| 数据与接口 | 接口文档 | MES 上传协议、PLC 握手信号定义 | MES/产线 |
| 知识与文档 | 操作手册 | 开机、换型、异常复位步骤 | 产线测试 |
| 知识与文档 | 故障处理指南 | 常见报警、对应处理、升级路径 | 产线测试 |
| 知识与文档 | 变更记录 | 版本号、变更内容、变更人、日期 | 全部 |
清单本身不难,难的是每一项都要"可验证"。例如"部署包"不能只说"已生成",而要在一台干净的产线机上实际安装并跑通一次完整测试;"接口文档"不能只写字段名,而要给出一次真实的请求/响应示例。交付验收时,建议按清单逐项打勾,并记录验证方式与验证人。
交付流程与状态流转
从工程视角看,交付是一个有状态的过程,而不是一次性动作。下图用状态与数据流的方式,展示从开发完成到产线接收的关键节点、各节点产出的交付物,以及验收不通过时的回退路径。
图中把"验收测试"单独作为一个关键节点,是因为它是交付过程中唯一能证明"接收方可以独立运行"的环节。验收不通过时,不是简单重跑,而是要定位到具体缺口——是部署包缺了某个驱动,还是文档没写清换型步骤——然后回到内部验证阶段重新走一遍,并更新版本号与变更记录。这个回退路径必须在项目计划中预留时间,否则交付很容易变成"带病上线"。
最后强调一点:交付的终点不是"文件已发送",而是"接收方已能独立运行并处理常见异常"。判断是否真正完成,可以问三个问题:产线操作员能否按手册完成一次换型?设备报警时能否按故障指南复位?需要修改一个测试限值时,产线测试工程师能否自行完成并记录变更?三个问题都能回答"是",交付才算闭环。