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