3. 自动化测试环境搭建
自动化测试环境是后续所有脚本、数据采集与报表流程的物理与软件基础。环境搭建的核心目标只有一句话:让上位机能够以稳定、可复现、可寻址的方式,与示波器、函数发生器、频谱仪等仪器完成命令交互与波形/数据回传。本节围绕硬件连接、驱动与设备发现、OpenChoice 与 TekVISA 部署、网络规划与安全四个层面展开,并给出可直接参照的配置示例。
一、硬件连接与接口选择
泰克仪器常见的远程控制接口包括 USB Device(USBTMC)、LAN(LXI/VXI-11 或 HiSLIP)、GPIB 以及部分型号的 RS-232。选择顺序建议为:LAN > USB > GPIB。LAN 便于多机集中管理与远程访问,USB 即插即用适合单机台架,GPIB 则在老旧仪器或强实时场景中仍有价值。
物理连接时需注意三点:一是 USB 线缆长度不超过 5 m,超过时使用带供电的 USB Hub;二是 LAN 直连时使用交叉网线或支持 Auto-MDIX 的普通网线,并手动配置同网段静态 IP;三是 GPIB 链路总长度不超过 20 m,且每 2 m 线缆最多挂接 2 台设备,链路上设备数不超过 15 台。以 MSO54 示波器为例,其后面板 LAN 口默认支持 DHCP,若实验室无 DHCP 服务器,需在 Utility > I/O > LAN 中改为手动 IP,例如上位机 192.168.10.1/24,示波器 192.168.10.21/24,网关留空。
二、驱动安装与设备发现
Windows 上位机连接 USB 仪器时,需安装 USBTMC 驱动。TekVISA 安装包已内置该驱动,安装后可在设备管理器中看到 USB Test and Measurement Device (IVI) 条目。若使用 NI-VISA 与 TekVISA 共存,建议只保留一套 VISA 实现,避免 viFindRsrc 返回重复资源。
设备发现推荐使用泰克官方工具 OpenChoice Instrument Manager,它会扫描 USB、LAN、GPIB 三类接口并列出资源字符串。典型资源字符串格式如下:
USB::0x0699::0x0522::C012345::INSTR # USB 连接的 MSO54
TCPIP0::192.168.10.21::inst0::INSTR # LAN 直连(VXI-11)
TCPIP0::192.168.10.21::hislip0::INSTR # LAN(HiSLIP,推荐)
GPIB0::5::INSTR # GPIB 地址 5 的仪器
发现失败时按以下顺序排查:确认仪器 I/O 页面已启用对应接口;用 ping 192.168.10.21 验证网络可达;在 Instrument Manager 中手动添加 IP 并点击 Test Connection;若返回 VI_ERROR_RSRC_NFOUND,多为防火墙拦截或 VISA 冲突。
三、OpenChoice 与 TekVISA 部署
TekVISA 是泰克提供的 VISA 实现,负责底层通信;OpenChoice 是上层数据采集与桌面分析套件,包含 Instrument Manager、OpenChoice Desktop 等组件。部署顺序应为:先装 TekVISA,再装 OpenChoice,最后安装编程环境(Python + PyVISA 或 MATLAB Instrument Control Toolbox)。
安装完成后验证环境是否可用,可运行以下 Python 示例(PyVISA 后端指向 TekVISA):
import pyvisa
rm = pyvisa.ResourceManager('C:/Windows/System32/visa32.dll')
scope = rm.open_resource('TCPIP0::192.168.10.21::hislip0::INSTR')
scope.timeout = 5000
print(scope.query('*IDN?'))
# 预期返回:TEKTRONIX,MSO54,C012345,CF:91.1CT FV:1.2.3
若 *IDN? 正常返回,说明 VISA 层、网络层与仪器命令层均已打通,可进入后续自动化脚本开发。
四、测试网络规划与安全设置
建议为测试仪器划分独立 VLAN 或独立交换机,与办公网隔离。地址规划示例:上位机 192.168.10.1/24,仪器地址段 192.168.10.21–192.168.10.60,保留 .1–.20 给网关与服务器。仪器侧关闭不必要的服务,仅保留 VXI-11、HiSLIP 与 HTTP(用于 Web 界面)。
安全方面:修改仪器默认密码;禁用 Telnet 与 FTP,改用 SCP 或 USB 导出;在交换机上限制仅上位机 MAC/IP 可访问仪器端口(VXI-11 用 111/1024,HiSLIP 用 4880);对关键测试脚本与波形数据设置只读归档目录,避免误覆盖。
五、环境验证清单
完成上述配置后,建议按以下清单逐项确认,全部通过即可认为环境搭建完成:
| 检查项 | 验证方法 | 通过标准 |
|---|---|---|
| 物理连接 | 查看仪器 LAN 指示灯 / 设备管理器 | 链路灯常亮,无黄色感叹号 |
| 网络可达 | ping 192.168.10.21 | 丢包率 0%,延迟 < 5 ms |
| VISA 资源 | Instrument Manager 扫描 | 列出全部仪器资源字符串 |
| 命令通道 | Python 执行 *IDN? | 返回正确型号与序列号 |
| 数据回传 | 读取 CURVE? 或 WFMOUTPRE? | 返回波形数据,无超时 |
| 安全策略 | 端口扫描 4880/111/1024 | 仅预期端口开放 |
config.yaml 中,脚本通过配置文件读取,避免硬编码导致换机后无法运行。ResourceManager 中显式指定 visa32.dll 路径,或卸载其中一套 VISA。