欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    数据采集2学习.pptx

    • 资源ID:77728657       资源大小:4.03MB        全文页数:41页
    • 资源格式: PPTX        下载积分:20金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要20金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    数据采集2学习.pptx

    4.在LabVIEW环境下,为运行经测量及自动化浏览器即MAX新建立的数据采集任务,需要借助“DAQmx 任务名”控件或“DAQmx 任务名”常量。5.“NI-DAQmx”实际意味着一系列数据采集软件。它包括数据采集卡驱动程序,以及LabVIEW环境下可建立数据采集任务、实现测量数据采集功能(经数据采集卡读取数据或由其生成数据)的相应功能函数及Express VI。6.确立一个数据采集任务,还可用DAQ助手(Express VI)来完成整合了MAX的功能,直接在框图面板实现数据采集任务建立。但用DAQ助手建立的任务无名称,属临时任务,不会保存在MAX中被其他程序使用。7.在框图面板,直接使用“DAQmx 创建虚拟通道”亦即“DAQmx 创建通道(AI-电压-基本)”函数,通过编程的方法,也可以建立数据采集的临时任务。第1页/共41页本次课的内容本次课的内容一、一、NI-NI-DAQmxDAQmx(数据采集)的属性节点(数据采集)的属性节点二、二、NI-DAQmxNI-DAQmx(数据采集)的任务状态(逻辑)(数据采集)的任务状态(逻辑)三、数据采集程序三、数据采集程序(VI)(VI)的编制(示例)的编制(示例)1.1.模拟输入(单个、一段、连续)模拟输入(单个、一段、连续)2.2.模拟输出(单个、一段、连续)模拟输出(单个、一段、连续)(其中每个均包括利用NI-DAQmx VINI-DAQmx VI和借助DAQDAQ助手两种编程途径)第2页/共41页一、一、DAQmxDAQmx(数据采集)的属性节点(数据采集)的属性节点 DAQmx属性节点的功能:用于指定数据采集操作属性节点的功能:用于指定数据采集操作的各种属性。这些属性中,某些可利用的各种属性。这些属性中,某些可利用DAQmx VI(数据采集相关的功能函数8种)进行设置;而进行设置;而另一些无法则由另一些无法则由DAQmx VI设置。设置。时间属性时间属性通道属性通道属性触发属性触发属性读取属性读取属性写入属性写入属性路径:“函数”选板“测量I/O”DAQmx-数据采集 第3页/共41页二、二、DAQmxDAQmx(数据采集)的任务状态(逻辑)(数据采集)的任务状态(逻辑)配置任务配置任务-开始任务开始任务-采集数据操作采集数据操作-结束任务结束任务-清除任务清除任务 显式和隐式任务状态的转换:通过调用函数的方法明确实施任务状态的转换,称为显式状态转换;而某些DAQmx VIDAQmx VI在执行时,若未处于其所需的状态,将会引起状态的自动转换,这种自动转换被称为隐式状态转换。(1)显式转换举例显式转换举例:在在“读取读取”采采样数据前,明确地执行样数据前,明确地执行“开始任务开始任务”;且在;且在“清除任务清除任务”前,明确地前,明确地执行执行“结束任务结束任务”。(2)隐式转换举例:隐式转换举例:在在“读取读取”函数执函数执行前,自动执行行前,自动执行“开始任务开始任务”;在;在“清除清除任务任务”执行前,自动执行执行前,自动执行“结束任务结束任务”。第4页/共41页三、数据采集程序(三、数据采集程序(VIVI)示例)示例1.模拟输入模拟输入(a)(a)采集采集5V5V的直流电压(电平),并由表盘式显示器显示的直流电压(电平),并由表盘式显示器显示 找到表盘式显示器路径:“控件”选板 -“-“新式”“数值”“仪表”第5页/共41页该程序(该程序(VI)建立的步骤:)建立的步骤:a)a)将需测的直流电压经差分模式接至将需测的直流电压经差分模式接至实验箱实验箱的的模拟输入模拟输入0 0号号与与8 8号通道号通道之间;之间;b)b)用用MAXMAX建立此采集测量任务:建立此采集测量任务:我的系统我的系统 数据邻居数据邻居NI-DAQmxNI-DAQmx任务任务,右击,右击弹出弹出“创建新创建新NI-DAQmxNI-DAQmx任务任务”-采集信号采集信号-模拟输入模拟输入-电压电压-选择选择0 0号物号物理通道(理通道(ai0ai0)-采用默认的任务名采用默认的任务名“我的电压任务我的电压任务”,点击,点击“完成完成”。将虚拟通道将虚拟通道“电压电压”的的“信号输入范围信号输入范围”设置为设置为010V010V,任务的,任务的“定时设定时设置置”参数区域的参数区域的“采集模式采集模式”选择选择“1 1 采样采样 (按要求按要求)”;随后,按;随后,按参数配置参数配置栏栏左上角左上角“保存保存”按钮,对参数设置的调整做确认。按钮,对参数设置的调整做确认。c)c)构建数据采集构建数据采集VIVI:往框图面板调用多态函数往框图面板调用多态函数“DAQmx DAQmx 读取读取”,选择,选择“模拟模拟 DBL 1DBL 1通道通道 1 1采样采样”功能;在该函数的功能;在该函数的“任务任务/通道输入通道输入”输入端子弹出快捷输入端子弹出快捷菜单选菜单选“创建创建”-“输入控件输入控件”,建立同名的,建立同名的DAQmx DAQmx 任务名控件,并选中任务名控件,并选中“我的电压任务我的电压任务”。在前面板添加标签为。在前面板添加标签为“仪表仪表”的表盘式显示器。回到的表盘式显示器。回到框图面板,完成左上图所示的连线。框图面板,完成左上图所示的连线。第6页/共41页调节为调节为5V打开开关打开开关第7页/共41页(b)对对(a)例,改用例,改用DAQ助手建立程序(助手建立程序(VI)建立该程序建立该程序(VI)(VI)的步骤:的步骤:a)经经“函数选板函数选板-测量测量I/O-DAQmx-DAQmx-数据采集”途径向框图面板添加并启动“DAQ 助手助手”Express VI,在其打开的“新建Express任务”对话框里,选择选择“采集信号采集信号”-“模拟输入模拟输入”-“电压电压”;再选择模入物理通道;再选择模入物理通道ai0,并将并将“信号输入范围信号输入范围”设设置为置为010V,在,在“采集模式采集模式”中选择中选择“1 采样采样(按要求按要求表示表示立即采集数据立即采集数据)”。b)关闭关闭DAQ 助手新建任务对话框后可看到,在该助手新建任务对话框后可看到,在该Express VI图标图标下方多出了下方多出了“数据数据”输出端子,将该输出端子连至输出端子,将该输出端子连至“仪表仪表”控控件,即可完成对采集到的单点数据的输出。件,即可完成对采集到的单点数据的输出。第8页/共41页 举例:软件定时(Software Timed)的多点采集:帮助帮助-查找范例查找范例-硬件输入与输出硬件输入与输出-DAQmx-模拟测量模拟测量-低速变压信号低速变压信号-Acq&Chart Mult Samples-SW Timed.vi 利用循环结构,不断进行单点数据采集,直到“DAQmx DAQmx 读取”函数出错(错误簇的“status”status”参数为TrueTrue),或采集到了“Samples per Samples per Channel”Channel”参数指定的点数,或按下“abort”abort”按钮为止。每次采样之间的时间间隔由“等待(msms)”函数的输入值决定。但是,这种采样模式下,不同采样点之间的时间间隔无法精确控制和指定;故一般用于采集、测量缓变信号。(c)如何实现对多个数据点的采集如何实现对多个数据点的采集?去掉去掉“Samples per Channel”的限的限制,就可变为连续采集制,就可变为连续采集第9页/共41页 多数据点采集,包含多数据点采集,包含采集若干个(一段有限长)数据点采集若干个(一段有限长)数据点和和连连续不断采集数据点续不断采集数据点两种情况。两种情况。若要求严格等间隔采样,就不能采用若要求严格等间隔采样,就不能采用“重复单点采集重复单点采集”的方的方法法无法确保采样点之间具有精确相等的时间间隔。无法确保采样点之间具有精确相等的时间间隔。LabVIEW中采用中采用设置设置缓冲区缓冲区技术技术来实现等间隔采样来实现等间隔采样。缓冲缓冲区区是在计算机内存中开辟的一段连续区域。使用是在计算机内存中开辟的一段连续区域。使用缓冲区缓冲区采集数采集数据时,应先将一段采样数据从数据采集卡送到据时,应先将一段采样数据从数据采集卡送到缓冲区缓冲区中(这一中(这一过程可以确保等间隔采样),然后再过程可以确保等间隔采样),然后再“读取读取”到程序(到程序(VI)中。)中。当任务的当任务的采样模式采样模式设置为设置为“N 采样采样”(采集一段数据)或(采集一段数据)或“连续连续采样采样”时,就是在使用时,就是在使用缓冲区缓冲区进行数据采集。进行数据采集。“N 采样采样”时,使用时,使用简单缓冲简单缓冲;“连续采样连续采样”时,则使用的时,则使用的是是循环缓冲循环缓冲(Circular-Buffered)。)。(d)如何实现如何实现严格严格的的等间隔等间隔多数据点采集多数据点采集?第10页/共41页 简单缓冲简单缓冲:用于等间隔一次读取有限个采样点,即在经:用于等间隔一次读取有限个采样点,即在经MAX途径建立新途径建立新DAQmx(数据采集)任务时,从其(数据采集)任务时,从其“定时设定时设置置”选项页的选项页的“采集模式采集模式”选择栏选定选择栏选定“N 采样采样”;或是在框;或是在框图面板选用图面板选用“DAQmx 定时(采样时钟)定时(采样时钟)”函数时,在其函数时,在其“采样采样模式模式”参数选择表里选中参数选择表里选中“有限采样有限采样”。在在简单缓冲简单缓冲模式下,模式下,DAQmx任务会首先据每个通道所要任务会首先据每个通道所要读取样本数多少及任务需要的采集通道数建立合适的读取样本数多少及任务需要的采集通道数建立合适的缓冲区缓冲区(=每通道样本数每通道样本数通道数通道数)。在进行数据采集时,)。在进行数据采集时,DAQmx任任务从数据采集卡读取数据,并将它们填充到务从数据采集卡读取数据,并将它们填充到缓冲区缓冲区中,直到其中,直到其被完全填满即读取到了全部数据为止,才将该被完全填满即读取到了全部数据为止,才将该缓冲区缓冲区中的数据中的数据经经“DAQmx 读取读取”函数输出(返回)到框图面板的函数输出(返回)到框图面板的VI中。中。回答:回答:不能,不能,因为在每次循环获得的采样数据段之间,需因为在每次循环获得的采样数据段之间,需等待多少时间是无法严格确定的。等待多少时间是无法严格确定的。问题:若希望实现连续不断的等间隔采样,能否采用不断循环重复等间隔一次读取若干个采集数据的方法实现?第11页/共41页 而而循环缓冲循环缓冲,则可用于等间隔,则可用于等间隔连续连续数据采集。数据采集。其原理说明如下:其原理说明如下:循环缓冲循环缓冲模式下,被采到的数据不断送入模式下,被采到的数据不断送入缓冲区缓冲区,最新送入数据的位置,最新送入数据的位置随之不断后移;与此同时,随之不断后移;与此同时,“DAQmx DAQmx 读取读取”函数每次读取一定大小的数据函数每次读取一定大小的数据块返回到程序框图。当块返回到程序框图。当缓冲区缓冲区写满后,写满后,DAQmxDAQmx改从该缓冲区的头部重新开改从该缓冲区的头部重新开始写入数据始写入数据;“DAQmx DAQmx 读取读取”函数一直连续读取数据块,读到函数一直连续读取数据块,读到缓冲区缓冲区的末的末端后,同样也再改从端后,同样也再改从缓冲区缓冲区的头部继续读取数据。的头部继续读取数据。第12页/共41页 故故,只要,只要写缓冲写缓冲与与读缓冲读缓冲配合得当,就可实现连续数据采集。配合得当,就可实现连续数据采集。可能出现的问题有:可能出现的问题有:(1)(1)从从缓冲区缓冲区读取数据比向其中写入数据快;读取数据比向其中写入数据快;(2)(2)从从缓冲区缓冲区读取数据过慢,再写入新数据时覆盖掉了还未读取走的读取数据过慢,再写入新数据时覆盖掉了还未读取走的数据。数据。第一个问题容易解决,第一个问题容易解决,“DAQmx DAQmx 读取读取”函数会自动等待,直到函数会自动等待,直到读到所要求多的新数据后才返回。读到所要求多的新数据后才返回。第二个问题则需要特别注意第二个问题则需要特别注意,因,因为如果覆盖掉还未读取的数据,将会引起数据丢失,使数据采集不为如果覆盖掉还未读取的数据,将会引起数据丢失,使数据采集不再连续。出现这种情况,再连续。出现这种情况,DAQmxDAQmx会返回错误信息。会返回错误信息。解决数据丢失的办法:解决数据丢失的办法:调整调整缓冲区缓冲区大小、调整采样率和调整每次大小、调整采样率和调整每次读取数据的数目。读取数据的数目。一般情况下,一般情况下,DAQmxDAQmx可可自动设置自动设置循环缓冲区循环缓冲区大小;大小;降低采样率降低采样率,以降低向,以降低向缓冲区缓冲区写入数据的速度;写入数据的速度;增加每增加每次从次从缓冲区缓冲区读取数据量读取数据量,从而提高从,从而提高从缓冲区缓冲区读取数据的速度。读取数据的速度。第13页/共41页(e)采集多通道数据采集多通道数据(一次采集多个(若干个)等间隔(一次采集多个(若干个)等间隔 数据点数据点简单缓冲)简单缓冲)第14页/共41页该程序(该程序(VI)建立的步骤:)建立的步骤:a)将正弦信号和方波信号按差分模式分别接在将正弦信号和方波信号按差分模式分别接在0号与号与8号通道号通道以及以及1号与号与9号通道号通道之间;之间;b)调用调用“DAQmx 创建虚拟通道创建虚拟通道”函数,建立虚拟通道和任务:物理通道输入参数函数,建立虚拟通道和任务:物理通道输入参数 physical channels写入物理通道列表写入物理通道列表“Dev1/ai0,Dev1/ai1”,并且,并且name to assign字符串控制器写字符串控制器写入入 “Ch0,Ch1”,即所建立的,即所建立的临时任务临时任务将包含两个虚拟通道将包含两个虚拟通道Ch0和和Ch1,且分别对应于设,且分别对应于设备备1(Dev1)的物理通道)的物理通道ai0和和ai1。“最大值最大值”和和“最小值最小值”设置输入电压范围的最小值(设置输入电压范围的最小值(-5V)和最大值()和最大值(5V),在),在“输入接线端配置输入接线端配置”枚举参数中,指定采用差分模式;枚举参数中,指定采用差分模式;c)调用调用“DAQmx定时定时”函数并选择其函数并选择其“采样时钟采样时钟”功能,设定任务的具体时间参数如下:采样率功能,设定任务的具体时间参数如下:采样率1000Hz,每通道采样,每通道采样100个点,采样模式选择采集个点,采样模式选择采集“有限个点有限个点”;d)调用调用“DAQmx 读取读取”函数,选择其函数,选择其“模拟模拟2D DBL N通道通道N采样采样”功能。其输入参数每通道采功能。其输入参数每通道采样数设置为样数设置为100,即每通道采集,即每通道采集100个点;采集到的数据输出(返回)个点;采集到的数据输出(返回)“给波形图给波形图”显示控件。显示控件。注意:注意:“DAQmx定时定时”函数的函数的“每通道采样每通道采样”参数决定了从参数决定了从采集卡输出并写入到采集卡输出并写入到缓冲区缓冲区的数据点数的数据点数;“DAQmx读取读取”函数的函数的“每通道采样数每通道采样数”参数,决定了参数,决定了从从缓冲区缓冲区读到程序(读到程序(VI)中的数据点数)中的数据点数。可以认为,采集数据时可以认为,采集数据时以两者中的较小值为准以两者中的较小值为准。如果接入如果接入-1或不或不接入任何数据,接入任何数据,则读取缓冲区中则读取缓冲区中的全部数据点。的全部数据点。第15页/共41页选择正弦波选择正弦波打开开关打开开关打开开关打开开关第16页/共41页(f)对对(e)例,借助例,借助“DAQ助手助手”建立程序建立程序该示例程序(该示例程序(VI)的建立步骤:)的建立步骤:a)a)经经“函数选板函数选板-测量测量I/O-DAQmx-I/O-DAQmx-数据采集数据采集”向框图面板添加向框图面板添加并启动并启动“DAQDAQ助手助手”,在打开的,在打开的“新建Express任务”对话框里,选择“采集信号”-“-“模拟输入”-“-“电压”,选择模入物理通道ai0ai0和ai1ai1,输入范围采用默认的-5-5至5V5V,在“采集模式”中选择“N N采样”,“待读取采样”采用默认值100100,“采样率(Hz)”(Hz)”采用默认值10001000。b)b)关闭关闭“DAQDAQ助手助手”对话框后可看到,该对话框后可看到,该Express VIExpress VI图标下方多出图标下方多出了了“数据数据”输出端子,将该输出端子连到输出端子,将该输出端子连到“波形图波形图”显示控件,显示控件,即可完成对所采集的一段数据的波形输出。即可完成对所采集的一段数据的波形输出。第17页/共41页(g)采集多通道数据采集多通道数据(等间隔(等间隔连续连续采集数据采集数据循循 环缓冲)环缓冲)第18页/共41页该程序(该程序(VI)的建立步骤:)的建立步骤:1)将正弦信号和方波信号分别接在将正弦信号和方波信号分别接在实验箱实验箱0号与号与8号通道以及号通道以及1号与号与9号通道之间;号通道之间;2)使用使用MAX建立新的建立新的DAQmx任务:指定模拟输入、测量电压,选择任务:指定模拟输入、测量电压,选择0号和号和1号物理号物理通道(通道(ai0和和ai1),任务名为),任务名为“我的电压任务我的电压任务”,输入范围使用默认的,输入范围使用默认的-55V,端,端子配置使用默认的差分方式,采集模式使用默认的子配置使用默认的差分方式,采集模式使用默认的“N 采样采样”,“待读取采样待读取采样”采用默认值采用默认值100,“采样率采样率(Hz)”采用默认值采用默认值1000;3)来到框图面板,来到框图面板,调用调用“DAQmx 定时定时”函数并选择其函数并选择其“采样时钟采样时钟”功能,将采样模功能,将采样模式选定为式选定为“连续采样连续采样”,“采样率采样率”设置为设置为1000Hz。注意注意:在实施连续采集时,由在实施连续采集时,由MAX建立的建立的 DAQmx任务的任务的Samples To Read参数参数(“DAQmx 定时定时”函数的函数的samples per channel),参与确定循环缓冲区大小。),参与确定循环缓冲区大小。第19页/共41页4)调用调用“DAQmx DAQmx 开始任务开始任务”函数,即显式地开始任务;函数,即显式地开始任务;5)5)在在WhileWhile循环中调用循环中调用“DAQmx DAQmx 读取读取”函数,选择函数,选择“模拟模拟 2D DBL N2D DBL N通道通道 NN采样采样”功能。该函数的功能。该函数的“每通道采样数每通道采样数”输入参数定义每个通道从输入参数定义每个通道从缓冲缓冲区区读取的采样数据点数,本例中为读取的采样数据点数,本例中为10001000。采集到的数据分别送入。采集到的数据分别送入“波形波形图图”和和“波形图表波形图表”显示控件,显示控件,“波形图表波形图表”的的“图表历史长度图表历史长度”参数参数设置为设置为30003000,这样,在,这样,在“波形图表波形图表”上将显示连续上将显示连续3 3次读取操作得到的次读取操作得到的数据;数据;“DAQmx DAQmx 读取读取”函数的错误簇输出参数的函数的错误簇输出参数的“statusstatus”元素与元素与“停停止止”按钮取按钮取“逻辑或逻辑或”后,送给循环结束端子,作为循环结束条件;后,送给循环结束端子,作为循环结束条件;6)6)在循环之外,采用在循环之外,采用“DAQmx DAQmx 结束任务结束任务”函数结束任务;然后以函数结束任务;然后以“DAQmx DAQmx 清除任务清除任务”函数清除任务。函数清除任务。第20页/共41页选择正弦波选择正弦波打开开关打开开关打开开关打开开关第21页/共41页应该搞清楚的问题应该搞清楚的问题:(1)在连续采集示例中同时使用“波 形图”和“波形图表”显示控件的原因。使用使用“波形图波形图”只能显示每次从循环缓冲区读取出的数据,只能显示每次从循环缓冲区读取出的数据,而对各次读取出的数据波形之间是否连续却难以确认。而而对各次读取出的数据波形之间是否连续却难以确认。而“波波形图表形图表”可保存前面若干次采集的数据,故利用它,通过观察可保存前面若干次采集的数据,故利用它,通过观察多次采集数据间的过渡波形,便可确认是否的确实现了连续采多次采集数据间的过渡波形,便可确认是否的确实现了连续采集。集。注意:注意:进行连续数据采集时,最好用上述方法仔细观察采集进行连续数据采集时,最好用上述方法仔细观察采集到的数据是否真的连续,因为存在到的数据是否真的连续,因为存在DAQmx(数据采集)对实际(数据采集)对实际上不完全连续的情况未报出错的现象。上不完全连续的情况未报出错的现象。第22页/共41页应该搞清楚的问题应该搞清楚的问题:(2)在循环外使用“DAQmx开始任 务”函数和“DAQmx 结束任务”函数的道理。这是这是显式任务状态转换显式任务状态转换的典型案例。若不使用的典型案例。若不使用“DAQmx DAQmx 开开始任务始任务”函数,则在调用函数,则在调用“DAQmxDAQmx读取读取”函数时就要使用默认函数时就要使用默认的的隐式状态转换隐式状态转换,具体地,具体地,“DAQmxDAQmx读取读取”函数首先开始任务,函数首先开始任务,然后才采集数据,最后还要结束任务。如此,每次循环都将进然后才采集数据,最后还要结束任务。如此,每次循环都将进行开始任务、采集数据、结束任务的操作。这一来没有必要,行开始任务、采集数据、结束任务的操作。这一来没有必要,二来会二来会降低程序执行效率和性能降低程序执行效率和性能。把函数。把函数“DAQmxDAQmx开始任务开始任务”和和 “DAQmx DAQmx 结束任务结束任务”置于循环之外,使置于循环之外,使“开始任务开始任务”和和“结束任务结束任务”的操作只进行一次,无疑可改善程序的运行性能。的操作只进行一次,无疑可改善程序的运行性能。第23页/共41页(h)对对(g)例,借助例,借助 “DAQ助手助手”建立程建立程序序该程序(该程序(VIVI)的建立步骤:)的建立步骤:a)经经“函数选板函数选板测量测量I/O DAQmx-数据采集数据采集”途径向框图面板添加途径向框图面板添加“DAQ 助助手手”,在打开的在打开的“新建新建ExpressExpress任务任务”对话框里,对话框里,选择选择“采集信号采集信号”“模拟输入模拟输入”“电压电压”,选择模入物理通道,选择模入物理通道ai0和和ai1,输入范围设置为,输入范围设置为-55V,在,在“采集模式采集模式”中选择中选择“连续采样连续采样”。“待读取采样待读取采样”设置为设置为1000,“采样率采样率(Hz)”设置为设置为10000Hz。b)关闭关闭“DAQ助手助手”对话框后,将对话框后,将“DAQ助手”图标下方出现的出现的“数据数据”输出端接至输出端接至“波形图波形图”之同时,经之同时,经“从动态数据转换从动态数据转换”函数(选择函数(选择“二维标量数组二维标量数组行是通道行是通道”)转化为二维数组,送至)转化为二维数组,送至“波形图表波形图表”(历史纪录长度设置为(历史纪录长度设置为3000,取消,取消“转置数转置数组组”选项,修改选项,修改X坐标范围为坐标范围为02999)显示控件;再把它们都放入)显示控件;再把它们都放入While循环中。循循环中。循环是否结束,由环是否结束,由“停止停止”按钮控制。按钮控制。Samples To Read参数在代码内部接入了参数在代码内部接入了DAQmx Read函数函数number of samples per channel参数,用以决定每个通道每次从循环参数,用以决定每个通道每次从循环缓冲区读取的数据点数。缓冲区读取的数据点数。第24页/共41页DAQ助手输入参数助手输入参数“停止停止”的作用:的作用:在各次循环之间,在各次循环之间,“DAQDAQ助手助手”的调用状态处于被监控之中。的调用状态处于被监控之中。若若“停止停止”参数采用默认值参数采用默认值“FalseFalse”,第一次调用,第一次调用“DAQDAQ助手助手”时,进行任务的各种配置和读取操作,而此后的每次调用均时,进行任务的各种配置和读取操作,而此后的每次调用均不再进行任务配置,只进行数据读取操作;但如果不再进行任务配置,只进行数据读取操作;但如果“停止停止”参参数选为数选为“TrueTrue”,那每次调用,那每次调用“DAQDAQ助手助手”都将进行重新配置都将进行重新配置降低程序执行性能,甚至无法保证实现连续采集操作。降低程序执行性能,甚至无法保证实现连续采集操作。DAQ助手的助手的“停停止止”输入参数,输入参数,默认值为默认值为False第25页/共41页2.模拟输出(模拟输出(Analog Output)(1)输出直流电压(单点输出)输出直流电压(单点输出)该程序(该程序(VI)的建立步骤:)的建立步骤:a)调用调用“DAQmx DAQmx 创建通道创建通道”函数,选择函数,选择“AO AO 电压电压”,物理通,物理通道输道输 “Dev1/ao0Dev1/ao0”,其他参数使用默认值;,其他参数使用默认值;b)b)调用调用“DAQmx DAQmx 写入写入”函数,选择函数,选择“模拟模拟 DBL 1DBL 1通道通道 1 1采样采样”功能功能 ,输出数值控制器,输出数值控制器 “datadata”中的值。中的值。注意:注意:使用示波器或万用表观测模出通道使用示波器或万用表观测模出通道ao0ao0(接在实验箱上的(接在实验箱上的“DAC 0 OUTDAC 0 OUT”和和“AOGNDAOGND”引脚之间)可发现,刚刚输出引脚之间)可发现,刚刚输出的的电压值在输出引脚上保持不变电压值在输出引脚上保持不变,即使输出单点数据的程序已,即使输出单点数据的程序已经运行完毕。重新运行程序并输出新值,才可以改变引脚电压经运行完毕。重新运行程序并输出新值,才可以改变引脚电压值。值。第26页/共41页接至万用表或示波器,或接至万用表或示波器,或送至模入通道直接测量送至模入通道直接测量第27页/共41页该程序(该程序(VIVI)的建立步骤:)的建立步骤:a)a)经经“函数选板函数选板测量测量I/O I/O DAQmx-DAQmx-数据采集数据采集 ”途径向框途径向框图面板添加并启动图面板添加并启动“DAQ DAQ 助手助手”,在其,在其“新建新建ExpressExpress任务任务”对话框,选择对话框,选择“生成信号生成信号”“模拟输出模拟输出”“电压电压”,选择模出物理通道选择模出物理通道ao0ao0,在,在“生成模式生成模式”中选择中选择“1 1 采样采样 (按按要求要求表示立即发生数据表示立即发生数据)”。“信号输出范围信号输出范围”采用默采用默认值认值 -10-10至至10V10V。b)b)关闭关闭“DAQDAQ助手助手”对话框后可看到,该对话框后可看到,该Express VIExpress VI图标下方图标下方多出了多出了“数据数据”输入端子。直接向该端子输入一个数值,即输入端子。直接向该端子输入一个数值,即可完成单点数据的模拟输出。可完成单点数据的模拟输出。(2)对()对(1)例,借助)例,借助DAQ助手建立程序助手建立程序第28页/共41页(3)输出一段波形数据(等间隔,简单缓冲)输出一段波形数据(等间隔,简单缓冲)经经“函数选板函数选板 信号处理信号处理 波形生成波形生成途径选用途径选用 “基本函基本函数发生器数发生器”,用以,用以产生仿真波形数据。产生仿真波形数据。这个这个VIVI的功能,近似于的功能,近似于“仿真信号仿真信号”Express VIExpress VI。其中其中,该函数的枚举参数,该函数的枚举参数“信号类型信号类型”用于设置仿真用于设置仿真发生信号的类型,可以是正弦波、三角波、方波和锯发生信号的类型,可以是正弦波、三角波、方波和锯齿波;齿波;“幅值幅值”设定信号幅值;设定信号幅值;“相位相位”设定初相位;设定初相位;“方波占空比()方波占空比()”则专用于设定方波的占空比。则专用于设定方波的占空比。第29页/共41页 需要特别注意:需要特别注意:“频率频率”和和“采样信息采样信息”这两个输入参数。这两个输入参数。簇类型参数“采样信息”的元素FsFs定义“采样率”(默认值10001000),元素“采样数”定义采样点数(默认10001000);“频率”给出信号自身频率(默认1010)。以默认值做说明:“采样数”决定了仿真生成信号数据总点数为10001000;FsFs的值表示每秒生成10001000个数据;即“采样数”和FsFs的默认值配合生成1“1“秒”的数据。而“频率”值为1010,表示1“1“秒”中生成1010个周期的波形。这样,调用“基本函数发生器”函数产生的波形数据为:产生1010个周期的波形;每周期以100100个数据点描述,且波形数据的dtdt参数为0.0010.001。秒字带引号,是因为它只是仿真生成的数据;且dt=0.001dt=0.001,也仅表示希望以1 1毫秒作为时间间隔产生数据。而真正发生数据的时间间隔,要由DAQmxDAQmx函数决定。在后面给出的例子中,将看到如何对这种情况做出处理。第30页/共41页(等间隔,简单缓冲)示例:(等间隔,简单缓冲)示例:输出一段锯齿波形数据输出一段锯齿波形数据第31页/共41页该程序(该程序(VI)的建立步骤:)的建立步骤:a)使用使用MAX,建立模拟输出,建立模拟输出DAQmx新任务:选择新任务:选择“生成信号生成信号”-“模拟输出模拟输出”-“电压电压”,选,选择物理通道择物理通道ao0,接受默认任务名,接受默认任务名“我的电压输出任务我的电压输出任务”,其他任务参数均接受默认值(,其他任务参数均接受默认值(采集模采集模式默认为式默认为“N 采样采样”)。)。b)在框图面板,调用在框图面板,调用“基本函数发生器基本函数发生器”生成仿真波形数据:生成仿真波形数据:“信号类型信号类型”选择选择“锯齿波锯齿波”,“幅幅值值”输入输入5V,“频率频率”选选2Hz,“采样信息采样信息”采用默认值。采用默认值。生成的波形特点生成的波形特点:2个周期的锯齿波,个周期的锯齿波,每周期每周期500点,且波形数据的点,且波形数据的dt参数为参数为0.001。仿真波形数据送至仿真波形数据送至“波形图波形图”显示。显示。c)调用调用“DAQmx 定时定时”函数,修改任务函数,修改任务“我的电压输出任务我的电压输出任务”的默认数据发生速率(采样率的默认数据发生速率(采样率rate)参数决定了每秒钟产生的样本数。对参数决定了每秒钟产生的样本数。对“基本函数发生器基本函数发生器”的簇参数的簇参数“采样信息采样信息”采用采用“按名称解按名称解除捆绑除捆绑”函数提取出其采样率(函数提取出其采样率(Fs)参数,输入作为)参数,输入作为“DAQmx 定时定时”函数的函数的“采样率采样率”(rate)参数,即明确接受参数,即明确接受“基本函数发生器基本函数发生器”函数输出的波形数据的函数输出的波形数据的dt元素作为发生数据的真正的时间元素作为发生数据的真正的时间间隔。间隔。d)调用调用“DAQmx 写入写入”函数,向函数,向缓冲区缓冲区写入数据,此时,还没有真正地输出波形;调用写入数据,此时,还没有真正地输出波形;调用“DAQmx 开始开始任务任务”函数真正开始数据发生;调用函数真正开始数据发生;调用“DAQmx 结束前等待结束前等待”函数,等待数据全部被生成;调用函数,等待数据全部被生成;调用“DAQmx 清除任务清除任务”函数停止并清除任务。注意:函数停止并清除任务。注意:必须调用必须调用“DAQmx 结束前等待结束前等待”函数函数,否则将在,否则将在产生完数据前就结束了任务。产生完数据前就结束了任务。第32页/共41页 这里,使用这里,使用LabVIEW自带的示例程序来观察该波形发生自带的示例程序来观察该波形发生VI的输出效果。的输出效果。将将调理箱调理箱上上ao0端输出的仿真数据接至端输出的仿真数据接至ai0与与ai8模入端子之间模入端子之间差分输入差分输入。选择选择“帮助帮助”-“查找范例查找范例”打开打开示例程序浏览器示例程序浏览器,按,按“任务任务”进行浏览操进行浏览操作,打开作,打开“硬件输入与输出硬件输入与输出”-DAQmx-“模拟测量模拟测量”-“电压电压”-Acq&Graph Voltage-Int Clk-Analog Start.vi,修改,修改Sample Rate(Hz)参数为参数为1000,Trigger Source参数为参数为Dev1/ai0,Trigger Level(Volt)参数为参数为1V,如图所,如图所示。示。先运行该示例程序,然后尽快运行本课上建立的波形发生程序。先运行该示例程序,然后尽快运行本课上建立的波形发生程序。可以在示例程可以在示例程序中看到波形正确发生,且是使用上升沿触发的方式采集到的。序中看到波形正确发生,且是使用上升沿触发的方式采集到的。第33页/共41页第34页/共41页该程序(该程序(VI)的建立步骤:)的建立步骤:a)经经“函数选板函数选板-测量测量I/O-DAQmx-数据采集数据采集-”-”途径向框图途径向框图面板添加并启动面板添加并启动“DAQ 助手助手”,在在在其在其“新建新建ExpressExpress任务任务”对话框,对话框,选择选择“生成信号生成信号”-“-“模拟输出模拟输出”-“-“电压电压”,选,选择模出物理通道择模出物理通道ao0,从,从“生成模式生成模式”中选择中选择“N 采样采样”,取,取消其后面的消其后面的“使用波形定时使用波形定时”复选框的选中状态,并将复选框的选中状态,并将“待待写入采样写入采样”和和“采样率采样率(Hz)”都设为都设为1000;b)关闭关闭“DAQ助手助手”设置窗口,将仿真波形输入至设置窗口,将仿真波形输入至“DAQ 助手”的“数据数据”的输入端子,完成两个周期锯齿波的的输入端子,完成两个周期锯齿波的模拟输出模拟输出。(4)对对(3)例,借助例,借助“DAQ助手助手”建立该程序建立该程序第35页/共41页(5)产生周期性连续波形数据产生周期性连续波形数据 连续发生周期数据并不复杂:连续发生周期数据并不复杂:只需向所建立的只需向所建立的缓冲区缓冲区写入写入一个周期的数据,一个周期的数据,DAQmx将自动不断地重复该段数据,以生将自动不断地重复该段数据,以生成周期性的输出信号。成周期性的输出信号。第36页/共41页该程序(该程序(VI)的建立步骤:)的建立步骤:a)调用调用“基本函数发生器基本函数发生器”生成仿真数据:生成仿真数据:“信号类型信号类型”选正弦波,选正弦波,“频率频率”设为设为1.5,“采样信息采样信息”使用默认值。波形特点:使用默认值。波形特点:产生产生1.5周期正弦波,每周期采周期正弦波,每周期采2000/3个点,且波形数据的个点,且波形数据的dt参数设置参数设置为为0.001。1.5周期的波形由周期的波形由“波形图波形图”控件显示。控件显示。b)调用调用“DAQmx 创建虚拟通道创建虚拟通道”函数函数,生成虚拟通道和任务,选择,生成虚拟通道和任务,选择“AO 电压电压”这个实例,输入物理这个实例,输入物理通道通道“Dev1/ao0”。c)调用调用“DAQmx 定时定时”函数设置时间参数,这里采用与前例不同的采样率设置方法:选择函数设置时间参数,这里采用与前例不同的采样率设置方法:选择“DAQmx 定定时时”函数的函数的“使用波形使用波形”实例,该实例实例,该实例直接根据直接根据“波形波形”参数输入端的波形数据设置发生数据的参数输入端的波形数据设置发生数据的时间间隔时间间隔。“采样模式采样模式”参数设置为参数设置为“连续采样连续采样”。d)调用调用“DAQmx 写入写入”函数,将函数,将1.5个周期的正弦波数据写入个周

    注意事项

    本文(数据采集2学习.pptx)为本站会员(莉***)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开