2. 测试环境搭建:硬件选型与软件配置
环境搭建这事儿,说白了就是给台架测试找个靠谱的「身体」和「灵魂」。硬件是骨架,软件是神经。我见过不少项目,方案设计得天花乱坠,结果一到现场,工控机带不动采集卡,驱动死活装不上,传感器信号乱跳……嗯,咱们今天就把这些坑提前填上。
2.1 硬件选型:工控机、采集卡、传感器
硬件选型我习惯从「被测对象」倒推。你想想看,测一个电机和测一个电池包,对采集通道的要求能一样吗?
2.1.1 工控机(IPC)
工控机是台架的大脑。我个人建议优先考虑无风扇设计,尤其是现场粉尘多、振动大的环境。风扇一堵,机器过热降频,数据采集就开始丢包。
| 参数项 | 推荐规格 | 说明 |
|---|---|---|
| CPU | Intel Core i5 / i7(第12代以上) | 实时系统建议带 TCC 支持 |
| 内存 | 16 GB 起步,32 GB 更稳 | 采集卡 DMA 缓冲区会吃内存 |
| 存储 | 256 GB SSD(系统)+ 1 TB(数据) | 系统盘和数据盘物理分离 |
| 接口 | 至少 2 个 PCIe x16 插槽 | 一张采集卡 + 一张运动控制卡 |
| 供电 | DC 24V 输入,带浪涌保护 | 现场电源波动大,别省这个钱 |
2.1.2 数据采集卡(DAQ)
采集卡是台架的耳朵。选型时重点关注三个指标:采样率、分辨率、通道数。
- 采样率:根据信号最高频率的 5~10 倍来选。测 1 kHz 的振动信号,采样率至少 5 kS/s。
- 分辨率:16 bit 是底线,24 bit 用于高精度测量(如应变、热电偶)。
- 通道数:预留 20% 的备用通道。我吃过亏,项目中期加测一个温度点,发现通道全满了……
常见的采集卡品牌有 NI、研华、凌华。我个人更倾向 NI 的 PXIe 系列,驱动成熟,LabVIEW 生态好。但如果你用 Linux + Python,研华的 PCIE-1802 性价比更高。
2.1.3 传感器
传感器是台架的眼睛。选型口诀:量程够、精度高、响应快、抗干扰。
| 传感器类型 | 典型应用 | 选型要点 |
|---|---|---|
| 力传感器 | 扭矩、推力测量 | 过载保护 150%,线性度 < 0.1% |
| 位移传感器 | 位置、间隙测量 | 分辨率 < 1 μm,非接触式优先 |
| 温度传感器 | 热管理测试 | 热电偶响应快,PT100 精度高 |
| 振动传感器 | 模态分析、故障诊断 | IEPE 接口,频率范围 0.5 Hz ~ 10 kHz |
2.2 软件环境:操作系统、驱动、测试框架
硬件到位了,软件就是让它们协同工作的指挥系统。我建议先装系统,再装驱动,最后配框架——顺序别乱。
2.2.1 操作系统选型
台架测试的操作系统,主流就两个方向:Windows 和实时 Linux。
- Windows 10/11 IoT Enterprise:适合用 LabVIEW、NI 硬件的场景。驱动全,生态好,但实时性一般(10 ms 级)。
- Ubuntu 22.04 + PREEMPT_RT 内核:适合 Python、C++ 开发,实时性可达 100 μs 级。开源,可控。
我个人习惯用双系统方案。工控机上装 Windows 做快速原型验证,同时用虚拟机跑 Linux 做算法开发。等算法稳定了,再部署到实时 Linux 上。
2.2.2 驱动安装与验证
驱动是硬件和软件的桥梁。安装顺序:芯片组驱动 → 网卡驱动 → 采集卡驱动 → 传感器调理模块驱动。
以 NI 采集卡为例,安装步骤:
# 1. 安装 NI-DAQmx 驱动(Windows)
# 下载地址:ni.com/download
# 运行安装包,选择「完整安装」
# 2. 验证驱动
# 打开 NI MAX(Measurement & Automation Explorer)
# 在「设备和接口」下看到你的采集卡,状态显示「运行中」
# 3. 快速测试
# 右键采集卡 → 测试面板 → 选择 AI 通道
# 用手触摸传感器,看波形是否有变化
2.2.3 测试框架搭建
测试框架我推荐 Python + PyDAQmx(NI 卡)或 python-comedi(通用卡)。配合 pytest 做测试用例管理,配合 InfluxDB 做数据存储。
一个最小可用的测试框架结构:
test_bench/
├── config/
│ └── hardware_config.yaml # 硬件参数配置
├── drivers/
│ ├── daq_driver.py # 采集卡驱动封装
│ └── sensor_driver.py # 传感器驱动封装
├── tests/
│ ├── test_sensor_calibration.py # 传感器标定测试
│ └── test_data_acquisition.py # 数据采集测试
├── data/
│ └── raw/ # 原始数据存储
├── reports/
│ └── test_report.html # 测试报告
└── requirements.txt # 依赖清单
安装依赖:
pip install pydaqmx numpy pandas influxdb-client pytest
2.3 环境验证:跑通第一个采集循环
环境搭完,必须跑一个完整的采集循环来验证。我一般写一个 10 行左右的脚本:
import PyDAQmx as daq
import numpy as np
# 创建任务
task = daq.Task()
task.CreateAIVoltageChan("Dev1/ai0", "", daq.DAQmx_Val_Cfg_Default,
-10.0, 10.0, daq.DAQmx_Val_Volts, None)
# 配置采样率
task.CfgSampClkTiming("", 1000.0, daq.DAQmx_Val_Rising,
daq.DAQmx_Val_FiniteSamps, 1000)
# 读取数据
data = np.zeros(1000)
task.ReadAnalogF64(1000, 10.0, daq.DAQmx_Val_GroupByChannel,
data, 1000, None)
# 打印前 10 个值
print(data[:10])
task.ClearTask()
如果脚本能稳定输出数值,且数值在合理范围内,恭喜你——环境搭建成功。
2.4 知识体系总览
下面这张图,把本章的核心逻辑串起来了。你可以把它贴在工位旁边,搭环境时对照着看。
环境搭建这件事,看起来琐碎,但每一步都影响后续测试的质量。硬件选型多花点心思,软件配置多验证几遍,后面写测试用例时你会感谢自己的。