labview数据采集实例
当前读取标志
数据结束端
当前读取标志
数据结束端
LabVIEW从缓冲 区中读取的数据 (AI Read)
数据结束端 当前读取标志
13-авг-20
DATA
输入 速率
连续采集时可能的数据传输异常
板载 FIFO
PC内存Overwrite
解决办法: 1. 增加程序循环读取速度 (不要在
采集循环里放太多处理工作) 2. 选用更快的CPU 3. 增大PC RAM,并通过编程指定
一旦程序开始后就立刻进入到了采集, 然而在实际的应用中, 往往需要一个触发信号控制何时进行采集
13-авг-20
触发采集
触发按照类型主要分为:Start Trigger、Reference Trigger 和Pause Trigger
13-авг-20
Reference Trigger 是有限点采集中的一种触发
13-авг-20
接线方式
13-авг-20
内部时钟分频给出 从外部引入时钟到采集卡
一种保护机制,当采集卡在指定时间没有得到采样相应, 程序就会报错停止,避免了死机等恶劣情况的出现
13-авг-20
13-авг-20
13-авг-20
13-авг-20
13-авг-20
点击 Run, 我们 可以 采集 到当 前的 5V 信号
缓存 Memory
转移速率 RAM
• PC缓存必须够大 (至少需超过一次传递的数据量) • 连续采集中, 如果要使两处缓存一直不溢出, 必须保证
总线的数据转移速率大于数据的输入速率,同时程序 必须尽快读取PC缓存中的数据
LabVIEW
13-авг-20
连续模拟输入
采到缓冲区 中的数据 数据结束端 (AI Start)
13-авг-20
Basic Function Generator.vi
“Fs”代表使用该VI每秒钟生成的点数 “#s”代表总共需要该VI输出多少个样本
频率设定为10,则“Fs”至少大于20,设置为1000时每个周期由100个点描绘 如果需要収送一个完整的波形,至少应该是“Fs”除以频率之商的整数倍13-авг-20
13-авг-20
DAQmx Write.vi
13-авг-20
输出单个电平,直流电压
13-авг-20
生成N点波形
先在内存中开辟一个缓存区,将波形载入
生成一个周期的正弦波
通过设置多少样本描绘一个波形周期和采集卡的更新率决定实际输出波形的频率
13-авг-20
生成连续波形 波形生成凼数
13-авг-20
旋转机械、扭矩测试、瞬态测试等 触发之后立刻又跳回触发值以外
13-авг-20
增加了迟滞的设置。同样是2.7V 触发,斜率设为上升,这时设置1 个1V 的迟滞
13-авг-20
13-авг-20
DAQ 助手配置完成后,点击右下角的“OK”键, 即可自动在LabVIEW 中生成代码, 我们可以在前面板放置一个Waveform Chart, 将采集的结果实时显示出来
13-авг-20
13-авг-20
带缓冲的波形生成
▪ 生成波形频率取决于下列三个因素
▪ 更新率 (每秒多少个更新点) ▪ 缓冲区中的数据点 ▪ 缓冲区中的周期数
信号频率 = 缓冲区中的周期数 ×
更新率 缓冲区中的数据点
缓冲区大小 = 1000点 缓冲区中的周期数 = 2 更新率 = 1000 点/秒 则, 信号频率 = 2 Hz
buffer size(缓存的大小) scan rate(采样速率) number of scans to read at a time(每次读取的样本数)
▪ 连续采集的程序模型为:
AI Config
AI Start
AI Read
Data Process
循环
AI Clear
13-авг-20
DAQmx模拟量采集
13-авг-20
波形发生器
DAQmx Write.vi都放置在DAQmx Start.vi之前
波形每个周期由100个样本描绘 因为生成的波形频率是可变的,所以还需要实时地改变采集卡的更新率
13-авг-20
13-авг-20
每当改变波形信息时,示波器读到的数据就杂乱无章起来
在设置成不允许重生成模式时,需要不断给入波形数据, 否则会导致没有数据输出引起的超时报错, 所以DAQmx Start Task.vi之后必须丌停刷新DAQmx Write.vi。
13-авг-20
测
量 参 数
对 话
采集范围 差分方式
框
关系式 Y=1000X
共需要采集的样本数
采集卡将会以每秒钟1000次的速度进行采样, 在0.1秒后完成100次采集自动停止
13-авг-20
比如说采集一段-5 V到+5 V的正弦波, 同样是3位的分辨率, 选择±10 V的量程需要将20 V的范围平均分割成8份, 而±5 V的量程只需要在10 V的范围内分割8份, 这样码宽就会减小一半,精度自然相应提高
DAQmx Create Virtual Channel.vi Dev1/ai1,Dev1/ai3,Dev1/ai5,Dev1/ai7 Dev1/ai0:4
自定义换算
13-авг-20
DAQmx Timing.vi 开辟的缓存区大小
13-авг-20
DAQmx Trigger.vi
13-авг-20
DAQmx Write.vi
13-авг-20
13-авг-20
AI Config
AI Start
AI Read
Data Process
循环
AI Clear
错误线连接
13-авг-20
属性节点 改变采样率
13-авг-20
通道切换时间
13-авг-20
13-авг-20
DAQmx模拟量生成
13-авг-20
模拟量采集
形式
单点采集 波形采集 连续采集
描
述
采集设备从一个或多个输入通道分别获取一个信号值,然后 LabVIEW立即返回这个值,这是一个即时、无缓冲的操作。 效率和灵活性低。
在计算机内存中开辟一段缓冲区,设备将采集的数据存入其 中,当指定的数据采集完成后,LabVIEW再将缓冲区中的数 据一次读出,此时输出的是一段有限长度的信号波形。
LabVIEW数据采集实例
肖俊生 2013.04.20
13-авг-20
内容与安排
▪ DAQ助手 ▪ DAQmx函数和模拟量采集 ▪ DAQmx模拟量生成 ▪ DAQmx数字量采集 ▪ DAQmx数字量生成 ▪ DAQmx计数器
13-авг-20
DAQ助手
做什么采集
13-авг-20
选择用于测量的通道
DAQmx Read.vi 每次读取多少样本
Windows 的操作系统 10 到20 次/秒
每次读取的样本数(Number of Samples per Channel 引脚的值)× 每秒钟While 循环运行的次数(While 循环中设置延时的倒数) =每秒钟采集的样本数(采样率)。
13-авг-20
13-авг-20
13-авг-20
第六部分
13-авг-20
虚拟信号发生器
13-авг-20
虚拟信号发生器程序框图
13-авг-20Biblioteka 拟示波器13-авг-20
虚拟示波器部分程序框图
13-авг-20
光纤定位单元的驱动电路检测系统
13-авг-20
光纤定位单元的驱动电路检测系统
13-авг-20
一旦得到触发信号,
采集卡继续采集N 个样本, N=有限点采集总样本-需要触发前的样本数, 再将缓存区的数据全部读出
13-авг-20
Pause Trigger 指可以通过触发方式决定什么时候采集,什么时候不采集
13-авг-20
13-авг-20
当采集卡得到一个从低于2.7V 上升到2.7V 的模 拟触发信号,即开始任务
更大的Buffer 4. 降低采样速率(如果允许)
总线传输 速率
ASIC PC ADE (Application)
Buffer Memory
板载内存Overflow
解决办法: 1. 提高总线带宽 2. 选择板载FIFO较大的板卡 3. 降低采样速率(如果允许)
RAM
13-авг-20
连续模拟输入
▪ 需要注意,程序读取数据的速度要不慢于设备往缓冲区中存放数 据的速度,这样才能保证连续运行时,缓冲区中的数据不会溢出。 可以通过调节以下3个参数来达到上述要求:
13-авг-20
频率为100Hz,幅值为5V的正弦波, Express VI的定时为每秒钟生成10000个点, 所以每个波形周期由100个样本所表示
13-авг-20
DAQmx Is Task Done.vi,
当任务结束戒点击“stop”按键时任务结束,停止生成波形 程序会自动根据波形中的t0和dt信息设定采集卡合适的更新率,向外输出波形 写入缓冲区一个正弦波周期,程序开始以后再也没有继续输入过波形信号
开辟一段循环缓冲区,设备连续采集数据并将数据向缓冲区 中存放的同时,LabVIEW依据设置,将缓存中的数据一段一 段地读取出来。最常用的采集方式。
13-авг-20
▪ 有限点采集 (Finite) 和 连续采集 (Continuous)
板载 FIFO
数据
输入速率
总线 (如 PCI / USB)
ASIC PC ADE (Application)