数据采集学习教案.pptx
数据数据(shj)采集采集第一页,共57页。1.DAQ 基础知识简介(jin ji)一个完整数据(shj)采集系统的基本组成部分NI 的数据(shj)采集硬件产品平台数据(shj)采集设备硬件选型第1页/共57页第二页,共57页。1.1数据(shj)采集系统的基本组成原始信号原始信号(xnho)(xnho)信号信号(xnho)(xnho)调理设备调理设备 数据采集设备数据采集设备 计算机计算机第2页/共57页第三页,共57页。数据采集基础数据采集基础(1)奈奎斯特采样定理奈奎斯特采样定理自然界中的物理量大多是在时间、幅值上连续变化的模拟量,而信息处理多是以数字信号的形式由计算机来完成。所以将模拟信号变为数字信号是实现信息处理的必要过程自然界中的物理量大多是在时间、幅值上连续变化的模拟量,而信息处理多是以数字信号的形式由计算机来完成。所以将模拟信号变为数字信号是实现信息处理的必要过程(guchng),该过程,该过程(guchng)的第一步就是对模拟信号进行采样。对模拟信号采样的基本原则是奈奎斯特采样定理:的第一步就是对模拟信号进行采样。对模拟信号采样的基本原则是奈奎斯特采样定理:若连续信号若连续信号x(t)是有限带宽的,其频谱的最高频率为是有限带宽的,其频谱的最高频率为fc,对,对x(t)采样时,若保证采样时,若保证(bozhng)采样频率采样频率fs2 fc,那么即可由采样后的数字信号,那么即可由采样后的数字信号x(nTs)恢复出恢复出x(t)。如果采样频率。如果采样频率fs设备和接口设备和接口”,找到,找到“NI-DAQmx 设备设备”一项。连接在本台电脑上的一项。连接在本台电脑上的NI 数据采集硬件设备都会罗列在这里。数据采集硬件设备都会罗列在这里。如如USB 接口的接口的9211A 热电偶温度采集模块,和热电偶温度采集模块,和6251 多功能数据采集模块,所以在多功能数据采集模块,所以在“NI-DAQmx 设备设备”的下斱,出现了的下斱,出现了NI USB-9211A 和和USB-6251,默认的设备名为,默认的设备名为“Dev*”第18页/共57页第十九页,共57页。2.2.1 1采集卡的自检及重启采集卡的自检及重启采集卡的自检及重启采集卡的自检及重启通过单击通过单击“自检自检”可以执行设备自检操作,通过单击可以执行设备自检操作,通过单击“重启设备重启设备”则可以实现设备的重启从而将设备重置为默认状态。自检及重启设备通过将弹出则可以实现设备的重启从而将设备重置为默认状态。自检及重启设备通过将弹出“成功成功”提示对话框。提示对话框。2 2.2.2采集卡测试采集卡测试采集卡测试采集卡测试利用利用“测试面板测试面板”快捷菜单按钮打开测试面板窗口,在该窗口中可以对采集卡进行测试从而检验设备是否运行正常,在该窗口中,可以对采集卡的模拟输入、模拟输出、数字快捷菜单按钮打开测试面板窗口,在该窗口中可以对采集卡进行测试从而检验设备是否运行正常,在该窗口中,可以对采集卡的模拟输入、模拟输出、数字I/O和计数器和计数器I/O进行测试,进行测试,右图给出了模拟输入测试的情况,测试输入信号采用差分方式从端口右图给出了模拟输入测试的情况,测试输入信号采用差分方式从端口68、34输入,频率输入,频率10Hz,幅度峰,幅度峰-峰值为峰值为1V的正弦信号,从测试面板显示信息表明该设备工作正常。的正弦信号,从测试面板显示信息表明该设备工作正常。第19页/共57页第二十页,共57页。2.32.3采集卡的任务采集卡的任务采集卡的任务采集卡的任务(rn(rn wu)wu)配置配置配置配置 几个有关采集的基本概念几个有关采集的基本概念几个有关采集的基本概念几个有关采集的基本概念(1 1)物理通道)物理通道)物理通道)物理通道 物理通道是采集和产生信号的接线端或管脚。支持物理通道是采集和产生信号的接线端或管脚。支持NI-DAQmx的设备上的设备上的每个物理通道具有唯一的名称。的每个物理通道具有唯一的名称。虚拟通道是一个由名称、物理通道、虚拟通道是一个由名称、物理通道、I/O端口连接方式、测量或产生信号端口连接方式、测量或产生信号类型以及标定信息等组成的设置集合。在类型以及标定信息等组成的设置集合。在NI-DAQmx中,每个测量任务都必须中,每个测量任务都必须配置虚拟通道,虚拟通道被整合到每一次具体的测量中。配置虚拟通道,虚拟通道被整合到每一次具体的测量中。(2 2)虚拟通道)虚拟通道)虚拟通道)虚拟通道任务是带有定时、触发或其他属性的一个或多个虚拟通道的集合,是任务是带有定时、触发或其他属性的一个或多个虚拟通道的集合,是NI-DAQmx中一个重要的概念。一个任务表示用户想做的一次测量或一次信中一个重要的概念。一个任务表示用户想做的一次测量或一次信号发生。用户可以设置和保存一个任务里的所有配置信息,并在应用程序中号发生。用户可以设置和保存一个任务里的所有配置信息,并在应用程序中使用这个任务。在使用这个任务。在NI-DAQmx中,用户可以将虚拟通道作为任务的一部分中,用户可以将虚拟通道作为任务的一部分(此时虚拟通道为局部通道)或独立于任务(此时虚拟通道为全局通道)来(此时虚拟通道为局部通道)或独立于任务(此时虚拟通道为全局通道)来配置。配置。(3 3)任务)任务)任务)任务第20页/共57页第二十一页,共57页。一、Test Panels 测试面板如何在MAX 下无需编程实现数据采集功能(gngnng)呢?MAX 提供了两种斱便易用的工具。测试(csh)面板第21页/共57页第二十二页,共57页。如图 所示,通过USB-9211A 演示。数据采集任务(rn wu)创建完毕后,拖放到VI 的程序框图中,右键点击“生成代码”,可自动转换为LabVIEW 程序。创建数据采集(cij)任务第22页/共57页第二十三页,共57页。选择选择MAX MAX 下数据采集任下数据采集任务中的务中的“连线连线(lin(lin xin)xin)图图”选项卡,还可选项卡,还可以看到硬件连接示意图。以看到硬件连接示意图。在本次演示中,热电偶在本次演示中,热电偶的两级分别与的两级分别与9211A 9211A 差差分输入通道分输入通道AI0 AI0 的的0 0、1 1 端相连。如图所示。端相连。如图所示。连线(lin xin)图第23页/共57页第二十四页,共57页。LabVIEW 提供了一系列快速VI,又称Express VI。它们的作用是简单、斱便,无需使用底层VI 迚行编程,只需要通过简单的窗口配置就能实现应用。“数据(shj)采集助手”就是专用于数据(shj)采集任务的快速VI。3.DAQ 助手(zhshu)Express VI第24页/共57页第二十五页,共57页。DAQ助手的使用助手的使用DAQ助手是一个向导式的助手是一个向导式的Express VI,它拥有一个交互式的图形界面,它拥有一个交互式的图形界面,根据提供的向导就能一步一步配置任务、通道、信号自定义换算等,并且根据提供的向导就能一步一步配置任务、通道、信号自定义换算等,并且能自动生成能自动生成LabVIEW代码而无需编程。代码而无需编程。DAQ助手助手(zhshu)位于位于“函数选板函数选板”“测量测量I/O”“DAQmx-数据采集数据采集”子选板中,将其放置到程序框图后后将自动弹出一个子选板中,将其放置到程序框图后后将自动弹出一个“新建新建Express任务任务”对对话框,通过该对话框可以开始一个数据采集任务的创建,其创建步骤与在话框,通过该对话框可以开始一个数据采集任务的创建,其创建步骤与在MAX创建任务类似。创建任务类似。第25页/共57页第二十六页,共57页。转换为转换为NI-DAQmx任务任务使用使用DAQ助手助手(zhshu)创建的任务是临时任务,未保存创建的任务是临时任务,未保存到到MAX中,在没有转换为中,在没有转换为NI-DAQmx任务之前只能在创任务之前只能在创建该建该DAQ助手助手(zhshu)的的VI中使用。通过快捷菜单选项中使用。通过快捷菜单选项“转换为转换为NI-DAQmx任务任务”可以将该任务转换为长期任务可以将该任务转换为长期任务并保存到并保存到MAX实现其调用功能。实现其调用功能。生成为生成为(chngwi)NI-DAQmx代代码码将将DAQ助手助手(zhshu)的的VI转换程序代码转换程序代码第26页/共57页第二十七页,共57页。演示用到的硬件基于CompactDAQ 平台四个cDAQ 数据采集模块:9201,8 通道(tngdo)10V 模拟电压输入模块9263,4 通道(tngdo)10V 模拟电压输出模块2 个9401,8 通道(tngdo)TTL 高速双向数字I/O 模块演示(ynsh)第27页/共57页第二十八页,共57页。连线(lin xin)用用9263 9263 输出两个通道(输出两个通道(AO0AO0、AO1AO1)的模拟信号供)的模拟信号供9201 9201 采集采集(cij)(cij)(AI0AI0、AI1AI1)用用9401 9401 输出两个通道(输出两个通道(P0.0P0.0、P0.1P0.1)的数字信号供另一块)的数字信号供另一块9401 9401 采集采集(cij)(cij)(P0.0P0.0、P0.1P0.1)。各模块引脚间连线如图)。各模块引脚间连线如图 所示。所示。第28页/共57页第二十九页,共57页。4.NI-DAQmx数据数据(shj)采采集控件集控件主要提供通过前面板对主要提供通过前面板对DAQmx任务任务(rn wu)名、名、DAQmx全局通道、全局通道、DAQmx物理物理通道、通道、DAQmx接线端、接线端、DAQmx换算名、换算名、DAQmx设备名、设备名、DAQmx开关等的输入开关等的输入功能。功能。第29页/共57页第三十页,共57页。5.NI-DAQmx 数据(shj)采集VI 第30页/共57页第三十一页,共57页。VI名称名称VI 说说 明明DAQmx创建虚拟创建虚拟通道通道创建一个或多个虚拟通道,并将其添加至任务。创建一个或多个虚拟通道,并将其添加至任务。DAQmx读取读取读读取取用用户户指指定定的的任任务务或或虚虚拟拟通通道道中中的的采采样样,可可以以返返回回DBL或或波波形形格格式式的的数数据。据。DAQmx写入写入在在用用户户指指定定的的任任务务或或虚虚拟拟通通道道中中写写入入数数据据,可可以以写写入入DBL或或波波形形格格式式的的数数据。据。DAQmx结束前等结束前等待待等待测量或生成操作完成。该等待测量或生成操作完成。该VI用于在任务结束前确保完成指定操作。用于在任务结束前确保完成指定操作。DAQmx定时定时配置要获取或生成的采样数,并创建所需的缓冲区。配置要获取或生成的采样数,并创建所需的缓冲区。DAQmx触发触发配置任务的触发类型。配置任务的触发类型。DAQmx开始任务开始任务使任务处于运行状态,开始测量或生成。使任务处于运行状态,开始测量或生成。DAQmx停止任务停止任务停止任务。停止任务。DAQmx清除任务清除任务在在清清除除之之前前,VI将将停停止止该该任任务务,并并在在必必要要情情况况下下释释放放任任务务保保留留的的资资源源。清清除任务后,将无法使用任务的资源。必须重新创建任务。除任务后,将无法使用任务的资源。必须重新创建任务。DAQ助手助手使用图形界面创建、编辑、运行任务。使用图形界面创建、编辑、运行任务。NI-DAQmxNI-DAQmxNI-DAQmxNI-DAQmx重要重要重要重要VIVIVIVI列表及功能列表及功能列表及功能列表及功能(gngnng)(gngnng)(gngnng)(gngnng)说明说明说明说明 第31页/共57页第三十二页,共57页。DAQmxDAQmxDAQmxDAQmx创建虚拟通道多态创建虚拟通道多态创建虚拟通道多态创建虚拟通道多态VIVIVIVI的多态实例选择的多态实例选择的多态实例选择的多态实例选择 LabVIEW中的多态VI概念(ginin)多态多态VIVI是是LabVIEWLabVIEW中中VIVI的一种的一种(y zhn)(y zhn)组织方式,多态性是指组织方式,多态性是指VIVI的输入、的输入、输出端子可以接受不同类型的数据。多态输出端子可以接受不同类型的数据。多态VIVI实际上是具有相同连接器形实际上是具有相同连接器形式的多个式的多个VIVI的集合,包含在其中的每个的集合,包含在其中的每个VIVI都称为该多态都称为该多态VIVI的一个实例。这的一个实例。这种种VIVI组织方式将多个功能相似的功能模块放在一起,方便用户的学习和组织方式将多个功能相似的功能模块放在一起,方便用户的学习和使用。在多态使用。在多态VIVI中可以通过中可以通过“多态选择器多态选择器”,可以选择具体使用多态,可以选择具体使用多态VIVI的哪个实例。的哪个实例。第32页/共57页第三十三页,共57页。(1 1)通过任务生成程序图形代码)通过任务生成程序图形代码)通过任务生成程序图形代码)通过任务生成程序图形代码利用控件选板中利用控件选板中“DAQmx任务名任务名”控件或函数选板中的常量节点控件或函数选板中的常量节点“DAQmx任务名任务名”实现实现MAX中任务的访问。中任务的访问。通过通过“DAQmx任务名任务名”常量或控件选定常量或控件选定(xun dn)MAX中的任务后,用控件或常量快捷菜单中的任务后,用控件或常量快捷菜单“生成代码生成代码”菜单中的菜单中的“范例范例”、“配置配置”、“范例和配置范例和配置”和和“转换为转换为Express VI”四个选项生成不同程序图形代码。四个选项生成不同程序图形代码。通过通过DAQ助手或助手或MAX配置的任务只能完成基本的数据采集功能,实际应用需要根据要求添加相应的功能以实现对数据采集更多的控制。故有时需要将配置的任务转化为程序代码,从而通过修改程序代码来实现更为复杂的功能。在配置的任务只能完成基本的数据采集功能,实际应用需要根据要求添加相应的功能以实现对数据采集更多的控制。故有时需要将配置的任务转化为程序代码,从而通过修改程序代码来实现更为复杂的功能。在LabVIEW中,有两种生成程序代码的途径。中,有两种生成程序代码的途径。LabVIEWLabVIEWLabVIEWLabVIEW中程序图形代码的生成中程序图形代码的生成中程序图形代码的生成中程序图形代码的生成通过通过“DAQmx任务名任务名”常量访问常量访问MAX中的任务中的任务 第33页/共57页第三十四页,共57页。范例范例 该选项产生一个任务运行时所需的所有代码,如读、写操作函数,开始、该选项产生一个任务运行时所需的所有代码,如读、写操作函数,开始、停止任务函数,以及循环结构、图形显示等。停止任务函数,以及循环结构、图形显示等。范例程序范例程序(chngx)图形代码实际上就是一个简单的图形代码实际上就是一个简单的DAQmx示例程序示例程序(chngx),代码内容会因任务而异,经过某些修改就可以用在应用程序,代码内容会因任务而异,经过某些修改就可以用在应用程序(chngx)中。这个程序中。这个程序(chngx)仍然通过数据采集仍然通过数据采集“DAQmx任务名任务名”控件或控件或“DAQmx任务名任务名”常量与数据采集任务联系在一起。常量与数据采集任务联系在一起。第34页/共57页第三十五页,共57页。配置配置该选项产生的代码只是任务配置部分。它用一个函数图标(子该选项产生的代码只是任务配置部分。它用一个函数图标(子VI方式)方式)取代原来的取代原来的“DAQmx任务名任务名”控件或控件或“DAQmx任务名任务名”常量。打开这个函数图常量。打开这个函数图标,其图形代码如图所示。标,其图形代码如图所示。第35页/共57页第三十六页,共57页。配置和范例配置和范例该选项产生的代码为前两个选项产生的代码之和。该选项产生的代码为前两个选项产生的代码之和。转换为转换为Express VI 该选项根据该选项根据MAX中任务的配置将中任务的配置将“DAQmx任务名任务名”控件或控件或“DAQmx任务任务名名”常量转换为常量转换为“DAQ助手助手”形式的形式的Express VI。第36页/共57页第三十七页,共57页。(2 2)将数据采集助手)将数据采集助手)将数据采集助手)将数据采集助手Express VIExpress VI转换为程序图形代转换为程序图形代转换为程序图形代转换为程序图形代码码码码 在在DAQ助手上单击右键,在弹出的快捷菜单中选择助手上单击右键,在弹出的快捷菜单中选择“生成生成NI-DAQmx代码代码”选项,选项,DAQ助手将自动把配置完成的任务生成助手将自动把配置完成的任务生成NI-DAQmx代码,其代码,其代码同时包含配置和范例两个部分。代码同时包含配置和范例两个部分。第37页/共57页第三十八页,共57页。采集模拟信号是虚拟采集模拟信号是虚拟(xn)测试系统中最普遍、最典型的任务。按数据多少通常测试系统中最普遍、最典型的任务。按数据多少通常分为单点直流信号采集、有限波形采集和连续波形采集。按使用通道多少可分为单通道分为单点直流信号采集、有限波形采集和连续波形采集。按使用通道多少可分为单通道采集、多通道采集。采集、多通道采集。(1 1)单点直流电压信号采集)单点直流电压信号采集)单点直流电压信号采集)单点直流电压信号采集单通道单点数据采集是最简单的模拟信号输入采集方式,它适合于对单通道单点数据采集是最简单的模拟信号输入采集方式,它适合于对直流电压信号的采集。利用直流电压信号的采集。利用“DAQmx创建通道创建通道”、“DAQmx读取读取”、“DAQmx清除任务清除任务”等等VI即可实现即可实现。单点直流电压信号采集示例单点直流电压信号采集示例单点直流电压信号采集示例单点直流电压信号采集示例 5 DAQmx数据采集(cij)应用编程实例5.1 模拟信号输入模拟信号输入(shr)第38页/共57页第三十九页,共57页。(2 2)有限波形采集)有限波形采集)有限波形采集)有限波形采集有限波形采集是从一个或多个通道分别采集多个点组成一段波形。由于有限波形采集是从一个或多个通道分别采集多个点组成一段波形。由于是多点采集,在采集程序设计时,还需要确定两点间采集的时间间隔(即采是多点采集,在采集程序设计时,还需要确定两点间采集的时间间隔(即采样频率)、采样点数等参数。相对于单点采集而言,波形采集需要设置的参样频率)、采样点数等参数。相对于单点采集而言,波形采集需要设置的参数要多一些,同时还要使用更多的计算机资源,也需要使用缓冲区。数要多一些,同时还要使用更多的计算机资源,也需要使用缓冲区。“DAQmx创建通道创建通道”设置设置(shzh)为为“AI电压电压”用于建立通道;用于建立通道;“DAQmx定定时时”设置设置(shzh)为为“采样时钟采样时钟”实现对采样时钟的源、频率以及采集或生成的实现对采样时钟的源、频率以及采集或生成的采样数量进行设置采样数量进行设置(shzh)。输入信号为频率为。输入信号为频率为10Hz的正弦信号和三角波信号,的正弦信号和三角波信号,根据设定参数可得在输入信号的一个周期内采样数为根据设定参数可得在输入信号的一个周期内采样数为50,每通道采样数为,每通道采样数为100,则采样组成的波形为两个周期。则采样组成的波形为两个周期。两通道有限波形采集示例两通道有限波形采集示例两通道有限波形采集示例两通道有限波形采集示例 第39页/共57页第四十页,共57页。(3 3)连续波形采集)连续波形采集)连续波形采集)连续波形采集要实现一个连续的波形采集,其实现方法只需将读取数据及必要的数据处理程序放入循环即可。而不是将将整个数据采集程序放入循环,这是因为如果这样,每执行一次数据采集操作采集一段数据,都包含设置、启动、清除等操作,而在相邻的两次采集之间如果存在这些操作,则采集就很难保证连续进行。要实现一个连续的波形采集,其实现方法只需将读取数据及必要的数据处理程序放入循环即可。而不是将将整个数据采集程序放入循环,这是因为如果这样,每执行一次数据采集操作采集一段数据,都包含设置、启动、清除等操作,而在相邻的两次采集之间如果存在这些操作,则采集就很难保证连续进行。连续波形采集示例连续波形采集示例连续波形采集示例连续波形采集示例 程序中将程序中将“DAQmx读取读取”函数及波形图表显示置于一个函数及波形图表显示置于一个While循环中,同时将循环中,同时将“DAQmx定时定时”函数的函数的“采样模式采样模式”设置为设置为“连续采样连续采样”,从而实现连续波形的采集,波形图表中的显示为,从而实现连续波形的采集,波形图表中的显示为输入正弦输入正弦(zhngxin)信号(频率信号(频率10Hz,峰,峰-峰值峰值5V)的采集情况。)的采集情况。第40页/共57页第四十一页,共57页。连续采集的流程图如下图,首先创连续采集的流程图如下图,首先创建虚拟通道,设置缓存大小,设置建虚拟通道,设置缓存大小,设置定时,定时,(必要时可以设置触发必要时可以设置触发),开,开始任务,开始读取。由于我们是连始任务,开始读取。由于我们是连续采集信号,于是我们需要连续地续采集信号,于是我们需要连续地读取采集到的信号。因此我们将读取采集到的信号。因此我们将DAQmx 读取读取VI 放置在循环当中,放置在循环当中,一旦有错误发生一旦有错误发生(fshng)或者用户或者用户在前面板上手动停止采集时在前面板上手动停止采集时 程序会程序会跳出跳出while 循环。循环。之后使用之后使用DAQmx 停止任务来释放相停止任务来释放相应的资源并迚行简单错误处理。应的资源并迚行简单错误处理。连续(linx)采集的流程图第41页/共57页第四十二页,共57页。对于连续采集,缓冲问题是必须注意的。对于一些简单的数据采集,用户不需设对于连续采集,缓冲问题是必须注意的。对于一些简单的数据采集,用户不需设置,置,LabVIEW会自动分配缓冲区。对于会自动分配缓冲区。对于DAQmx定时定时(dn sh)函数的函数的“每通道采样每通道采样”接线端,当接线端,当“采样模式采样模式”设置为设置为“有限采样有限采样”时,表示每通道需要读取或写入数据的时,表示每通道需要读取或写入数据的长度,当长度,当“采样模式采样模式”设置为设置为“连续采样连续采样”时,表示缓冲的大小,可以通过该端子实时,表示缓冲的大小,可以通过该端子实现缓冲区的大小。现缓冲区的大小。NI-DAQmx对于不同的对于不同的“采样率采样率”有一个参考的缓冲区大小,如果有一个参考的缓冲区大小,如果通过通过“每通道采样每通道采样”所设的值小于参考值的话,系统会自动选择参考值作为缓冲区的所设的值小于参考值的话,系统会自动选择参考值作为缓冲区的大小。大小。采样率采样率缓冲区大小缓冲区大小采样率采样率缓冲区大小缓冲区大小未设置未设置10kS10,0001,000,000 S/s100kS0-100S/s1kS1,000,000 S/s1MS10010,000S/s10kS在连续采样中,如果在连续采样中,如果“DAQmx读取读取”函数函数(hnsh)从缓存中读取数据的速度小于设备向缓从缓存中读取数据的速度小于设备向缓存中存放数据的速度,则会出现在向缓冲区写入数据时覆盖掉还没有被读取的数据而产生数据丢存中存放数据的速度,则会出现在向缓冲区写入数据时覆盖掉还没有被读取的数据而产生数据丢失,使数据采集不连续,这种情况下有时会返回错误,通过设置合适的失,使数据采集不连续,这种情况下有时会返回错误,通过设置合适的“每通道采样数每通道采样数”的值可的值可避免该错误的发生,通常此值设置为缓存大小的避免该错误的发生,通常此值设置为缓存大小的1/21/4较为合适。较为合适。连续采集的缓冲连续采集的缓冲连续采集的缓冲连续采集的缓冲(hunchng)(hunchng)(hunchng)(hunchng)问题问题问题问题第42页/共57页第四十三页,共57页。在实际应用中,需要用数据采集设备输出模拟信号。信号包括稳定的直在实际应用中,需要用数据采集设备输出模拟信号。信号包括稳定的直流信号、有限波形信号和连续波形信号。模拟信号输出与模拟信号输入所使流信号、有限波形信号和连续波形信号。模拟信号输出与模拟信号输入所使用函数大部分是相同用函数大部分是相同(xin tn)的,最大的区别在于模拟信号输入采用的,最大的区别在于模拟信号输入采用“DAQmx读取读取”函数,而模拟信号输出要采用函数,而模拟信号输出要采用“DAQmx写入写入“函数。函数。当需要当需要DAQ产生一个模拟直流信号时,一般采用单点模出。产生一个模拟直流信号时,一般采用单点模出。(1 1)直流信号输出)直流信号输出)直流信号输出)直流信号输出 直流信号输出直流信号输出直流信号输出直流信号输出示例示例示例示例 设置输出电压值,运行程序,设置输出电压值,运行程序,则在模拟输出通道则在模拟输出通道“Dev1/ao0”输出对应的直流输出对应的直流电压,通过万用表或示波器可电压,通过万用表或示波器可以测量到程序设置相同的电压以测量到程序设置相同的电压值。值。需要注意的是,模拟输出时,产生信号的是硬件,即使停止而且清除了任务,采集卡输出端口将维持任务结束时最后一个数据样本的状态,直到新任务开始或设备断电。如果采集卡在不需要输出信号时长期保持非零电平状态,容易造成损坏,因此在模拟输出任务完成不需要输出信号后,需运行一段单点输出代码,将前面通道的输出置为需要注意的是,模拟输出时,产生信号的是硬件,即使停止而且清除了任务,采集卡输出端口将维持任务结束时最后一个数据样本的状态,直到新任务开始或设备断电。如果采集卡在不需要输出信号时长期保持非零电平状态,容易造成损坏,因此在模拟输出任务完成不需要输出信号后,需运行一段单点输出代码,将前面通道的输出置为0。5.2 模拟信号输出模拟信号输出(shch)第43页/共57页第四十四页,共57页。(2 2)有限波形输出)有限波形输出)有限波形输出)有限波形输出有限波形输出是输出一段固定长度的波形数据。有限波形输出是输出一段固定长度的波形数据。有限波形输出示例有限波形输出示例有限波形输出示例有限波形输出示例 “DAQmx创建通道创建通道”对输出信号幅度范围、接线端配置、物理通道等信息进行配置。对输出信号幅度范围、接线端配置、物理通道等信息进行配置。“DAQmx定时定时”对采样时钟的采样率、采样模式及每通道采样进行配置,对采样时钟的采样率、采样模式及每通道采样进行配置,“采样率采样率”参数可以确定输出信号的频率,参数可以确定输出信号的频率,“每通道采样每通道采样”确定输出有限波形数据的长度。确定输出有限波形数据的长度。“DAQmx写入写入”负责将负责将“数据数据”端给定数据写入通道,数据由端给定数据写入通道,数据由“正弦信号正弦信号”函数函数(hnsh)生成,其幅度为生成,其幅度为5V,周期为,周期为1s,采样数为,采样数为128。“DAQmx结束前等待结束前等待”函数函数(hnsh)用于用于VI在任务结束前确保完成指定操作。在任务结束前确保完成指定操作。运行该运行该VI,根据设定的参数,通过示波器对输出波形进行观察,可以得到输出频率为,根据设定的参数,通过示波器对输出波形进行观察,可以得到输出频率为1Hz,幅值为,幅值为5V,长度为,长度为8个周期的正弦波形。个周期的正弦波形。第44页/共57页第四十五页,共57页。(3 3)连续波形输出)连续波形输出)连续波形输出)连续波形输出要输出一个连续的周期信号,不需要向缓冲区连续不停的传送数据,要输出一个连续的周期信号,不需要向缓冲区连续不停的传送数据,而只需要向一段缓冲区写入待输出信号一个周期的数据,而只需要向一段缓冲区写入待输出信号一个周期的数据,DAQmx将在任将在任务结束前自动不断的重复该段数据,以输出连续的周期信号。务结束前自动不断的重复该段数据,以输出连续的周期信号。连续波形输出示例连续波形输出示例连续波形输出示例连续波形输出示例 “DAQmx定时定时”函数的采样模式设置为函数的采样模式设置为“连续采样连续采样”,将,将“DAQmx结束前等待结束前等待”函数置于一个函数置于一个While循环中,即可实现连续波形输出。其中循环中,即可实现连续波形输出。其中While循环的作用是保证任务不结束,这样硬件就会一直循环的作用是保证任务不结束,这样硬件就会一直(yzh)输出数据,除非发生错误或单击停止按钮。输出数据,除非发生错误或单击停止按钮。第45页/共57页第四十六页,共57页。连续(linx)模拟波形的流程第46页/共57页第四十七页,共57页。5.3 数字数字(shz)I/O一般的数据采集卡都有数字端口和计数器,用于实现数据采集的触发、一般的数据采集卡都有数字端口和计数器,用于实现数据采集的触发、控制及计数等功能。端口按照控制及计数等功能。端口按照TTL逻辑电平设计,逻辑低电平在逻辑电平设计,逻辑低电平在0-0.7V之之间,逻辑高电平在间,逻辑高电平在3.4-5.0V之间。之间。数字数字I/O的重要组成部分是数字端口的重要组成部分是数字端口Port与数字线与数字线Line。数字线是数。数字线是数据采集卡中单独连接一个数字信号的物理端子,一个数字线承载的数据称据采集卡中单独连接一个数字信号的物理端子,一个数字线承载的数据称为位为位bit,它的二进制值是,它的二进制值是0或或1。多路数字线组成一组后称为端口。多路数字线组成一组后称为端口Port,一,一般情况下,般情况下,4或或8路数字线组成一个端口。许多数据采集设备要求一个端口路数字线组成一个端口。许多数据采集设备要求一个端口中的线同时都是输出线,或同时都是输入中的线同时都是输出线,或同时都是输入(shr)线,即单向的,但也有一线,即单向的,但也有一些设备的一个端口的数字线可以是双向的,即有的线输入些设备的一个端口的数字线可以是双向的,即有的线输入(shr)有的线输有的线输出。出。NI PCI-6251数据采集卡,有数据采集卡,有24条数字线,组成条数字线,组成3个端口。个端口。数字数字I/O的应用分为两类:无条件数字输入的应用分为两类:无条件数字输入(shr)输出方式和握手方输出方式和握手方式。无条件数字输入式。无条件数字输入(shr)输出方式调用数字输出方式调用数字I/O函数后立即更新或读取函数后立即更新或读取某一路或端口状态;握手方式在在传递数据时都需要进行请求和应答。某一路或端口状态;握手方式在在传递数据时都需要进行请求和应答。NI PCI-6251不支持握手方式数字输入不支持握手方式数字输入(shr)输出。输出。数字数字I/O的编程方法与模拟输入的编程方法与模拟输入(shr)、模拟输出的编程差别不大。、模拟输出的编程差别不大。第47页/共57页第四十八页,共57页。数字输入输出示例数字输入输出示例数字输入输出示例数字输入输出示例 先通过数据采集卡的端口先通过数据采集卡的端口0(port0)输出数据()输出数据(10100111),在数),在数据采集卡接线板上,通过导线将数据采集卡端口据采集卡接线板上,通过导线将数据采集卡端口0(port0)和端口)和端口1(port1)对应的线连接起来。这样,程序)对应的线连接起来。这样,程序(chngx)在端口在端口0输出数据后,输出数据后,紧接着又通过端口紧接着又通过端口1将端口将端口0上各数字线上的读取出来。上各数字线上的读取出来。第48页/共57页第四十九页,共57页。5.4 计数器计数器NI PCI-6251数据采集卡硬件配有两套通用计数器,分别标为数据采集卡硬件配有两套通用计数器,分别标为CTR 0和和CTR 1。每个计数器的基本结构模型如图所示。每个计数器的基本结构模型如图所示。GATE为计数器的闸门控制信号;为计数器的闸门控制信号;SOURCE(CLK)为计数器时钟信号源;)为计数器时钟信号源;OUT为计数为计数器的输出信号。器的输出信号。典型的计数器应用有事件定时典型的计数器应用有事件定时(dn sh)/计数、产生单个脉冲、产生脉冲序列、频率测计数、产生单个脉冲、产生脉冲序列、频率测量、脉冲宽度测量和信号周期测量等。量、脉冲宽度测量和信号周期测量等。第49页/共57页第五十页,共57页。(1 1)事件计数器)事件计数器)事件计数器)事件计数器事件计数器示例事件计数器示例事件计数器示例事件计数器示例 首先将首先将“DAQmx创建通道创建通道”函数设置为函数设置为“CI边沿计数边沿计数”从而创建一个事件计数器的虚从而创建一个事件计数器的虚拟通道,并对物理通道、边沿、计数方向、初始计数等参数进行设置。后面几个拟通道,并对物理通道、边沿、计数方向、初始计数等参数进行设置。后面几个VI的作用的作用分别是开始计数、读取数据分别是开始计数、读取数据(shj)、清除任务。其中、清除任务。其中While循环的作用是实现连续计数。循环的作用是实现连续计数。从数据从数据(shj)采集卡端子采集卡端子PFI8(CTR 0 SRC,对应引脚为,对应引脚为37)端输入一数字脉冲,)端输入一数字脉冲,则程序运行后即对输入的数字脉冲序列进行计数。则程序运行后即对输入的数字脉冲序列进行计数。第50页/共57页第五十一页,共57页。(2 2)频率测量)频率测量)频率测量)频率测量 利用数据采集卡的计数器,可以实现频率测量,利用数据采集卡的计数器,可以实现频率测量,LabVIEW DAQmx提提供三种频率测量方法:供三种频率测量方法:带带1个计数器的低频:适用个计数器的低频:适用(shyng)于被测信号频率相对于计数器的时基较低的情于被测信号频率相对于计数器的时基较低的情况,对应频率测量中的测周法;况,对应频率测量中的测周法;带带2个计数器的高频:适用个计数器的高频:适用(shyng)于信号频率较高或差异较大的情况,对应频率于信号频率较高或差异较大的情况,对应频率测量中的测频法;测量中的测频法;带带2个计数器的大范围:适用个计数器的大范围:适用(shyng)于待测信号范围广且整个范围都需要较高的于待测信号范围广且整个范围都需要较高的测量精度的情况,对应频率测量中的改进的测周法。测量精度的情况,对应频率测量中的改进的测周法。输入信号输入信号(xnho)的频率和测量方法的不同,测量的结果有可能发生不同程度的误的频率和测量方法的不同,测量的结果有可能发生不同程度的误差,因此,应根据实际的测量要求选择合适的测量方法。差,因此,应根据实际的测量要求选择合适的测量方法。第51页/共57页第五十二页,共57页。频率测量示例频率测量示例频率测量示例频率测量示例 首先首先“DAQmx创建创建(chungjin)通道通道”VI设置为设置为“CI频率频率”创建创建(chungjin)一个虚拟通道,测量方法设置为一个虚拟通道,测量方法设置为“带带1个计数器的低频个计数器的低频”,测量范围分别设置为最大值,测量范围分别设置为最大值10000Hz和最小值和最小值2Hz,开始边沿设置为,开始边沿设置为“上升上升”,物理通道设置为,物理通道设置为“Dev1/ctr0”,对应采集卡的输入端子为,对应采集卡的输入端子为PFI9(CTR 0 GATE,对应引脚为,对应引脚为3)。接着后面的几个)。接着后面的几个VI的作用分别的作用分别是开始任务、读取数据、清除任务。是开始任务、读取数据、清除任务。第52页/共57页第五十三页,共57页。(3 3)脉冲发生)脉冲发生)脉冲发生)脉冲发生脉冲发生也是计数器的一个较为常用的功能,它通过计数器的脉冲发生也是计数器的一个较为常用的功能,它通过计数器的OUT端端口输出一个或一串脉冲来实现。口输出一个或一串脉冲来实现。“DAQmx创建通道创建通道”设置为设置为“CO脉冲频率脉冲频率”创建一个虚拟通道,并对输出脉冲的频创建一个虚拟通道,并对输出脉冲的频率、占空比、物理通道、空闲状态、初始延迟等参数进行设置。率、占空比、物理通道、空闲状态、初始延迟等参数进行设置。“DAQmx定时定时”VI设置设置为为“隐式隐式”并将采样模式设置为并