数据采集2学习.pptx
《数据采集2学习.pptx》由会员分享,可在线阅读,更多相关《数据采集2学习.pptx(41页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、4.在LabVIEW环境下,为运行经测量及自动化浏览器即MAX新建立的数据采集任务,需要借助“DAQmx 任务名”控件或“DAQmx 任务名”常量。5.“NI-DAQmx”实际意味着一系列数据采集软件。它包括数据采集卡驱动程序,以及LabVIEW环境下可建立数据采集任务、实现测量数据采集功能(经数据采集卡读取数据或由其生成数据)的相应功能函数及Express VI。6.确立一个数据采集任务,还可用DAQ助手(Express VI)来完成整合了MAX的功能,直接在框图面板实现数据采集任务建立。但用DAQ助手建立的任务无名称,属临时任务,不会保存在MAX中被其他程序使用。7.在框图面板,直接使用“
2、DAQmx 创建虚拟通道”亦即“DAQmx 创建通道(AI-电压-基本)”函数,通过编程的方法,也可以建立数据采集的临时任务。第1页/共41页本次课的内容本次课的内容一、一、NI-NI-DAQmxDAQmx(数据采集)的属性节点(数据采集)的属性节点二、二、NI-DAQmxNI-DAQmx(数据采集)的任务状态(逻辑)(数据采集)的任务状态(逻辑)三、数据采集程序三、数据采集程序(VI)(VI)的编制(示例)的编制(示例)1.1.模拟输入(单个、一段、连续)模拟输入(单个、一段、连续)2.2.模拟输出(单个、一段、连续)模拟输出(单个、一段、连续)(其中每个均包括利用NI-DAQmx VINI
3、-DAQmx VI和借助DAQDAQ助手两种编程途径)第2页/共41页一、一、DAQmxDAQmx(数据采集)的属性节点(数据采集)的属性节点 DAQmx属性节点的功能:用于指定数据采集操作属性节点的功能:用于指定数据采集操作的各种属性。这些属性中,某些可利用的各种属性。这些属性中,某些可利用DAQmx VI(数据采集相关的功能函数8种)进行设置;而进行设置;而另一些无法则由另一些无法则由DAQmx VI设置。设置。时间属性时间属性通道属性通道属性触发属性触发属性读取属性读取属性写入属性写入属性路径:“函数”选板“测量I/O”DAQmx-数据采集 第3页/共41页二、二、DAQmxDAQmx(
4、数据采集)的任务状态(逻辑)(数据采集)的任务状态(逻辑)配置任务配置任务-开始任务开始任务-采集数据操作采集数据操作-结束任务结束任务-清除任务清除任务 显式和隐式任务状态的转换:通过调用函数的方法明确实施任务状态的转换,称为显式状态转换;而某些DAQmx VIDAQmx VI在执行时,若未处于其所需的状态,将会引起状态的自动转换,这种自动转换被称为隐式状态转换。(1)显式转换举例显式转换举例:在在“读取读取”采采样数据前,明确地执行样数据前,明确地执行“开始任务开始任务”;且在;且在“清除任务清除任务”前,明确地前,明确地执行执行“结束任务结束任务”。(2)隐式转换举例:隐式转换举例:在在
5、“读取读取”函数执函数执行前,自动执行行前,自动执行“开始任务开始任务”;在;在“清除清除任务任务”执行前,自动执行执行前,自动执行“结束任务结束任务”。第4页/共41页三、数据采集程序(三、数据采集程序(VIVI)示例)示例1.模拟输入模拟输入(a)(a)采集采集5V5V的直流电压(电平),并由表盘式显示器显示的直流电压(电平),并由表盘式显示器显示 找到表盘式显示器路径:“控件”选板 -“-“新式”“数值”“仪表”第5页/共41页该程序(该程序(VI)建立的步骤:)建立的步骤:a)a)将需测的直流电压经差分模式接至将需测的直流电压经差分模式接至实验箱实验箱的的模拟输入模拟输入0 0号号与与
6、8 8号通道号通道之间;之间;b)b)用用MAXMAX建立此采集测量任务:建立此采集测量任务:我的系统我的系统 数据邻居数据邻居NI-DAQmxNI-DAQmx任务任务,右击,右击弹出弹出“创建新创建新NI-DAQmxNI-DAQmx任务任务”-采集信号采集信号-模拟输入模拟输入-电压电压-选择选择0 0号物号物理通道(理通道(ai0ai0)-采用默认的任务名采用默认的任务名“我的电压任务我的电压任务”,点击,点击“完成完成”。将虚拟通道将虚拟通道“电压电压”的的“信号输入范围信号输入范围”设置为设置为010V010V,任务的,任务的“定时设定时设置置”参数区域的参数区域的“采集模式采集模式”
7、选择选择“1 1 采样采样 (按要求按要求)”;随后,按;随后,按参数配置参数配置栏栏左上角左上角“保存保存”按钮,对参数设置的调整做确认。按钮,对参数设置的调整做确认。c)c)构建数据采集构建数据采集VIVI:往框图面板调用多态函数往框图面板调用多态函数“DAQmx DAQmx 读取读取”,选择,选择“模拟模拟 DBL 1DBL 1通道通道 1 1采样采样”功能;在该函数的功能;在该函数的“任务任务/通道输入通道输入”输入端子弹出快捷输入端子弹出快捷菜单选菜单选“创建创建”-“输入控件输入控件”,建立同名的,建立同名的DAQmx DAQmx 任务名控件,并选中任务名控件,并选中“我的电压任务
8、我的电压任务”。在前面板添加标签为。在前面板添加标签为“仪表仪表”的表盘式显示器。回到的表盘式显示器。回到框图面板,完成左上图所示的连线。框图面板,完成左上图所示的连线。第6页/共41页调节为调节为5V打开开关打开开关第7页/共41页(b)对对(a)例,改用例,改用DAQ助手建立程序(助手建立程序(VI)建立该程序建立该程序(VI)(VI)的步骤:的步骤:a)经经“函数选板函数选板-测量测量I/O-DAQmx-DAQmx-数据采集”途径向框图面板添加并启动“DAQ 助手助手”Express VI,在其打开的“新建Express任务”对话框里,选择选择“采集信号采集信号”-“模拟输入模拟输入”-
9、“电压电压”;再选择模入物理通道;再选择模入物理通道ai0,并将并将“信号输入范围信号输入范围”设设置为置为010V,在,在“采集模式采集模式”中选择中选择“1 采样采样(按要求按要求表示表示立即采集数据立即采集数据)”。b)关闭关闭DAQ 助手新建任务对话框后可看到,在该助手新建任务对话框后可看到,在该Express VI图标图标下方多出了下方多出了“数据数据”输出端子,将该输出端子连至输出端子,将该输出端子连至“仪表仪表”控控件,即可完成对采集到的单点数据的输出。件,即可完成对采集到的单点数据的输出。第8页/共41页 举例:软件定时(Software Timed)的多点采集:帮助帮助-查找
10、范例查找范例-硬件输入与输出硬件输入与输出-DAQmx-模拟测量模拟测量-低速变压信号低速变压信号-Acq&Chart Mult Samples-SW Timed.vi 利用循环结构,不断进行单点数据采集,直到“DAQmx DAQmx 读取”函数出错(错误簇的“status”status”参数为TrueTrue),或采集到了“Samples per Samples per Channel”Channel”参数指定的点数,或按下“abort”abort”按钮为止。每次采样之间的时间间隔由“等待(msms)”函数的输入值决定。但是,这种采样模式下,不同采样点之间的时间间隔无法精确控制和指定;故一般
11、用于采集、测量缓变信号。(c)如何实现对多个数据点的采集如何实现对多个数据点的采集?去掉去掉“Samples per Channel”的限的限制,就可变为连续采集制,就可变为连续采集第9页/共41页 多数据点采集,包含多数据点采集,包含采集若干个(一段有限长)数据点采集若干个(一段有限长)数据点和和连连续不断采集数据点续不断采集数据点两种情况。两种情况。若要求严格等间隔采样,就不能采用若要求严格等间隔采样,就不能采用“重复单点采集重复单点采集”的方的方法法无法确保采样点之间具有精确相等的时间间隔。无法确保采样点之间具有精确相等的时间间隔。LabVIEW中采用中采用设置设置缓冲区缓冲区技术技术来
12、实现等间隔采样来实现等间隔采样。缓冲缓冲区区是在计算机内存中开辟的一段连续区域。使用是在计算机内存中开辟的一段连续区域。使用缓冲区缓冲区采集数采集数据时,应先将一段采样数据从数据采集卡送到据时,应先将一段采样数据从数据采集卡送到缓冲区缓冲区中(这一中(这一过程可以确保等间隔采样),然后再过程可以确保等间隔采样),然后再“读取读取”到程序(到程序(VI)中。)中。当任务的当任务的采样模式采样模式设置为设置为“N 采样采样”(采集一段数据)或(采集一段数据)或“连续连续采样采样”时,就是在使用时,就是在使用缓冲区缓冲区进行数据采集。进行数据采集。“N 采样采样”时,使用时,使用简单缓冲简单缓冲;“
13、连续采样连续采样”时,则使用的时,则使用的是是循环缓冲循环缓冲(Circular-Buffered)。)。(d)如何实现如何实现严格严格的的等间隔等间隔多数据点采集多数据点采集?第10页/共41页 简单缓冲简单缓冲:用于等间隔一次读取有限个采样点,即在经:用于等间隔一次读取有限个采样点,即在经MAX途径建立新途径建立新DAQmx(数据采集)任务时,从其(数据采集)任务时,从其“定时设定时设置置”选项页的选项页的“采集模式采集模式”选择栏选定选择栏选定“N 采样采样”;或是在框;或是在框图面板选用图面板选用“DAQmx 定时(采样时钟)定时(采样时钟)”函数时,在其函数时,在其“采样采样模式模式
14、”参数选择表里选中参数选择表里选中“有限采样有限采样”。在在简单缓冲简单缓冲模式下,模式下,DAQmx任务会首先据每个通道所要任务会首先据每个通道所要读取样本数多少及任务需要的采集通道数建立合适的读取样本数多少及任务需要的采集通道数建立合适的缓冲区缓冲区(=每通道样本数每通道样本数通道数通道数)。在进行数据采集时,)。在进行数据采集时,DAQmx任任务从数据采集卡读取数据,并将它们填充到务从数据采集卡读取数据,并将它们填充到缓冲区缓冲区中,直到其中,直到其被完全填满即读取到了全部数据为止,才将该被完全填满即读取到了全部数据为止,才将该缓冲区缓冲区中的数据中的数据经经“DAQmx 读取读取”函数
15、输出(返回)到框图面板的函数输出(返回)到框图面板的VI中。中。回答:回答:不能,不能,因为在每次循环获得的采样数据段之间,需因为在每次循环获得的采样数据段之间,需等待多少时间是无法严格确定的。等待多少时间是无法严格确定的。问题:若希望实现连续不断的等间隔采样,能否采用不断循环重复等间隔一次读取若干个采集数据的方法实现?第11页/共41页 而而循环缓冲循环缓冲,则可用于等间隔,则可用于等间隔连续连续数据采集。数据采集。其原理说明如下:其原理说明如下:循环缓冲循环缓冲模式下,被采到的数据不断送入模式下,被采到的数据不断送入缓冲区缓冲区,最新送入数据的位置,最新送入数据的位置随之不断后移;与此同时
16、,随之不断后移;与此同时,“DAQmx DAQmx 读取读取”函数每次读取一定大小的数据函数每次读取一定大小的数据块返回到程序框图。当块返回到程序框图。当缓冲区缓冲区写满后,写满后,DAQmxDAQmx改从该缓冲区的头部重新开改从该缓冲区的头部重新开始写入数据始写入数据;“DAQmx DAQmx 读取读取”函数一直连续读取数据块,读到函数一直连续读取数据块,读到缓冲区缓冲区的末的末端后,同样也再改从端后,同样也再改从缓冲区缓冲区的头部继续读取数据。的头部继续读取数据。第12页/共41页 故故,只要,只要写缓冲写缓冲与与读缓冲读缓冲配合得当,就可实现连续数据采集。配合得当,就可实现连续数据采集。
17、可能出现的问题有:可能出现的问题有:(1)(1)从从缓冲区缓冲区读取数据比向其中写入数据快;读取数据比向其中写入数据快;(2)(2)从从缓冲区缓冲区读取数据过慢,再写入新数据时覆盖掉了还未读取走的读取数据过慢,再写入新数据时覆盖掉了还未读取走的数据。数据。第一个问题容易解决,第一个问题容易解决,“DAQmx DAQmx 读取读取”函数会自动等待,直到函数会自动等待,直到读到所要求多的新数据后才返回。读到所要求多的新数据后才返回。第二个问题则需要特别注意第二个问题则需要特别注意,因,因为如果覆盖掉还未读取的数据,将会引起数据丢失,使数据采集不为如果覆盖掉还未读取的数据,将会引起数据丢失,使数据采
18、集不再连续。出现这种情况,再连续。出现这种情况,DAQmxDAQmx会返回错误信息。会返回错误信息。解决数据丢失的办法:解决数据丢失的办法:调整调整缓冲区缓冲区大小、调整采样率和调整每次大小、调整采样率和调整每次读取数据的数目。读取数据的数目。一般情况下,一般情况下,DAQmxDAQmx可可自动设置自动设置循环缓冲区循环缓冲区大小;大小;降低采样率降低采样率,以降低向,以降低向缓冲区缓冲区写入数据的速度;写入数据的速度;增加每增加每次从次从缓冲区缓冲区读取数据量读取数据量,从而提高从,从而提高从缓冲区缓冲区读取数据的速度。读取数据的速度。第13页/共41页(e)采集多通道数据采集多通道数据(一
19、次采集多个(若干个)等间隔(一次采集多个(若干个)等间隔 数据点数据点简单缓冲)简单缓冲)第14页/共41页该程序(该程序(VI)建立的步骤:)建立的步骤:a)将正弦信号和方波信号按差分模式分别接在将正弦信号和方波信号按差分模式分别接在0号与号与8号通道号通道以及以及1号与号与9号通道号通道之间;之间;b)调用调用“DAQmx 创建虚拟通道创建虚拟通道”函数,建立虚拟通道和任务:物理通道输入参数函数,建立虚拟通道和任务:物理通道输入参数 physical channels写入物理通道列表写入物理通道列表“Dev1/ai0,Dev1/ai1”,并且,并且name to assign字符串控制器写
20、字符串控制器写入入 “Ch0,Ch1”,即所建立的,即所建立的临时任务临时任务将包含两个虚拟通道将包含两个虚拟通道Ch0和和Ch1,且分别对应于设,且分别对应于设备备1(Dev1)的物理通道)的物理通道ai0和和ai1。“最大值最大值”和和“最小值最小值”设置输入电压范围的最小值(设置输入电压范围的最小值(-5V)和最大值()和最大值(5V),在),在“输入接线端配置输入接线端配置”枚举参数中,指定采用差分模式;枚举参数中,指定采用差分模式;c)调用调用“DAQmx定时定时”函数并选择其函数并选择其“采样时钟采样时钟”功能,设定任务的具体时间参数如下:采样率功能,设定任务的具体时间参数如下:采
21、样率1000Hz,每通道采样,每通道采样100个点,采样模式选择采集个点,采样模式选择采集“有限个点有限个点”;d)调用调用“DAQmx 读取读取”函数,选择其函数,选择其“模拟模拟2D DBL N通道通道N采样采样”功能。其输入参数每通道采功能。其输入参数每通道采样数设置为样数设置为100,即每通道采集,即每通道采集100个点;采集到的数据输出(返回)个点;采集到的数据输出(返回)“给波形图给波形图”显示控件。显示控件。注意:注意:“DAQmx定时定时”函数的函数的“每通道采样每通道采样”参数决定了从参数决定了从采集卡输出并写入到采集卡输出并写入到缓冲区缓冲区的数据点数的数据点数;“DAQm
22、x读取读取”函数的函数的“每通道采样数每通道采样数”参数,决定了参数,决定了从从缓冲区缓冲区读到程序(读到程序(VI)中的数据点数)中的数据点数。可以认为,采集数据时可以认为,采集数据时以两者中的较小值为准以两者中的较小值为准。如果接入如果接入-1或不或不接入任何数据,接入任何数据,则读取缓冲区中则读取缓冲区中的全部数据点。的全部数据点。第15页/共41页选择正弦波选择正弦波打开开关打开开关打开开关打开开关第16页/共41页(f)对对(e)例,借助例,借助“DAQ助手助手”建立程序建立程序该示例程序(该示例程序(VI)的建立步骤:)的建立步骤:a)a)经经“函数选板函数选板-测量测量I/O-D
23、AQmx-I/O-DAQmx-数据采集数据采集”向框图面板添加向框图面板添加并启动并启动“DAQDAQ助手助手”,在打开的,在打开的“新建Express任务”对话框里,选择“采集信号”-“-“模拟输入”-“-“电压”,选择模入物理通道ai0ai0和ai1ai1,输入范围采用默认的-5-5至5V5V,在“采集模式”中选择“N N采样”,“待读取采样”采用默认值100100,“采样率(Hz)”(Hz)”采用默认值10001000。b)b)关闭关闭“DAQDAQ助手助手”对话框后可看到,该对话框后可看到,该Express VIExpress VI图标下方多出图标下方多出了了“数据数据”输出端子,将该
24、输出端子连到输出端子,将该输出端子连到“波形图波形图”显示控件,显示控件,即可完成对所采集的一段数据的波形输出。即可完成对所采集的一段数据的波形输出。第17页/共41页(g)采集多通道数据采集多通道数据(等间隔(等间隔连续连续采集数据采集数据循循 环缓冲)环缓冲)第18页/共41页该程序(该程序(VI)的建立步骤:)的建立步骤:1)将正弦信号和方波信号分别接在将正弦信号和方波信号分别接在实验箱实验箱0号与号与8号通道以及号通道以及1号与号与9号通道之间;号通道之间;2)使用使用MAX建立新的建立新的DAQmx任务:指定模拟输入、测量电压,选择任务:指定模拟输入、测量电压,选择0号和号和1号物理
25、号物理通道(通道(ai0和和ai1),任务名为),任务名为“我的电压任务我的电压任务”,输入范围使用默认的,输入范围使用默认的-55V,端,端子配置使用默认的差分方式,采集模式使用默认的子配置使用默认的差分方式,采集模式使用默认的“N 采样采样”,“待读取采样待读取采样”采用默认值采用默认值100,“采样率采样率(Hz)”采用默认值采用默认值1000;3)来到框图面板,来到框图面板,调用调用“DAQmx 定时定时”函数并选择其函数并选择其“采样时钟采样时钟”功能,将采样模功能,将采样模式选定为式选定为“连续采样连续采样”,“采样率采样率”设置为设置为1000Hz。注意注意:在实施连续采集时,由
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据 采集 学习
限制150内