3. PXI系统软件资产识别
在PXI测试系统中,硬件模块插在机箱里看得见、摸得着,而软件资产却常常散落在不同工程师的电脑、共享盘和离线安装包中。一旦需要复现某台测试机的环境、迁移到新机箱、排查“换了一台电脑就报错”的问题,软件资产的缺失或版本错配往往比硬件故障更难定位。因此,软件资产识别与登记是PXI系统资产管理的核心环节,其目标是把“能跑起来的一套软件组合”变成可查询、可对比、可复现的结构化记录。
软件资产的六个类别
PXI系统的软件资产可以按职责划分为六类,每类的登记重点不同:
- 驱动(Driver):如NI-DAQmx、NI-DMM、NI-SCOPE、NI-DCPower、NI-Switch等,负责操作系统与PXI模块之间的通信。登记重点是驱动名称、版本号、支持的模块型号、安装路径。
- 运行时(Runtime):如LabVIEW Run-Time Engine、NI TestStand Run-Time、Measurement Studio Runtime。它决定编译后的程序能否在目标机执行,登记重点是运行时名称、版本、位数(32/64位)。
- 开发环境(Development Environment):如LabVIEW 2021 SP1、LabWindows/CVI 2019、TestStand 2021。登记重点是产品名称、版本、补丁级别、激活状态。
- 工具包(Toolkit/Add-on):如NI Vision Development Module、NI Sound and Vibration、Database Connectivity Toolkit、JKI State Machine。登记重点是工具包名称、版本、依赖的LabVIEW版本。
- 许可证(License):包括永久许可证、订阅许可证、网络许可证(Volume License Server)和试用许可证。登记重点是许可证类型、授权对象、到期日期、序列号或激活ID。
- 自定义代码(Custom Code):包括自研VI库、DLL、C#程序集、Python脚本、配置文件、校准系数文件。登记重点是代码名称、版本、作者、依赖项、存放路径、校验值(如SHA-256)。
资产化登记的数据模型
登记不是简单列一张软件清单,而是建立“软件资产—硬件模块—测试项目”之间的关联。建议每条软件资产记录至少包含以下字段:资产编号、类别、名称、版本、位数、安装路径、许可证状态、关联硬件、关联项目、登记日期、登记人、备注。其中“关联硬件”和“关联项目”是PXI系统区别于普通软件清单的关键,因为同一台PXI机箱可能同时服务于多个测试项目,不同项目对驱动版本的要求可能不同。
下面这张图展示了软件资产从识别到登记、再到关联硬件与项目的整体结构关系:
识别方法:从三个来源采集
软件资产识别不能只靠回忆,建议从三个来源交叉采集。第一,从PXI控制器本机采集:在Windows中打开“NI Package Manager”或“Measurement & Automation Explorer(MAX)”,在“软件”节点下可以看到已安装的NI软件及其版本;对于非NI软件,可通过“控制面板→程序和功能”或PowerShell命令 Get-ItemProperty HKLM:\Software\Microsoft\Windows\CurrentVersion\Uninstall\* | Select DisplayName, DisplayVersion 导出清单。第二,从项目工程文件采集:LabVIEW项目的 .lvproj 文件中记录了依赖的VI库和工具包;TestStand的 .seq 文件记录了步骤类型和代码模块路径。第三,从许可证服务器采集:如果使用网络许可证,可在NI Volume License Manager中导出授权用户和产品列表。
采集完成后,需要做一次“去重与合并”。例如,同一台机器上可能同时安装了DAQmx 21.5和DAQmx 20.0的残留组件,登记时应以实际生效的版本为准,并在备注中说明残留情况。对于自定义代码,建议计算SHA-256校验值,避免同名不同内容的文件被误认为同一资产。
登记示例:一台PXIe-8880控制器的软件资产表
以下是一份可直接参考的登记示例,假设该控制器用于“电源模块测试”项目,操作系统为Windows 10 64位。表中数据为教学示例,实际登记时请以现场采集结果为准。
| 资产编号 | 类别 | 名称 | 版本 | 位数 | 许可证状态 | 关联硬件/项目 | 备注 |
|---|---|---|---|---|---|---|---|
| SW-DRV-001 | 驱动 | NI-DAQmx | 21.5.0 | 64 | 随硬件授权 | PXIe-6363 / 项目A | 支持Win10 64位 |
| SW-DRV-002 | 驱动 | NI-DMM | 20.0.0 | 64 | 随硬件授权 | PXIe-4081 / 项目A | — |
| SW-RTE-001 | 运行时 | LabVIEW Run-Time Engine | 2021 SP1 | 64 | 免费 | 项目A | 与开发环境版本一致 |
| SW-IDE-001 | 开发环境 | LabVIEW Professional | 2021 SP1 | 64 | 永久,序列号M123456 | 项目A | 已激活 |
| SW-TLK-001 | 工具包 | Database Connectivity Toolkit | 2021 | 64 | 永久 | 项目A | 用于测试数据入库 |
| SW-LIC-001 | 许可证 | NI Volume License | — | — | 网络,2025-12-31到期 | 全项目 | 服务器地址10.0.0.5 |
| SW-CUS-001 | 自定义代码 | 电源校准VI库 | v2.3 | — | 内部资产 | 项目A | SHA-256: a1b2c3… |
登记后的维护与变更控制
软件资产登记不是一次性工作。当驱动升级、工具包替换或自定义代码修改时,必须同步更新登记记录,并保留变更前后的版本信息。建议在登记表中增加“变更记录”字段,记录变更日期、变更人、变更原因和影响范围。例如,将DAQmx从21.5升级到21.8后,需要确认PXIe-6363的模块固件是否兼容,并在备注中注明“升级后需重新运行自检”。
完成软件资产登记后,下一步是将其与硬件资产、机箱槽位信息整合,形成完整的PXI系统资产台账。这样,当需要复现某台测试机时,可以按“机箱型号→控制器→模块→驱动→运行时→项目代码”的顺序逐层核对,把环境搭建从“凭经验”变成“按清单执行”。