好文档就是一把金锄头!
欢迎来到金锄头文库![会员中心]
电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本

3.2 数据采集2.ppt

42页
  • 卖家[上传人]:豆浆
  • 文档编号:1982189
  • 上传时间:2017-07-18
  • 文档格式:PPT
  • 文档大小:3.47MB
  • / 42 举报 版权申诉 马上下载
  • 文本预览
  • 下载提示
  • 常见问题
    • 数据采集(下),上节课内容小结,1.测试系统简介:基于虚拟仪器技术构成的测量系统的基本组成及相应功能;信号采集的基本概念;测量信号的差分式输入方式;采样率;分辨率;输入范围 2.测量及自动化浏览器——测量系统硬件即数据采集卡的配置软件MAX利用MAX,能完成驱动数据采集卡;确立数据采集任务的名称;并对数据采集卡、具体数据采集通道以及采样的相应参数、换算比例等进行配置3.在本实验室环境下,建立一个实际数据采集任务,包含要确认一个或多个虚拟通道;且除每个虚拟通道的属性设置以外,该任务涉及的参数还包含这些虚拟通道共用的采样和触发模式等属性参数的配置(可选用默认,也可调整) 虚拟通道:一个由测量采集任务名称、采集硬件物理通道、模拟信号输入接线方式、测量或发生的信号类型、换算(缩放比例)等虚拟仪器通过数据采集卡实现测量数据采集所需要配置的属性的集合在LabVIEW环境下,为运行经测量及自动化浏览器即MAX新建立的数据采集任务,需要借助 “DAQmx 任务名”控件或“DAQmx 任务名” 常量NI-DAQmx”实际意味着一系列数据采集软件它包括数据采集卡驱动程序,以及LabVIEW环境下可建立数据采集任务、实现测量数据采集功能(经数据采集卡读取数据或由其生成数据)的相应功能函数及Express VI。

      确立一个数据采集任务,还可用DAQ助手(Express VI)来完成——整合了MAX的功能,直接在框图面板实现数据采集任务建立但用DAQ助手建立的任务无名称,属临时任务,不会保存在MAX中被其他程序使用7. 在框图面板,直接使用“DAQmx 创建虚拟通道”亦即“DAQmx 创建通道(AI-电压-基本)”函数,通过编程的方法,也可以建立数据采集的临时任务本次课的内容,一、NI-DAQmx(数据采集)的属性节点二、NI-DAQmx(数据采集)的任务状态(逻辑)三、数据采集程序(VI)的编制(示例) 1. 模拟输入(单个、一段、连续) 2. 模拟输出(单个、一段、连续) (其中每个均包括利用NI-DAQmx VI和借助DAQ助手两种编程途径),一、DAQmx(数据采集)的属性节点,DAQmx属性节点的功能:用于指定数据采集操作的各种属性这些属性中,某些可利用DAQmx VI(数据采集相关的功能函数——8种)进行设置;而另一些无法则由DAQmx VI设置路径:“函数”选板 “测量I/O”  DAQmx- 数据采集,二、DAQmx(数据采集)的任务状态(逻辑)配置任务-> 开始任务-> 采集数据操作-> 结束任务-> 清除任务 显式和隐式任务状态的转换:通过调用函数的方法明确实施任务状态的转换,称为显式状态转换;而某些DAQmx VI在执行时,若未处于其所需的状态,将会引起状态的自动转换,这种自动转换被称为隐式状态转换。

      1)显式转换举例:在“读取”采样数据前,明确地执行“开始任务”;且在“清除任务”前,明确地执行“结束任务”2)隐式转换举例:在“读取”函数执行前,自动执行“开始任务”;在“清除任务”执行前,自动执行“结束任务”三、数据采集程序(VI)示例,1. 模拟输入,(a) 采集5V的直流电压(电平),并由表盘式显示器显示,找到表盘式显示器路径:“控件”选板 ->“新式”“数值” “仪表”,该程序(VI)建立的步骤:将需测的直流电压经差分模式接至实验箱的模拟输入0号与8号通道之间;b) 用MAX建立此采集测量任务:我的系统\数据邻居\NI-DAQmx任务,右击弹出“创建新NI-DAQmx任务”->采集信号->模拟输入-> 电压->选择0号物理通道(ai0) ->采用默认的任务名“我的电压任务” ,点击“完成”将虚拟通道“电压”的“信号输入范围”设置为0~10V,任务的“定时设置”参数区域的“采集模式”选择“1 采样 (按要求)”;随后,按参数配置栏左上角“保存”按钮,对参数设置的调整做确认c) 构建数据采集VI:往框图面板调用多态函数“DAQmx 读取”,选择“模拟 DBL 1通道 1采样”功能;在该函数的“任务/通道输入”输入端子弹出快捷菜单选“创建”->“输入控件”,建立同名的DAQmx 任务名控件,并选中“我的电压任务”。

      在前面板添加标签为“仪表”的表盘式显示器回到框图面板,完成左上图所示的连线调节为5V,打开开关,(b) 对(a)例,改用DAQ助手建立程序(VI),建立该程序(VI)的步骤:经 “函数选板->测量I/O->DAQmx-数据采集”途径向框图面板添加并启动“DAQ 助手” Express VI,在其打开的“新建Express任务” 对话框里,选择“采集信号”->“模拟输入”->“电压”;再选择模入物理通道ai0,并将“信号输入范围”设置为0~10V,在“采集模式”中选择“1 采样 (按要求——表示立即采集数据)” 关闭DAQ 助手新建任务对话框后可看到,在该Express VI图标下方多出了“数据”输出端子,将该输出端子连至“仪表”控件,即可完成对采集到的单点数据的输出举例:软件定时(Software Timed)的多点采集:帮助->查找范例->硬件输入与输出->DAQmx ->模拟测量 -> 低速变压信号 -> Acq&Chart Mult Samples-SW Timed.vi,利用循环结构,不断进行单点数据采集,直到“DAQmx 读取”函数出错(错误簇的“status”参数为True),或采集到了“Samples per Channel”参数指定的点数,或按下“abort”按钮为止。

      每次采样之间的时间间隔由“等待(ms)”函数的输入值决定但是,这种采样模式下,不同采样点之间的时间间隔无法精确控制和指定;故一般用于采集、测量缓变信号c) 如何实现对多个数据点的采集?,去掉“Samples per Channel”的限制,就可变为连续采集,,多数据点采集,包含采集若干个(一段有限长)数据点和连续不断采集数据点两种情况 若要求严格等间隔采样,就不能采用“重复单点采集”的方法——无法确保采样点之间具有精确相等的时间间隔 LabVIEW中采用设置缓冲区技术来实现等间隔采样缓冲区是在计算机内存中开辟的一段连续区域使用缓冲区采集数据时,应先将一段采样数据从数据采集卡送到缓冲区中(这一过程可以确保等间隔采样),然后再“读取”到程序(VI)中当任务的采样模式设置为“N 采样”(采集一段数据)或“连续采样”时,就是在使用缓冲区进行数据采集 “N 采样”时,使用简单缓冲;“连续采样”时,则使用的是循环缓冲(Circular-Buffered)d) 如何实现严格的等间隔多数据点采集?,简单缓冲:用于等间隔一次读取有限个采样点,即在经MAX途径建立新DAQmx(数据采集)任务时,从其“定时设置”选项页的“采集模式”选择栏选定“N 采样”;或是在框图面板选用“DAQmx 定时(采样时钟)”函数时,在其“采样模式”参数选择表里选中“有限采样”。

      在简单缓冲模式下,DAQmx任务会首先据每个通道所要读取样本数多少及任务需要的采集通道数建立合适的缓冲区(= 每通道样本数×通道数)在进行数据采集时,DAQmx任务从数据采集卡读取数据,并将它们填充到缓冲区中,直到其被完全填满即读取到了全部数据为止,才将该缓冲区中的数据经“DAQmx 读取”函数输出(返回)到框图面板的VI中回答:不能,因为在每次循环获得的采样数据段之间,需等待多少时间是无法严格确定的问题:若希望实现连续不断的等间隔采样,能否采用不断循环重复等间隔一次读取若干个采集数据的方法实现?,而循环缓冲,则可用于等间隔连续数据采集其原理说明如下: 循环缓冲模式下,被采到的数据不断送入缓冲区,最新送入数据的位置随之不断后移;与此同时,“DAQmx 读取”函数每次读取一定大小的数据块返回到程序框图当缓冲区写满后,DAQmx改从该缓冲区的头部重新开始写入数据;“DAQmx 读取”函数一直连续读取数据块,读到缓冲区的末端后,同样也再改从缓冲区的头部继续读取数据故,只要写缓冲与读缓冲配合得当,就可实现连续数据采集 可能出现的问题有:(1) 从缓冲区读取数据比向其中写入数据快;(2)从缓冲区读取数据过慢,再写入新数据时覆盖掉了还未读取走的数据。

      第一个问题容易解决,“DAQmx 读取”函数会自动等待,直到读到所要求多的新数据后才返回第二个问题则需要特别注意,因为如果覆盖掉还未读取的数据,将会引起数据丢失,使数据采集不再连续出现这种情况,DAQmx会返回错误信息 解决数据丢失的办法:调整缓冲区大小、调整采样率和调整每次读取数据的数目 ①一般情况下,DAQmx可自动设置循环缓冲区大小; ②降低采样率,以降低向缓冲区写入数据的速度; ③增加每次从缓冲区读取数据量,从而提高从缓冲区读取数据的速度e) 采集多通道数据(一次采集多个(若干个)等间隔 数据点——简单缓冲),,该程序(VI)建立的步骤:将正弦信号和方波信号按差分模式分别接在0号与8号通道以及1号与9号通道之间;调用“DAQmx 创建虚拟通道”函数,建立虚拟通道和任务:物理通道输入参数 physical channels写入物理通道列表“Dev1/ai0,Dev1/ai1”,并且name to assign字符串控制器写入 “Ch0,Ch1”,即所建立的临时任务将包含两个虚拟通道Ch0和Ch1,且分别对应于设备1(Dev1)的物理通道ai0和ai1。

      最大值”和“最小值”设置输入电压范围的最小值(-5V)和最大值(5V),在“输入接线端配置”枚举参数中,指定采用差分模式;调用“DAQmx定时”函数并选择其“采样时钟”功能,设定任务的具体时间参数如下:采样率1000Hz,每通道采样100个点,采样模式选择采集“有限个点”;调用“DAQmx 读取”函数,选择其“模拟2D DBL N通道N采样”功能其输入参数每通道采样数设置为100,即每通道采集100个点;采集到的数据输出(返回)“给波形图”显示控件注意:“DAQmx定时”函数的“每通道采样”参数决定了从采集卡输出并写入到缓冲区的数据点数;“DAQmx读取”函数的“每通道采样数”参数,决定了从缓冲区读到程序(VI)中的数据点数可以认为,采集数据时以两者中的较小值为准如果接入-1或不接入任何数据,则读取缓冲区中的全部数据点选择正弦波,打开开关,,,打开开关,(f) 对(e)例,借助“DAQ助手”建立程序,该示例程序(VI)的建立步骤:经“函数选板->测量I/O ->DAQmx-数据采集”向框图面板添加并启动“DAQ助手”,在打开的“新建Express任务” 对话框里,选择“采集信号”->“模拟输入”->“电压” ,选择模入物理通道ai0和ai1,输入范围采用默认的-5至5V,在“采集模式”中选择“N采样”,“待读取采样”采用默认值100,“采样率(Hz)”采用默认值1000。

      关闭“DAQ助手”对话框后可看到,该Express VI图标下方多出了“数据”输出端子,将该输出端子连到“波形图”显示控件,即可完成对所采集的一段数据的波形输出g) 采集多通道数据(等间隔连续采集数据——循 环缓冲),,该程序(VI)的建立步骤:将正弦信号和方波信号分别接在实验箱0号与8号通道以及1号与9号通道之间;使用MAX建立新的DAQmx任务:指定模拟输入、测量电压,选择0号和1号物理通道(ai0和ai1),任务名为“我的电压任务”,输入范围使用默认的-5~5V,端子配置使用默认的差分方式,采集模式使用默认的“N 采样”,“待读取采样”采用默认值100,“采样率 (Hz)”采用默认值1000;3) 来到框图面板,调用“DAQmx 定时”函数并选择其“采样时钟”功能,将采样模式选定为“连续采样”,“采样率”设置为1000Hz。

      点击阅读更多内容
      关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
      手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
      ©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.