34970A 数据采集器 + LabVIEW 怎么多点巡检?

Agilent 34970A 是安捷伦的数据采集开关主机,机箱里插上不同的开关与测量模块,就能轮流切换几十路信号并逐路测量,机内自带一块六位半万用表。把几十个测试点变成一条扫描列表,LabVIEW 只负责读数和判定。

01 这台设备在哪些场景里干活

机柜与设备温度监测。 一排机柜里几十个温度点,要长期记录。热电偶接到开关模块上,主机自动逐个切换通道测量。

电池组与电源老化巡检。 几十个电芯或者电源模块的多路输出,要在几小时到几天里反复记录电压。

来料器件的批量测量。 成批的电阻、分流器要测阻值,测一个记一个,还要跟标准值比对判档。

多路信号切换。 测试台上不同被测件共用几台仪器,靠开关矩阵来切换线路,避免反复插拔。

02 麻烦的地方在哪

点多。 一个点测一次不算什么,几十个点循环测几十轮就是几万个数据。

要自动切换。 人工插拔不仅慢,还容易接错------接错了数据全是错的,而且看不出来。

要留痕。 数据得带时间戳、带测点名称,事后要能追溯到具体是哪个点。

03 为什么用 LabVIEW 来做这件事

巡检这件事本身不复杂,复杂的是它要一直跑、一直存、一直能追。换一个开发平台,这几样恰恰是最费工的部分。

第一,一轮扫描回来的就是数组。 几十个通道各测一次,仪器返回的是一组读数,在 LabVIEW 里直接就是数组------跟「物理通道---测点名称」映射表一对,就能带上业务名称画趋势、写文件,不用自己拼字符串、切分隔符。

第二,采集、判定、存盘各跑各的。 扫描在后台一轮轮跑,界面实时刷新最新值,同时另一个循环在判超限、报警、落盘。三件事拆成独立循环互不阻塞,长时间巡检不会因为弹个对话框就丢一轮数据。

第三,硬件握手有现成的手段。 整轮扫描什么时候开始、每个通道留多长建立时间,都能交给仪器自己的触发与延时去管,上位机只等一个「扫描完成」的信号。用软件延时凑节拍,时间一长必然漂移,而且漂移了还看不出来。

第四,测点会变,程序不用变。 接线改了、加了两路温度,要改的是映射表和配置文件,不是代码。再加上仪器通信统一走 VISA,换总线也不动上层逻辑。

04 具体是怎么做的

这类开关主机的用法和普通万用表不太一样------**关键是把「物理通道」变成「扫描列表」,一次配好,剩下的交给仪器自己跑。**LabVIEW 这边要做的是三件事:生成扫描列表、下发给主机、把结果按通道名回填。

最基础的一组动作是单通道的「闭合---测量---断开」,适合只测一路、或者临时切一下线的情况。真正把机器用起来的是扫描列表:一次配好要测哪些通道、每路用什么功能、积分时间多长、通道之间留多少建立时间,之后每轮只要发一个触发,主机自己逐通道切换、测量、返回结果。

扫描参数还能配得更细------触发方式(软件发、外部硬件来、还是读时触发)、通道延迟、报警限值都能设。这些参数在仪器内部是按硬件时序执行、也是硬件判定的,比在上位机里写循环加延时要准得多。

同一套思路还能用到开关矩阵与射频多路复用上:不同被测件共用几台仪器,靠矩阵切换线路,避免反复插拔。通道映射表放在配置文件里,换测点、加通道都只改表,不动代码。

最简单的单通道开关:闭合、测量、断开,三个动作串起来

EZ Scan 扫描:一次配好扫描列表,主机自动逐通道测量

Advanced Scan 扫描:扫描参数更完整,含触发方式与通道延迟设置

05 做出来是什么效果

几十个点一次配好,反复跑。 扫描列表下发一次,之后每轮扫描只要发一个触发,主机自己切换通道、自己测量。

测试节拍稳定。 通道间延迟设多少、每通道积分时间多长,都是可配置的固定值,整轮扫描的耗时算得出来。

数据带测点名。 用一张「物理通道---测点名称」映射表,原始通道号回填成业务名称再落盘,事后不用再对照接线表。

接线改了不用改程序。 映射表放在配置文件里,换测点、加通道都只改表,不动代码。

06 这类场景,你也可以照着做

如果你手上的活儿符合下面几条,这套思路基本可以照搬:

  • 有几十个测试点要反复记录,人抄不过来
  • 测点类型不一,有电压、有温度、有电阻
  • 数据要留痕、要能追溯、要出报表
  • 接线方式以后还可能改

这类项目的核心,不是把某一次测量做得多漂亮,而是把「测量」变成可重复、可追溯、可批量的流程。流程立起来了,后面每加一个测点、每换一台仪器,省下的都是真金白银。

07 实施要点

第一,通道间延迟直接影响继电器寿命。 为了快把延迟设到很小,继电器切换频繁,试验还没做完开关模块先坏了。要在节拍与寿命之间取平衡。

第二,34970A 内置六位半万用表。 不需要外接万用表;但很多其它型号的开关主机不带测量功能,选型时要确认清楚。

第三,通道映射表要严格管理。 接线改了一个通道而映射表没改,整批数据的标签全是错的------而且从数据本身看不出来。

第四,扫描列表方式比逐通道单点闭合快得多。 但如果各通道需要的积分时间不同,就只能逐通道来。

附: 文中程序的驱动与示例来自 NI 仪器驱动库,可按设备型号自行检索获取。

相关推荐
labview_自动化4 小时前
LabVIEW删除文件
labview
LabVIEW开发1 天前
LabVIEW 搭 MOKE 磁强计:三路信号同步采集
人工智能·labview·labview知识·labview功能·labview程序
LabVIEW开发1 天前
LabVIEW 搭 HIL 心脏模拟器:不做动物实验
labview·labview知识·labview功能·labview程序
LabVIEW开发1 天前
LabVIEW 驱动 Andor 相机:从 SDK 到出图
数码相机·labview·labview知识·labview功能·labview程序
LabVIEW开发1 天前
TDS2024 示波器 + LabVIEW 波形怎么抓?
labview·labview知识·labview功能·labview程序
LabVIEW开发1 天前
HP3458A 一次采 90 点的命令与驱动
labview知识
LabVIEW开发2 天前
Beckhoff EK1100:接 LabVIEW 的坑
labview·labview知识·labview功能·labview程序
LabVIEW开发2 天前
LabVIEW + FlexRIO:3 个月搭出质谱分析系统
人工智能·labview·labview知识·labview功能·labview程序
LabVIEW开发10 天前
LabVIEW无线温湿度监测
labview·labview知识·labview功能·labview程序