安捷伦 34401A 万用表:五步读出数
34401A 是安捷伦(现是德科技)的六位半数字万用表,直流电压、电流、电阻、频率都能测。它最大的好处是接口特别全:LXI、Ethernet、GPIB、USB、串口五种都能走,换接口基本只改一个资源字符串。
安捷伦 34401A 经 GPIB 接入工控机,LabVIEW 按测点顺序读取直流电压、电阻与电流
01 这台设备在做什么
六位半意味着这台表的读数分辨率比常见的手持表高出一大截,因此它常被拿来当"准"的那一头。日常做的事包括:测电源输出的实际电压、测传感器的激励电流、测电阻和通断、测频率和周期。
场合上,它出现在研发实验室的基准比对、生产线的产品校验、老化房里的定期巡检——测点数量大、时间跨度长。
为什么手动不够:面板上按一下读一个数,抄在本子上——一天几十个点还行,几千个点就不可能,而且手动抄出来的数不可追溯。
为什么用 LabVIEW 控:把"配置量程和分辨率 → 触发 → 读数 → 和上下限比 → 存盘"做成一个 For Loop,一台表就能自动巡检几十个测点,多台表还能并行跑。
02 怎么让 LabVIEW 认到它
驱动叫 `Agilent 34401`,旧称 `hp34401a`,同时提供 LabVIEW 与 LabVIEW NXG 支持。
接口是这个型号最好用的地方:LXI、Ethernet、GPIB、USB、串口,五种都能走。机柜里只有网线就走 Ethernet 或者 LXI,手上有老的 GPIB 卡就继续用 GPIB。
驱动从哪来:NI 的仪器驱动网络(ni.com/idnet),装好后在 Functions → Instrument I/O → Instrument Drivers 下面能翻到 `hp34401a`。如果函数选板里没有它,先确认 NI IVI Compliance Package 装了没有——IVI-C 那一支依赖这个包。
资源字符串示例:`GPIB0::23::INSTR`。换成网口就是 `TCPIP` 开头的字符串,换成串口就是 `ASRL` 开头的字符串。程序逻辑一行不改,只改这一个字符串就换了一种总线。
在 NI MAX 里给仪器起个别名,程序里写别名而不是写地址,将来仪器换地址只改 MAX,VI 都不用动。
03 最小可用程序:几步跑起来
这个驱动是 IVI 标准五步,按顺序调用就行:
- `Initialize With Options` —— 打开会话。资源字符串、ID Query、Reset Device 这些选项都从这里传进去。
- `Configure Measurement` —— 配置测量。例如功能选 DC 电压、量程 1.5 V、分辨率 1 mV。
- `Configure Trigger` —— 配置触发。立刻测就选立即触发或者软件触发;要等外部信号到来才测,就把触发源配成外部。
- `Read` —— 取回一个读数,双精度浮点。
- `Close` —— 关闭会话。
这五步串起来,前面套一个 For Loop 就是多点测量;读数接进 Waveform Chart 就是实时曲线;和上下限比较就是自动判合格。
如果只想先确认通信通不通,可以绕开驱动,直接用 VISA 发几条命令试。`*IDN?` 看它认不认;`MEAS:VOLT:DC? 10,0.003` 直接测一个直流电压,参数是 10 V 量程、0.003 V 分辨率。另外 `CONF:VOLT:DC 10, 0.003` 这种写法只做配置、不当场测量,配置完再发 `READ?` 才出数——这正好对应驱动里 Configure 和 Read 的分工。
04 实际用起来的坑
- 把 `MEAS` 和 `CONF` 用混。`MEAS:VOLT:DC?` 是"配置 + 立即测量 + 读数"一条龙,每次都重新配置;`CONF:VOLT:DC` 只配置,不进入等待触发状态。批量测量时用 `CONF` 配一次、循环里只发 `READ?`,比每次重发 `MEAS?` 快得多。
- 资源字符串和仪器设置不一致。字符串里的地址要和仪器面板上设的地址对应,改过仪器地址而程序没改,表现就是 VISA Open 超时。拿不准就先用 NI MAX 扫一遍,把扫到的字符串原样填进程序。
- IVI 驱动在函数选板里找不到。装完 IVI 驱动却没看到子选板,先检查 NI IVI Compliance Package。另外有些驱动不带 LabVIEW 接口,这种要用免费的 LabVIEW Instrument Driver Import Wizard 生成一层 VI 封装出来。
- 量程和分辨率全交给自动。自动量程每次都要试档,速度慢,切换量程的瞬间还可能读到不稳的值。被测信号大小已知时,手工指定量程和分辨率(例如 1.5 V 量程、1 mV 分辨率)比自动挡又快又稳。走串口时,仪器面板和 VISA 两边的波特率、数据位、停止位、流控必须一致,命令要以换行符结尾。
05 一台能干什么,几台搭起来能干什么
单独一台 34401A 配上 LabVIEW 就能做自动巡检:按设定的测点顺序测直流电压、电阻、电流,每个点带时间戳存进文件,超限报警,测完自动出一份记录。
几台搭起来,它的角色通常是"准的那一把尺"。前面放一台可编程电源给被测对象供电,旁边让示波器盯着电源的纹波和瞬态,再用数据采集卡记下温度和压力这类环境量,34401A 负责测最关键的直流电压或者电阻值,作为整套数据里的基准。这几台设备的品牌和总线一般都不一样,LabVIEW 的价值就在这儿:它们可以出现在同一个程序框图里,共用同一套错误处理和时间轴。
顺带一提,SignalExpress 里也内置了 34401A 的用户自定义步骤(`hp34401a User VI.llb`),同类现成步骤还有 Fluke 45、Keithley 2000、Agilent 3458A 和 NI 自己的 DMM。只想先快速验证一下而不打算写程序时,可以先走这条路。
我们专注 LabVIEW 软件开发与测试测量系统集成,从硬件选型、方案设计到现场交付调试,提供一站式服务。手上有一台设备想接进 LabVIEW,或者几台设备要串成一套系统,欢迎在评论区留言;身边朋友有类似项目,也欢迎帮忙引荐。