目的
介绍如何在不同软件平台上使用MCC数据采集设备读取单通道模拟输入值。
适用人群
间歇性读取AI通道的数据采集系统开发人员,并希望理解其在不同软件环境下的使用方法。
概述
模拟输入DAQ设备通常以其高速连续的AI采样能力而为人们称道。然而当使用这种方式时,产生的数据量难以筛选与存储。为促进大量数据能通过系统总线传输,它们通常以较大数据块或数据包的形式排列,但这可能会使某一特定数据点的获取产生延迟。作为高速多通道AI扫描的补充,MCC DAQ设备也支持另一种采集方式---单通道AI数值的读取。
对于USB DAQ,从一路AI通道读取单个数值的时间取决于DAQ型号,但通常为1ms到5ms。当您发出读取请求时,程序会等待DAQ设备的最终数据点。由于没有使用定速时钟或硬件存储队列,所以这被称为轮询或软件控制读取。
由于需一次次不断获取新电压值,用户经常设置软件定时器(或定时循环)。其它任务,如将一个数值传输至基于电压输入值的DAQ输出通道中,也需要使用这种循环方式。这种循环经常被称为控制循环,它要求实时的输入读取。出于简化目的,本文档中没有展示软件定时器或循环。
但随着程序中AI通道数量或采样率的增加,这种单点读取的方式可能无法满足整体吞吐量需求。同样,当程序不必时刻对每一个可获取的采样点“访问”时,例如以大数组形式处理数据或仅在最后时刻分析数据,您应该考虑波形/数组捕获的情况。
无论基于哪种软件平台,每一次模拟输入读取都必须指定以下信息:
- AI通道数
- 输入范围
以下两个信息将会被返回:
- 电压读数
- 错误代码
以下示例展示了如何使用Universal Library™、UL for Android™、NI LabVIEW™与DASYLab®采样单个AI数值。
Universal Library通用库范例
以下示例介绍如何使用University Library(UL)与Visual Basic采样单个AI数值:
Channel = 0 ’定义采样通道# 0
Range = MccDaq.Range.Bip10Volts ’定义输入电压范围:±10 V
ULStat = DaqBoard.VIn (Channel, Range, DataValue, Options)
电压读数返回至DataValue中,同时错误代码以ULStat数值返回。
UL for Android
以下示例介绍如何使用UL for Android与Java采样单个AI数值:
// Establish connection to the DAQ device
mDaqDevice.connect();br /> // 从AI 通道 0读取数据
AiDaqDevice mAiDevice = mDaqDevice.getAiDev();
aInValue = mAiDevice.aIn(0, ChannelMode.SINGLE_ENDED, Range.BIP10VOLTS,
AiUnit.VOLTS)
电压读数返回至aInValue中。
NI LabVIEW
以下示例介绍如何使用LabVIEW采样单个AI数值。接线图展示了相关VI和设置。硬件设备#0的第一个通道(AiO)被请求返回一个位于-10V到+10V期望范围内的测量值。
DASYLab
间歇性获取读数的非编程人员应考虑这种受欢迎的DASYLab软件包。以下示例介绍如何将Analog Input模块的输出连接至Digital Meter显示模块。读取的电压值在仪表显示器中显示。
双击Analog Input模块,您可以访问菜单并选择N samples模式。
这里我们指定N为1(采样点数量)。
易于使用 | 轻松集成 | 快速支持
【新品预告】测量IEPE的MCC DAQ HAT - MCC 172
基于Raspberry Pi(树莓派)的MCC数据采集卡应用
【应用案例】基于工业物联网架构的工业设备状态监测与故障诊断系统
【应用案例】使用MCC数据采集产品和Raspberry Pi®的便携式测试系统
新!DASYLab® 2020
【技术指南】 UL for Linux 树莓派®数据采集