数据采集2学习教案.pptx

上传人:一*** 文档编号:90005840 上传时间:2023-05-13 格式:PPTX 页数:41 大小:1.33MB
返回 下载 相关 举报
数据采集2学习教案.pptx_第1页
第1页 / 共41页
数据采集2学习教案.pptx_第2页
第2页 / 共41页
点击查看更多>>
资源描述

《数据采集2学习教案.pptx》由会员分享,可在线阅读,更多相关《数据采集2学习教案.pptx(41页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、会计学1数据数据(shj)采集采集2第一页,共41页。4.4.在在在在LabVIEWLabVIEW环境下,为运行经测量及自动化浏览器即环境下,为运行经测量及自动化浏览器即环境下,为运行经测量及自动化浏览器即环境下,为运行经测量及自动化浏览器即MAXMAX新建立的数据采集任务,需要借助新建立的数据采集任务,需要借助新建立的数据采集任务,需要借助新建立的数据采集任务,需要借助“DAQmx “DAQmx 任务名任务名任务名任务名”控件或控件或控件或控件或“DAQmx“DAQmx 任务名任务名任务名任务名”常量。常量。常量。常量。5.5.“NI-DAQmx”“NI-DAQmx”实际意味着一系列数据采集

2、软件。它包括实际意味着一系列数据采集软件。它包括实际意味着一系列数据采集软件。它包括实际意味着一系列数据采集软件。它包括数据采集卡驱动程序,以及数据采集卡驱动程序,以及数据采集卡驱动程序,以及数据采集卡驱动程序,以及LabVIEWLabVIEW环境下可建立数据环境下可建立数据环境下可建立数据环境下可建立数据采集任务、实现测量数据采集功能(经数据采集卡读取采集任务、实现测量数据采集功能(经数据采集卡读取采集任务、实现测量数据采集功能(经数据采集卡读取采集任务、实现测量数据采集功能(经数据采集卡读取数据或由其生成数据)的相应功能函数数据或由其生成数据)的相应功能函数数据或由其生成数据)的相应功能函

3、数数据或由其生成数据)的相应功能函数(hnsh)(hnsh)及及及及Express VIExpress VI。6.6.确立一个数据采集任务,还可用确立一个数据采集任务,还可用确立一个数据采集任务,还可用确立一个数据采集任务,还可用DAQDAQ助手(助手(助手(助手(Express Express VIVI)来完成)来完成)来完成)来完成整合了整合了整合了整合了MAXMAX的功能,直接在框图面板实的功能,直接在框图面板实的功能,直接在框图面板实的功能,直接在框图面板实现数据采集任务建立。但用现数据采集任务建立。但用现数据采集任务建立。但用现数据采集任务建立。但用DAQDAQ助手建立的任务无名称,

4、助手建立的任务无名称,助手建立的任务无名称,助手建立的任务无名称,属临时任务,不会保存在属临时任务,不会保存在属临时任务,不会保存在属临时任务,不会保存在MAXMAX中被其他程序使用。中被其他程序使用。中被其他程序使用。中被其他程序使用。7.7.7.7.在框图面板,直接使用在框图面板,直接使用在框图面板,直接使用在框图面板,直接使用“DAQmx“DAQmx 创建虚拟通道创建虚拟通道创建虚拟通道创建虚拟通道”亦即亦即亦即亦即“DAQmx“DAQmx 创建通道(创建通道(创建通道(创建通道(AI-AI-电压电压电压电压-基本)基本)基本)基本)”函数函数函数函数(hnsh)(hnsh),通,通,通

5、,通过编程的方法,也可以建立数据采集的临时任务。过编程的方法,也可以建立数据采集的临时任务。过编程的方法,也可以建立数据采集的临时任务。过编程的方法,也可以建立数据采集的临时任务。第1页/共41页第二页,共41页。本次本次(bn c)课的内容课的内容一、一、一、一、NI-DAQmxNI-DAQmxNI-DAQmxNI-DAQmx(数据采集)的属性节点(数据采集)的属性节点(数据采集)的属性节点(数据采集)的属性节点二、二、二、二、NI-DAQmxNI-DAQmxNI-DAQmxNI-DAQmx(数据采集)的任务状态(逻辑)(数据采集)的任务状态(逻辑)(数据采集)的任务状态(逻辑)(数据采集)

6、的任务状态(逻辑)三、数据采集程序三、数据采集程序三、数据采集程序三、数据采集程序(VI)(VI)(VI)(VI)的编制(示例)的编制(示例)的编制(示例)的编制(示例)1.1.1.1.模拟输入(单个、一段、连续)模拟输入(单个、一段、连续)模拟输入(单个、一段、连续)模拟输入(单个、一段、连续)2.2.2.2.模拟输出(单个、一段、连续)模拟输出(单个、一段、连续)模拟输出(单个、一段、连续)模拟输出(单个、一段、连续)(其中每个均包括其中每个均包括其中每个均包括其中每个均包括(boku)(boku)(boku)(boku)利用利用利用利用NI-DAQmx VINI-DAQmx VINI-D

7、AQmx VINI-DAQmx VI和和和和借助借助借助借助DAQDAQDAQDAQ助手两种助手两种助手两种助手两种编程途径编程途径编程途径编程途径)第2页/共41页第三页,共41页。一、一、DAQmxDAQmx(数据(数据(shj)(shj)采集)的属性采集)的属性节点节点 DAQmx属性节点的功能属性节点的功能(gngnng):用于指定数据采集:用于指定数据采集操作的各种属性。这些属性中,某些可利用操作的各种属性。这些属性中,某些可利用DAQmx VI(数据(数据采集相关的功能采集相关的功能(gngnng)函数函数8种)进行设置;而另种)进行设置;而另一些无法则由一些无法则由DAQmx V

8、I设置。设置。时间属性时间属性通道属性通道属性触发属性触发属性读取属读取属性性写入属写入属性性路径:路径:“函数函数”选板选板“测量测量(cling)I/O”DAQmx-数数据采集据采集 第3页/共41页第四页,共41页。二、二、DAQmxDAQmx(数据采集(数据采集(cij)(cij))的任务状态(逻辑)的任务状态(逻辑)配置任务配置任务-开始任务开始任务-采集采集(cij)(cij)数据操作数据操作-结结束任务束任务-清除任务清除任务 显式和隐式任务状态的转换:通过调用函数的方法显式和隐式任务状态的转换:通过调用函数的方法明确实施任务状态的转换,称为显式状态转换;而某明确实施任务状态的转

9、换,称为显式状态转换;而某些些DAQmx VIDAQmx VI在执行时,若未处于其所需的状态,将在执行时,若未处于其所需的状态,将会引起状态的自动转换,这种自动转换被称为隐式状会引起状态的自动转换,这种自动转换被称为隐式状态转换。态转换。(1)显式转换举例:在)显式转换举例:在“读取读取”采样数据采样数据(shj)前,明确地执行前,明确地执行“开始任务开始任务”;且在;且在“清除任务清除任务”前,明确地执行前,明确地执行“结束任务结束任务”。(2)隐式转换举例:在)隐式转换举例:在“读取读取”函数执行前,自动执函数执行前,自动执行行“开始开始(kish)任务任务”;在;在“清除任务清除任务”执

10、行前,自动执行前,自动执行执行“结束任务结束任务”。第4页/共41页第五页,共41页。三、数据采集三、数据采集三、数据采集三、数据采集(cij)(cij)(cij)(cij)程序(程序(程序(程序(VIVIVIVI)示)示)示)示例例例例1.模拟模拟(mn)输入输入(a)(a)采集采集5V5V的直流电压(电平的直流电压(电平(din pn)(din pn)),并由表盘式显示器显示),并由表盘式显示器显示 找到表盘式显示器路径:找到表盘式显示器路径:“控件控件”选板选板 -“-“新式新式”“数值数值”“仪表仪表”第5页/共41页第六页,共41页。该程序(该程序(VI)建立的步骤:)建立的步骤:将

11、需测的直流电压经差分模式接至实验箱的模拟输入将需测的直流电压经差分模式接至实验箱的模拟输入0号与号与8号通道之间;号通道之间;b)用用MAX建立此采集测量任务:我的系统建立此采集测量任务:我的系统数据邻居数据邻居NI-DAQmx任务,右任务,右击弹出击弹出“创建新创建新NI-DAQmx任务任务”-采集信号采集信号-模拟输入模拟输入-电压电压-选择选择0号物理通道(号物理通道(ai0)-采用默认的任务名采用默认的任务名“我的电压任务我的电压任务”,点击,点击“完完成成”。将虚拟通道。将虚拟通道“电压电压”的的“信号输入范围信号输入范围”设置为设置为010V,任务的,任务的“定时设置定时设置”参数

12、区域的参数区域的“采集模式采集模式”选择选择“1 采样采样(按要求按要求)”;随后,按;随后,按参数配置栏左上角参数配置栏左上角“保存保存”按钮,对参数设置的调整按钮,对参数设置的调整(tiozhng)做确认。做确认。c)构建数据采集构建数据采集VI:往框图面板调用多态函数:往框图面板调用多态函数“DAQmx 读取读取”,选择,选择“模拟模拟 DBL 1通道通道 1采样采样”功能;在该函数的功能;在该函数的“任务任务/通道输入通道输入”输入端子弹出输入端子弹出快捷菜单选快捷菜单选“创建创建”-“输入控件输入控件”,建立同名的,建立同名的DAQmx 任务名控件,任务名控件,并选中并选中“我的电压

13、任务我的电压任务”。在前面板添加标签为。在前面板添加标签为“仪表仪表”的表盘式显示器。的表盘式显示器。回到框图面板,完成左上图所示的连线。回到框图面板,完成左上图所示的连线。第6页/共41页第七页,共41页。调节调节(tioji)为为5V打开打开(d ki)开关开关第7页/共41页第八页,共41页。(b)对对(a)例,改用例,改用DAQ助手助手(zhshu)建立程序(建立程序(VI)建立该程序建立该程序(VI)(VI)的步骤:的步骤:经经“函数选板函数选板-测量测量I/O-DAQmx-I/O-DAQmx-数据采集数据采集”途径向框图面板途径向框图面板添加并启动添加并启动“DAQ“DAQ 助手助

14、手”Express VI”Express VI,在其打开的,在其打开的“新建新建ExpressExpress任务任务”对话框里,选择对话框里,选择“采集信号采集信号”-“”-“模拟输入模拟输入”-”-“电压电压”;再选择模入物理通道;再选择模入物理通道ai0ai0,并将,并将“信号输入范围信号输入范围”设置为设置为010V010V,在,在“采集模式采集模式(msh)”(msh)”中选择中选择“1“1 采样采样(按按要求要求表示立即采集数据表示立即采集数据)”)”。关闭关闭DAQ DAQ 助手新建任务对话框后可看到,在该助手新建任务对话框后可看到,在该Express VIExpress VI图标

15、下方图标下方多出了多出了“数据数据”输出端子,将该输出端子连至输出端子,将该输出端子连至“仪表仪表”控件,控件,即可完成对采集到的单点数据的输出。即可完成对采集到的单点数据的输出。第8页/共41页第九页,共41页。举例:软件定时(举例:软件定时(Software Timed)的多点采集)的多点采集(cij):帮助帮助-查找范例查找范例-硬件输入与输出硬件输入与输出-DAQmx-模拟测量模拟测量-低速变压信号低速变压信号-Acq&Chart Mult Samples-SW Timed.vi 利用循环结构,不断进行单点数据采集,直到利用循环结构,不断进行单点数据采集,直到“DAQmx 读取读取”函

16、数函数(hnsh)出错(错误簇出错(错误簇的的“status”参数为参数为True),或采集到了),或采集到了“Samples per Channel”参数指定的点数,或按下参数指定的点数,或按下“abort”按钮为止。每次采样之间的时间间隔由按钮为止。每次采样之间的时间间隔由“等待(等待(ms)”函数函数(hnsh)的输入值决定。但的输入值决定。但是,这种采样模式下,不同采样点之间的时间间隔无法精确控制和指定;故一般用于采集、测是,这种采样模式下,不同采样点之间的时间间隔无法精确控制和指定;故一般用于采集、测量缓变信号。量缓变信号。(c)如何实现对多个如何实现对多个(du)数据点的采集数据点

17、的采集?去掉去掉“Samples per Channel”的限制,就可变为连续采集的限制,就可变为连续采集第9页/共41页第十页,共41页。多数据点采集,包含采集若干个(一段有限长)数据点和连续不断多数据点采集,包含采集若干个(一段有限长)数据点和连续不断采集数据点两种情况。采集数据点两种情况。若要求严格等间隔采样,就不能采用若要求严格等间隔采样,就不能采用“重复单点采集重复单点采集”的方法的方法无无法确保采样点之间具有精确相等的时间间隔。法确保采样点之间具有精确相等的时间间隔。LabVIEW中采用设置缓冲区技术中采用设置缓冲区技术(jsh)来实现等间隔采样。缓冲来实现等间隔采样。缓冲区是在计

18、算机内存中开辟的一段连续区域。使用缓冲区采集数据时,应区是在计算机内存中开辟的一段连续区域。使用缓冲区采集数据时,应先将一段采样数据从数据采集卡送到缓冲区中(这一过程可以确保等间先将一段采样数据从数据采集卡送到缓冲区中(这一过程可以确保等间隔采样),然后再隔采样),然后再“读取读取”到程序(到程序(VI)中。当任务的采样模式设置为)中。当任务的采样模式设置为“N 采样采样”(采集一段数据)或(采集一段数据)或“连续采样连续采样”时,就是在使用缓冲区进行数时,就是在使用缓冲区进行数据采集。据采集。“N 采样采样”时,使用简单缓冲;时,使用简单缓冲;“连续采样连续采样”时,则使用的是循环缓时,则使

19、用的是循环缓冲(冲(Circular-Buffered)。)。(d)如何如何(rh)实现严格的等间隔多数据点实现严格的等间隔多数据点采集采集?第10页/共41页第十一页,共41页。简单缓冲:用于等间隔一次读取有限个采样点,即在经简单缓冲:用于等间隔一次读取有限个采样点,即在经MAX途径建立新途径建立新DAQmx(数据采集)任务时,从其(数据采集)任务时,从其“定时设置定时设置”选项选项页的页的“采集模式采集模式”选择栏选定选择栏选定“N 采样采样”;或是在框图;或是在框图(kungt)面板面板选用选用“DAQmx 定时(采样时钟)定时(采样时钟)”函数时,在其函数时,在其“采样模式采样模式”参

20、数参数选择表里选中选择表里选中“有限采样有限采样”。在简单缓冲模式下,在简单缓冲模式下,DAQmx任务会首先据每个通道所要读取任务会首先据每个通道所要读取样本数多少及任务需要的采集通道数建立合适的缓冲区(样本数多少及任务需要的采集通道数建立合适的缓冲区(=每通每通道样本数道样本数通道数)。在进行数据采集时,通道数)。在进行数据采集时,DAQmx任务从数据采任务从数据采集卡读取数据,并将它们填充到缓冲区中,直到其被完全填满即集卡读取数据,并将它们填充到缓冲区中,直到其被完全填满即读取到了全部数据为止,才将该缓冲区中的数据经读取到了全部数据为止,才将该缓冲区中的数据经“DAQmx 读取读取”函数输

21、出(返回)到框图函数输出(返回)到框图(kungt)面板的面板的VI中。中。回答:不能,因为在每次循环获得的采样数据回答:不能,因为在每次循环获得的采样数据(shj)段之间,段之间,需等待多少时间是无法严格确定的。需等待多少时间是无法严格确定的。问题:若希望实现连续不断的等间隔采样,能否采用不断问题:若希望实现连续不断的等间隔采样,能否采用不断循环重复等间隔一次读取若干个采集数据循环重复等间隔一次读取若干个采集数据(shj)的方法实现?的方法实现?第11页/共41页第十二页,共41页。而循环而循环(xnhun)缓冲,则可用于等间隔连续数据采集。其原理说明如下:缓冲,则可用于等间隔连续数据采集。

22、其原理说明如下:循环循环(xnhun)缓冲模式下,被采到的数据不断送入缓冲区,最新送入数据的位置随之不缓冲模式下,被采到的数据不断送入缓冲区,最新送入数据的位置随之不断后移;与此同时,断后移;与此同时,“DAQmx 读取读取”函数每次读取一定大小的数据块返回到程序框图。当缓冲函数每次读取一定大小的数据块返回到程序框图。当缓冲区写满后,区写满后,DAQmx改从该缓冲区的头部重新开始写入数据;改从该缓冲区的头部重新开始写入数据;“DAQmx 读取读取”函数一直连续读函数一直连续读取数据块,读到缓冲区的末端后,同样也再改从缓冲区的头部继续读取数据。取数据块,读到缓冲区的末端后,同样也再改从缓冲区的头

23、部继续读取数据。第12页/共41页第十三页,共41页。故,只要写缓冲与读缓冲配合得当,就可实现连续数据采集。故,只要写缓冲与读缓冲配合得当,就可实现连续数据采集。可能出现的问题有:可能出现的问题有:(1)从缓冲区读取数据比向其中写入数据快;从缓冲区读取数据比向其中写入数据快;(2)从缓冲区读取数据过慢,再写入新数据时覆盖掉了还未读取走的从缓冲区读取数据过慢,再写入新数据时覆盖掉了还未读取走的数据。数据。第一个问题容易解决,第一个问题容易解决,“DAQmx 读取读取”函数会自动等待,直到函数会自动等待,直到读到所要求读到所要求(yoqi)多的新数据后才返回。第二个问题则需要特别多的新数据后才返回

24、。第二个问题则需要特别注意,因为如果覆盖掉还未读取的数据,将会引起数据丢失,使数注意,因为如果覆盖掉还未读取的数据,将会引起数据丢失,使数据采集不再连续。出现这种情况,据采集不再连续。出现这种情况,DAQmx会返回错误信息。会返回错误信息。解决数据丢失的办法:调整缓冲区大小、调整采样率和调整每解决数据丢失的办法:调整缓冲区大小、调整采样率和调整每次读取数据的数目。次读取数据的数目。一般情况下,一般情况下,DAQmx可自动设置循环缓冲可自动设置循环缓冲区大小;区大小;降低采样率,以降低向缓冲区写入数据的速度;降低采样率,以降低向缓冲区写入数据的速度;增增加每次从缓冲区读取数据量,从而提高从缓冲区

25、读取数据的速度。加每次从缓冲区读取数据量,从而提高从缓冲区读取数据的速度。第13页/共41页第十四页,共41页。(e)采集多通道数据采集多通道数据(shj)(一次采集多个(若干个)(一次采集多个(若干个)等间隔等间隔 数据数据(shj)点点简单缓冲)简单缓冲)第14页/共41页第十五页,共41页。该程序(该程序(VI)建立的步骤:)建立的步骤:将正弦信号和方波信号按差分模式分别接在将正弦信号和方波信号按差分模式分别接在0号与号与8号通道以及号通道以及1号与号与9号通道之间;号通道之间;调用调用“DAQmx 创建虚拟通道创建虚拟通道”函数,建立虚拟通道和任务:物理通道输入参数函数,建立虚拟通道和

26、任务:物理通道输入参数 physical channels写入物理通道列表写入物理通道列表“Dev1/ai0,Dev1/ai1”,并且,并且name to assign字符串控制器写字符串控制器写入入 “Ch0,Ch1”,即所建立的临时任务将包含两个虚拟通道,即所建立的临时任务将包含两个虚拟通道Ch0和和Ch1,且分别对应于设,且分别对应于设备备1(Dev1)的物理通道)的物理通道ai0和和ai1。“最大值最大值”和和“最小值最小值”设置输入电压范围的最小值设置输入电压范围的最小值(-5V)和最大值()和最大值(5V),在),在“输入接线端配置输入接线端配置”枚举参数中,指定采用差分模式;枚举

27、参数中,指定采用差分模式;调用调用“DAQmx定时定时”函数并选择其函数并选择其“采样时钟采样时钟”功能,设定任务的具体时间参数如下:采样率功能,设定任务的具体时间参数如下:采样率1000Hz,每通道采样,每通道采样100个点,采样模式选择采集个点,采样模式选择采集“有限个点有限个点”;调用调用“DAQmx 读取读取”函数,选择其函数,选择其“模拟模拟2D DBL N通道通道N采样采样”功能。其输入参数每通道采样功能。其输入参数每通道采样数设置为数设置为100,即每通道采集,即每通道采集100个点;采集到的数据输出(返回)个点;采集到的数据输出(返回)“给波形图给波形图”显示控件。显示控件。注

28、意注意(zh y):“DAQmx定时定时”函数的函数的“每通道采样每通道采样”参数决定了从采集卡输出并写入到缓冲参数决定了从采集卡输出并写入到缓冲区的数据点数;区的数据点数;“DAQmx读取读取”函数的函数的“每通道采样数每通道采样数”参数,决定了从缓冲区读到程序参数,决定了从缓冲区读到程序(VI)中的数据点数。可以认为,采集数据时以两者中的较小值为准。)中的数据点数。可以认为,采集数据时以两者中的较小值为准。如果接入如果接入-1或不接入任何数据或不接入任何数据(shj),则读取缓冲区中的全部数据,则读取缓冲区中的全部数据(shj)点。点。第15页/共41页第十六页,共41页。选择选择(xun

29、z)正弦波正弦波打开打开(d ki)开关开关打开打开(d ki)开关开关第16页/共41页第十七页,共41页。(f)对对(e)例,借助例,借助“DAQ助手助手(zhshu)”建立程建立程序序该示例程序(该示例程序(VI)的建立步骤:)的建立步骤:经经“函数选板函数选板-测量测量I/O-DAQmx-数据采集数据采集”向框图面板添加并启动向框图面板添加并启动“DAQ助助手手(zhshu)”,在打开的,在打开的“新建新建Express任务任务”对话框里,选择对话框里,选择“采集采集信号信号”-“模拟输入模拟输入”-“电压电压”,选择模入物理通道,选择模入物理通道ai0和和ai1,输入范围,输入范围采

30、用默认的采用默认的-5至至5V,在,在“采集模式采集模式”中选择中选择“N采样采样”,“待读取采样待读取采样”采用默认值采用默认值100,“采样率采样率(Hz)”采用默认值采用默认值1000。关闭关闭“DAQ助手助手(zhshu)”对话框后可看到,该对话框后可看到,该Express VI图标下方多出了图标下方多出了“数据数据”输出端子,将该输出端子连到输出端子,将该输出端子连到“波形图波形图”显示控件,即可完成对所显示控件,即可完成对所采集的一段数据的波形输出。采集的一段数据的波形输出。第17页/共41页第十八页,共41页。(g)采集采集(cij)多通道数据(等间隔连续采集多通道数据(等间隔连

31、续采集(cij)数据数据循循 环缓冲)环缓冲)第18页/共41页第十九页,共41页。该程序(该程序(VI)的建立步骤:)的建立步骤:将正弦信号和方波信号分别接在实验箱将正弦信号和方波信号分别接在实验箱0号与号与8号通道以及号通道以及1号号与与9号通道之间;号通道之间;使用使用MAX建立新的建立新的DAQmx任务:指定模拟输入、测量电压,任务:指定模拟输入、测量电压,选择选择0号和号和1号物理通道(号物理通道(ai0和和ai1),任务名为),任务名为“我的电压我的电压任务任务”,输入范围使用默认的,输入范围使用默认的-55V,端子配置使用默认的,端子配置使用默认的差分方式,采集模式使用默认的差分

32、方式,采集模式使用默认的“N 采样采样”,“待读取采样待读取采样”采用默认值采用默认值100,“采样率采样率(Hz)”采用默认值采用默认值1000;3)来到框图面板,调用来到框图面板,调用“DAQmx 定时定时”函数并选择其函数并选择其“采样时采样时钟钟”功能,将采样模式选定功能,将采样模式选定(xun dn)为为“连续采样连续采样”,“采样率采样率”设置为设置为1000Hz。注意:在实施连续采集注意:在实施连续采集(cij)时,由时,由MAX建立的建立的 DAQmx任务的任务的Samples To Read参数(参数(“DAQmx 定时定时”函数的函数的samples per channel

33、),参与确定循环缓冲区大小。),参与确定循环缓冲区大小。第19页/共41页第二十页,共41页。4)调用调用“DAQmx 开始任务开始任务”函数,即显式地开始任务;函数,即显式地开始任务;5)在在While循环中调用循环中调用“DAQmx 读取读取”函数,选择函数,选择“模拟模拟 2D DBL N通道通道 N采样采样”功能。该函数的功能。该函数的“每通道采样数每通道采样数”输入参数定义每个通道从缓冲区输入参数定义每个通道从缓冲区读取的采样数据读取的采样数据(shj)点数,本例中为点数,本例中为1000。采集到的数据。采集到的数据(shj)分分别送入别送入“波形图波形图”和和“波形图表波形图表”显

34、示控件,显示控件,“波形图表波形图表”的的“图表历史长度图表历史长度”参数设置为参数设置为3000,这样,在,这样,在“波形图表波形图表”上将显示连续上将显示连续3次读取操作次读取操作得到的数据得到的数据(shj);“DAQmx 读取读取”函数的错误簇输出参数的函数的错误簇输出参数的“status”元素与元素与“停止停止”按钮取按钮取“逻辑或逻辑或”后,送给循环结束端子,作为循后,送给循环结束端子,作为循环结束条件;环结束条件;在循环之外,采用在循环之外,采用“DAQmx 结束任务结束任务”函数结束任务;然后以函数结束任务;然后以“DAQmx 清清除任务除任务”函数清除任务。函数清除任务。第2

35、0页/共41页第二十一页,共41页。选择选择(xunz)正弦波正弦波打开打开(d ki)开关开关打开打开(d ki)开关开关第21页/共41页第二十二页,共41页。应该搞清楚的问题:(应该搞清楚的问题:(1)在连续采集)在连续采集(cij)示例中同示例中同时使用时使用“波波 形图形图”和和“波形图表波形图表”显示控件的原因。显示控件的原因。使用使用“波形图波形图”只能显示每次从循环缓冲区读取出的数据,而对只能显示每次从循环缓冲区读取出的数据,而对各次读取出的数据波形之间是否连续却难以确认。而各次读取出的数据波形之间是否连续却难以确认。而“波形图表波形图表”可可保存前面若干次采集的数据,故利用它

36、,通过观察多次采集数据间保存前面若干次采集的数据,故利用它,通过观察多次采集数据间的过渡波形,便可确认是否的确实现了连续采集。的过渡波形,便可确认是否的确实现了连续采集。注意:进行连续数据采集时,最好用上述方法仔细观察采集到注意:进行连续数据采集时,最好用上述方法仔细观察采集到的数据是否真的的数据是否真的(zhn de)连续,因为存在连续,因为存在DAQmx(数据采集)对(数据采集)对实际上不完全连续的情况未报出错的现象。实际上不完全连续的情况未报出错的现象。第22页/共41页第二十三页,共41页。应该搞清楚的问题:(应该搞清楚的问题:(2)在循环)在循环(xnhun)外使用外使用“DAQmx

37、开始开始任任 务务”函数和函数和“DAQmx 结束任务结束任务”函数的道理。函数的道理。这是显式任务状态转换的典型案例。若不使用这是显式任务状态转换的典型案例。若不使用“DAQmx 开始任务开始任务”函数,则在调用函数,则在调用“DAQmx读取读取”函数时就要使用默认的隐式状态转换,具体地,函数时就要使用默认的隐式状态转换,具体地,“DAQmx读取读取”函数首函数首先开始任务,然后才采集数据,最后还要结束任务。如此,每次循环都将进行开始任务、先开始任务,然后才采集数据,最后还要结束任务。如此,每次循环都将进行开始任务、采集数据、结束任务的操作。这一来没有必要,二来会降低采集数据、结束任务的操作

38、。这一来没有必要,二来会降低(jingd)程序执行效率和性程序执行效率和性能。把函数能。把函数“DAQmx开始任务开始任务”和和“DAQmx 结束任务结束任务”置于循环之外,使置于循环之外,使“开始任务开始任务”和和“结束任务结束任务”的操作只进行一次,无疑可改善程序的运行性能。的操作只进行一次,无疑可改善程序的运行性能。第23页/共41页第二十四页,共41页。(h)对对(g)例,借助例,借助 “DAQ助手助手(zhshu)”建建立程序立程序该程序(该程序(VIVI)的建立步骤:)的建立步骤:经经“函数选板函数选板 测量测量I/O I/O DAQmx-DAQmx-数据采集数据采集 ”途径向框图

39、面板添加途径向框图面板添加“DAQ“DAQ 助助手手”,在打开的,在打开的“新建新建ExpressExpress任务任务”对话框里,选择对话框里,选择“采集信号采集信号(xnho)”(xnho)”“模拟输入模拟输入”“电压电压”,选择模入物理通道,选择模入物理通道ai0ai0和和ai1ai1,输,输入范围设置为入范围设置为-55V-55V,在,在“采集模式采集模式”中选择中选择“连续采样连续采样”。“待读取采待读取采样样”设置为设置为10001000,“采样率采样率(Hz)”(Hz)”设置为设置为10000Hz10000Hz。关闭关闭“DAQ“DAQ助手助手”对话框后,将对话框后,将“DAQ“

40、DAQ助手助手”图标下方出现的图标下方出现的“数据数据”输出输出端接至端接至“波形图波形图”之同时,经之同时,经“从动态数据转换从动态数据转换”函数(选择函数(选择“二维标量二维标量数组数组行是通道行是通道”)转化为二维数组,送至)转化为二维数组,送至“波形图表波形图表”(历史纪录长(历史纪录长度设置为度设置为30003000,取消,取消“转置数组转置数组”选项,修改选项,修改X X坐标范围为坐标范围为0299902999)显)显示控件;再把它们都放入示控件;再把它们都放入WhileWhile循环中。循环是否结束,由循环中。循环是否结束,由“停止停止”按钮控按钮控制。制。Samples To

41、Read参数在代码内部接入了参数在代码内部接入了DAQmx Read函数函数number of samples per channel参数,用以决定每个通道每次从循参数,用以决定每个通道每次从循环环(xnhun)缓冲区读取的数据点数。缓冲区读取的数据点数。第24页/共41页第二十五页,共41页。DAQ助手输入参数助手输入参数“停止停止”的作用:的作用:在各次循环之间,在各次循环之间,“DAQ助手助手”的调用状态处于被监控之中。的调用状态处于被监控之中。若若“停止停止”参数采用默认值参数采用默认值“False”,第一次调用,第一次调用“DAQ助手助手”时,时,进行任务的各种配置和读取操作,而此后

42、进行任务的各种配置和读取操作,而此后(c hu)的每次调用的每次调用均不再进行任务配置,只进行数据读取操作;但如果均不再进行任务配置,只进行数据读取操作;但如果“停止停止”参参数选为数选为“True”,那每次调用,那每次调用“DAQ助手助手”都将进行重新配置都将进行重新配置降低程序执行性能,甚至无法保证实现连续采集操作。降低程序执行性能,甚至无法保证实现连续采集操作。DAQ助手助手(zhshu)的的“停止停止”输入参数,默认值输入参数,默认值为为False第25页/共41页第二十六页,共41页。2.模拟输出(模拟输出(Analog Output)(1)输出输出(shch)直流电压(单点输出直流

43、电压(单点输出(shch))该程序(该程序(VI)的建立步骤:)的建立步骤:调用调用“DAQmx 创建通道创建通道”函数,选择函数,选择“AO 电压电压”,物理通道输,物理通道输 “Dev1/ao0”,其他参数使用默认值;,其他参数使用默认值;b)调用调用“DAQmx 写入写入”函数,选择函数,选择“模拟模拟 DBL 1通道通道 1采样采样”功能功能 ,输出数值控制器,输出数值控制器“data”中的值。中的值。注意:使用示波器或万用表观测模出通道注意:使用示波器或万用表观测模出通道ao0(接在实验箱上的(接在实验箱上的“DAC 0 OUT”和和“AOGND”引脚之间)可发现引脚之间)可发现(f

44、xin),刚刚输出的电压值在输,刚刚输出的电压值在输出引脚上保持不变,即使输出单点数据的程序已经运行完毕。重新运行出引脚上保持不变,即使输出单点数据的程序已经运行完毕。重新运行程序并输出新值,才可以改变引脚电压值。程序并输出新值,才可以改变引脚电压值。第26页/共41页第二十七页,共41页。接至万用表或示波器,或送接至万用表或示波器,或送至模入通道至模入通道(tngdo)直接测直接测量量第27页/共41页第二十八页,共41页。该程序(该程序(VIVI)的建立步骤:)的建立步骤:经经“函数选板函数选板 测量测量I/O I/O DAQmx-DAQmx-数据采集数据采集 ”途径向框途径向框图面板添加

45、并启动图面板添加并启动“DAQ“DAQ 助手助手”,在其,在其“新建新建ExpressExpress任务任务”对话框,选择对话框,选择“生成信号生成信号”“模拟输出模拟输出”“电压电压”,选择模出物理通道,选择模出物理通道ao0ao0,在,在“生成模式生成模式”中选中选择择“1“1 采样采样(ci yn)(ci yn)(按要求按要求表示立即发生数据表示立即发生数据)”)”。“信号输出范围信号输出范围”采用默认值采用默认值-10-10至至10V10V。关闭关闭“DAQ“DAQ助手助手”对话框后可看到,该对话框后可看到,该Express VIExpress VI图标下方图标下方多出了多出了“数据数

46、据”输入端子。直接向该端子输入一个数值,输入端子。直接向该端子输入一个数值,即可完成单点数据的模拟输出。即可完成单点数据的模拟输出。(2)对()对(1)例,借助)例,借助DAQ助手助手(zhshu)建立程序建立程序第28页/共41页第二十九页,共41页。(3)输出一段波形数据)输出一段波形数据(shj)(等间隔,简单缓冲)(等间隔,简单缓冲)经经“函数选板函数选板 信号处理信号处理 波形生成波形生成途径途径(tjng)选用选用“基本函数发生器基本函数发生器”,用以,用以产生仿真波形数据。这个产生仿真波形数据。这个VI的功能,近似于的功能,近似于“仿真信号仿真信号”Express VI。其中,该

47、函数的枚举其中,该函数的枚举(mi j)(mi j)参数参数“信号类型信号类型”用于设置用于设置仿真发生信号的类型,可以是正弦波、三角波、方波和锯仿真发生信号的类型,可以是正弦波、三角波、方波和锯齿波;齿波;“幅值幅值”设定信号幅值;设定信号幅值;“相位相位”设定初相位;设定初相位;“方波占空比()方波占空比()”则专用于设定方波的占空比。则专用于设定方波的占空比。第29页/共41页第三十页,共41页。需要特别注意:需要特别注意:“频率频率”和和“采样信息采样信息”这两个输入这两个输入(shr)参数。参数。簇类型参数簇类型参数“采样信息采样信息”的元素的元素Fs定义定义“采样率采样率”(默认值

48、(默认值1000),元素),元素“采样数采样数”定义采样定义采样点数(默认点数(默认1000););“频率频率”给出信号自身频率(默认给出信号自身频率(默认10)。)。以默认值做说明:以默认值做说明:“采样数采样数”决定了仿真生成信号数据总点数为决定了仿真生成信号数据总点数为1000;Fs的值表示每秒生成的值表示每秒生成1000个数据;即个数据;即“采样数采样数”和和Fs的默认值配合生成的默认值配合生成1“秒秒”的数据。而的数据。而“频率频率”值为值为10,表示,表示1“秒秒”中生成中生成10个周期的波形。这样,调用个周期的波形。这样,调用“基本函数发生器基本函数发生器”函数产生的波形数据为:

49、产生函数产生的波形数据为:产生10个周期个周期的波形;每周期以的波形;每周期以100个数据点描述,且波形数据的个数据点描述,且波形数据的dt参数为参数为0.001。秒字带引号,是因为它只是仿真生成的数据;且秒字带引号,是因为它只是仿真生成的数据;且dt=0.001,也仅表示希望以,也仅表示希望以1毫秒作为时间毫秒作为时间间隔产生数据。而真正发生数据的时间间隔,要由间隔产生数据。而真正发生数据的时间间隔,要由DAQmx函数决定。在后面给出的例子中,函数决定。在后面给出的例子中,将看到如何对这种情况做出处理。将看到如何对这种情况做出处理。第30页/共41页第三十一页,共41页。(等间隔(等间隔(j

50、in g),简单缓冲)示例:输出一段锯齿波形数据,简单缓冲)示例:输出一段锯齿波形数据第31页/共41页第三十二页,共41页。该程序(该程序(VI)的建立步骤:)的建立步骤:使用使用MAX,建立模拟输出,建立模拟输出DAQmx新任务:选择新任务:选择“生成信号生成信号”-“模拟输出模拟输出”-“电压电压”,选择物理通道,选择物理通道ao0,接受默认任务名,接受默认任务名“我的电压输出任务我的电压输出任务”,其他任务参数,其他任务参数均接受默认值(采集模式默认为均接受默认值(采集模式默认为“N 采样采样”)。)。在框图面板,调用在框图面板,调用“基本函数发生器基本函数发生器”生成仿真波形数据:生

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 管理文献 > 管理工具

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

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