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软件资产识别与登记结构 从六类软件资产到硬件模块与测试项目的关联登记 软件资产六类 驱动 Driver DAQmx / DMM / SCOPE / Switch 运行时 Runtime LabVIEW RTE / TestStand RTE 开发环境 IDE LabVIEW / CVI / TestStand 工具包 Toolkit Vision / Sound&Vibration / DB 许可证 License 永久 / 订阅 / 网络 / 试用 自定义代码 Custom VI库 / DLL / 脚本 / 配置文件 资产登记记录 资产编号 / 类别 / 名称 唯一标识与分类 版本 / 位数 / 安装路径 精确到补丁级别 许可证状态 / 到期日 激活与合规信息 关联硬件模块 驱动与模块的对应关系 关联测试项目 项目对版本的约束 登记日期 / 登记人 责任追溯 校验值 SHA-256 自定义代码完整性 备注 / 变更记录 版本升级与替换说明 PXI硬件模块 PXIe-6363 多功能DAQ 依赖 NI-DAQmx 21.5+ PXIe-4081 数字万用表 依赖 NI-DMM 20.0+ PXIe-5162 示波器 依赖 NI-SCOPE 20.6+ 测试项目 项目A:电源模块测试 LabVIEW 2021 + DAQmx 21.5 项目B:音频功放测试 LabVIEW 2020 + Sound&Vib 2020 项目C:射频信号采集 LabVIEW 2021 + SCOPE 20.6 识别 关联 关联 版本约束 登记的核心价值:让“软件组合”可查询、可对比、可复现,支撑环境迁移与故障定位

识别方法:从三个来源采集

软件资产识别不能只靠回忆,建议从三个来源交叉采集。第一,从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的模块固件是否兼容,并在备注中注明“升级后需重新运行自检”。

实用提示:对于自定义代码,建议在登记时同时记录其依赖的LabVIEW版本和工具包版本。因为一个VI库在LabVIEW 2021下编译通过,不代表在LabVIEW 2020下能直接打开。登记依赖关系,可以在环境迁移时快速判断“哪些代码需要重新编译”。
常见误区:只登记开发环境而忽略运行时。很多PXI测试机部署的是编译后的可执行程序,目标机上只需要运行时和驱动,不需要完整的开发环境。如果登记时把两者混为一谈,会导致部署清单臃肿,甚至误装开发环境占用许可证资源。

完成软件资产登记后,下一步是将其与硬件资产、机箱槽位信息整合,形成完整的PXI系统资产台账。这样,当需要复现某台测试机时,可以按“机箱型号→控制器→模块→驱动→运行时→项目代码”的顺序逐层核对,把环境搭建从“凭经验”变成“按清单执行”。