《编程及虚拟仪器设计(第六讲)PPT课件》由会员分享,可在线阅读,更多相关《编程及虚拟仪器设计(第六讲)PPT课件(41页珍藏版)》请在金锄头文库上搜索。
1、LabVIEW编程及虚拟仪器设计,第六讲:数据采集(上),字符串控件: 字符串输入控件、显示控件 ;组合框;表格 和Express 表格; 树形。 字符串的显示方式: 正常显示; 代码显示;密码显示; 十六进制显示 字符串的操作函数: 有多种。,上 堂 课 内 容 小 结,一、字符串 是ASCII字符的集合。在对基于LabVIEW的虚拟仪器进行控制操作时,控制命令和数据等大多是按字符串格式传送的。,二、文件I/O 1.文件I/O函数的功能: 打开/新建/替换;读取/写入(多种);关 闭并释放句柄。 2. 高层和低层文件I/O函数: 执行上述3个或仅其中1个基本操作;高、 低层I/O函数各有千秋
2、,适于不同应用。 3. LabVIEW有六种文件格式: 文本文件、二进制文件、数据记录文 件、波形文件、测量文件、NI数据交换文件)。,本堂课内容数据采集(上),一、 测试系统简介,DAQ - Data Acquisition,1. 测试系统组成,在基于计算机构建的虚拟仪器及自动测试系统中,软件起着重要作用。具体包括所用到硬件(典型硬件如数据采集卡,等等)的驱动程序(NI-DAQmx;NI-VISA,等);应用程序编程接口; 再上层的,是 LabVIEW 等编程环境软件;最后, 还有用户根据自己需求所构建(编制)的应用程序。,虚拟仪器及系统的软件,信号调理,数据采集与模块化仪器,传感器和变换器
3、,硬件实现的有源低通滤波器,独立运放,电位器和开关,两路模出,开关在左,模入,函数发生器和直流电压源,函数发生器和直流电压源电源开关,函数发生器开关,2. 信号分类,3. 测量系统信号输入方式,实验中所构建的测量系统,采用如图所示的差分式输入方式。,至于测量系统的信号“参考地单端(RSE)”和“无参考地单端(NRSE)” 输入接线方式及相应用途,可参考教材或“帮助”文件,或测量技术原理有关的教材等。,具体实现上是:输入信号接在CH0+和CH0-之间。CH0+,即实验箱上的模入0通道CH0;CH0-,则是模入8通道CH8。,输入信号,4. 采样率, 采样率每秒(单位时间)采集被测信号的次数。 以
4、较高采样率采集到的信号样本,能更真实地反映原信号。 采样率过低,采得的数字信号看起来其频率可能与实际频 率不同,称为频率混叠(aliasing) (抗混叠LP),采样定理:采样频率至少是被测信号中最高频率成分频率的两倍。实际采样时,常取510倍。,5. 分辨率,3bit的数据采集卡将010V的被测信号划分为2的3次方份。显然,如此采得的信号已非原被测信号。,16bit的数据采集卡将010V划分为2的16次方份(仔细看)。,本教学实验室所使用PCI-MIO-16E-4数据采集卡的位数为12,即12bit。,数字化测量仪器能够检测到的被测模拟信号的最小电平的变化量,由数据采集卡的位数(bit数)决
5、定。,6. 输入范围,3bit的采集卡将010V划分为2的3次方份,测量仪器能够数字化地表征被测信号相应的电压信号的大小范围,由最小值和最大值确定。在数据采集卡已确定即其位数确定前提下,应尽可能使输入范围刚好容纳被测信号的变化范围。,3bit的采集卡将-1010V划 分为2的3次方份,输入范围-1010V,输入范围010V,在右侧给出的示例中,第一个被测信号是08.75V(输入范围是0-10V);第二个被测信号是07.5V(输入范围是10V-+10V)。显然,前者的采样效果更好一些。,MAX中的驱动程序DAQmx,为确立经哪个采集通道去采集被测信号这一任务,要利用LabVIEW的“测量及自动化
6、浏览器” (Measurement and Automation Explore - MAX)对数据采集卡进行配置。MAX也称“数据采集卡配置软件”。对基于计算机构建的虚拟仪器测量系统而言,计算机要与仪器硬件打交道,需要相应的硬件驱动程序。在本实验室虚拟仪器设计环境下, “NI-DAQmx设备”是数据采集卡驱动程序。 路径:桌面上Measurement and Automation 设备和接口 ,二、数据采集任务确立及测量硬件驱动,关于数据采集卡的驱动程序,一般而言,每种、每块数据采集卡均有自己的驱动程序,它的作用就是去控制数据采集卡的硬件操作。 数据采集卡的驱动程序由供应商提供,用户一般无需
7、对其编写原理等做过多了解,而只要能正确使用该驱动程序实现对数据采集卡硬件的控制,使其正确地完成了自己希望的数据采集操作即可。,MAX的主界面,MAX可实现如下功能:(1)浏览系统中接有的数据采集卡,并快速检测、配置数据采集卡及相应软件;(2)通过测试面板,验证和诊断数据采集卡工作情况;(3)创建新的采集通道、任务、接口和比例参数等。具体地, MAX会给每块数据采集卡分配一个逻辑设备号,以供LabVIEW调用时使用。在MAX主界面左栏“我的系统”下有三个子目录,其中,“数据邻居”存储了有关配置和修改任务、虚拟通道的信息;而通过“设备和接口”,可配置本地或远程的数据采集卡、串口及并口等硬件设备;最
8、后的“换算”则用于标定运算。,二、1. 测量及自动化浏览器MAX的功能,通道 物理通道:连接被测信号的实际端子(对差分输入方式而言,每个物理通道对应2个端子;数字端口对应于8条线); 虚拟通道:是一组属性设置的集合,包含虚拟通道名、对应的物理通道、输入接线方式(差分/RSE/NRSE等)、输入范围、缩放比例等。 NI-DAQmx任务,是一个或多个虚拟通道的集合,此外,它还包含了定时、触发等属性。它代表了所要实施的一次信号测量或信号发生的操作。 NI-DAQmx任务分为两种: 一种是独立于程序而存在、可以被各个程序所使用的,且可长期保存的任务(用MAX创建,且保存在MAX中); 另一种是仅存在于
9、某程序中且只能供该程序使用的所谓临时任务(用DAQ助手Express VI或DAQmx函数在框图面板上创建)。 d)虚拟通道分为两种:局部(Local)和全局(Global)虚拟通道。局部虚拟通道仅存在于某个DAQmx定义的任务中(其生存期长短由任务决定);而全局虚拟通道可长期保存在MAX中,且可被多个任务所使用。,二、2. 用驱动程序DAQmx配置测量通道和任务,数据采集卡驱动程序DAQmx定义的任务、虚拟通道与物理通道间的关系,虚拟通道包含物理通道、输入范围、端子配置(差分/RSE/NRSE)和缩放比例等多个属性;任务包含一个或多个虚拟通道,且它除包含每个虚拟通道的属性外,还包含这些虚拟通
10、道共用的采样和触发等属性(信息)。,使用MAX(数据采集卡配置软件)创建一个任务,首先,在MAX界面的“我的系统” - “数据邻居”快捷菜单中选择“新建”,打开了新建的“数据邻居”对话框。,用MAX创建任务的第一步:建立“数据邻居”,路径:桌面Measurement and Automation .,在对话框中,选择“NI-DAQmx 任务”作为创建任务的目标,之后,点击“下一步”,进入下一层对话框。,用MAX创建任务的第二步: 在新建的“数据邻居”列表中,选择建立“NI-DAQmx任务”。,在选择NI-DAQmx任务类型方面,每个类型下都有更具体的若干个选项可供选择。在这里,以选择 “模拟输
11、入” 类型下的“电压”选项为例。选定之后,进入下一步骤。,用MAX创建任务的第三步:选择NI-DAQmx任务类型(这里,选择“采集信号” “模拟输入” “电压” 作为例子)。,用MAX创建任务的第四步:选择建立虚拟通道所需的物理通道,从“支持物理通道”的列表中,选择本任务所要使用的物理通道。 Dev1表示本虚拟仪器环境中的第一块DAQ卡;ai1表示编号(索引)为1(从0开始)的模拟输入物理通道。可按住Ctrl或Shift键选择多个物理通道;所选择物理通道数,应等于新建任务包含的虚拟通道数。这里,以利用Ctrl键选择ai0和ai2这两个物理通道为例。选好后,按“下一步”键,进入下一步骤。,用MA
12、X创建任务的第五步:为任务命名(指定名字),本例中,为任务命名时,就默认为“我的电压任务”即可。 然后按“完成”键,进入下一步骤。,完成上述操作后,在“数据邻居”下的“NI-DAQmx任务”列表中,已出现新建任务“我的电压任务”;同时,该任务已被选中,故在MAX主界面的右侧窗口中便出现了该任务的参数设置区。接下来,用户就应根据自己的实际需要修改由MAX提供的默认的任务参数设置。,虚拟通道列表中,包含名为“电压_0”和“电压_1”的两个虚拟通道,虚拟通道名已被自动指定。在某虚拟通道上打开快捷菜单,可为该虚拟通道改名,或更改其对应的物理通道。 (本例中,“电压_0”对应ai0;“电压_1”对应ai
13、2 。),采集模式: 1 采样 (按要求),即采集单点数据(立即执行); 1 采样 (硬件定时),表示在硬件时钟的边沿采集单点数据; N 采样,表示采集一段数据,采样点数和采样频率在“定时设置”下的“待读取采样”和“采样率(Hz)”文本框中指定(本例中为100个点和1000Hz); 连续采样,表示进行连续采集,此时,“定时设置”下只有“采样率 (Hz)”即采样频率参数有效。,若对默认的任务参数进行了修改,那需要按下右侧窗口中左上角的“保存”按钮,以保存修改后的任务参数设置。至此,一个NI-DAQmx定义的任务就建立完毕了。,单击“DAQmx 任务名”控件或“DAQmx 任务名”常量右端的向下选
14、项箭头、打开任务列表,选择“我的电压任务”项目,就可以使用前边所创建的任务了。,在程序中使用MAX建立的任务,需要借助“DAQmx 任务名”控件或“DAQmx 任务名” 常量。到达它们的路径是:,“控件”选板- “新式”- “I/O”- “DAQmx名称控件”- “DAQmx 任务名” “函数”选板-“测量I/O”-“DAQmx-数据采集”- “DAQmx 任务名”,使用DAQ助手建立临时DAQmx任务,将其放置于框图面板上,同时会出现其“新建Express任务”窗口。在该窗口的右侧栏可进行相应的设置及其修改。,使用DAQ助手建立的任务只是临时任务,没有名称,不会保存在MAX中被(这台计算机中
15、建立的)其他程序使用。 临时任务建立后,DAQ助手Express VI出现了名为“数据”的输出端子(对于模拟输入操作),它可直接向框图上的程序的其他部分输出数据。,路径:“函数”选板 “测量I/O” “DAQmx 数据采集” DAQ 助手,使用“DAQmx 创建虚拟通道”亦即“DAQmx 创建通道(AI-电压-基本)”,通过编程的方法,也可以建立临时任务。这个函数(子VI)的用法,在后面会有介绍。,三、DAQmx VI数据采集函数简介,1. DAQmx VI的组织方式多态VI,多态性:输入、输出端子可以接受不同类型的数据。 实际上,多态VI是具有相同连接器形式的多个VI的集合,包 含在其中的每
16、个VI,都称为该多态VI的一个实例。 VI的这种组织方式,将多个功能相似的功能模块放在一起,可 方便用户的学习和使用。 通过多态VI选择器,可以选择具体使用多态VI的某个实例。打开多态VI选择器显示的方法是:在某个DAQmx VI图标上弹 出 快捷菜单,选择“显示项” “多态VI选择器”(有多态VI功能的函数,其默认状态下,多态VI选择器是打开的)。,找到DAQmx VI 路径: “函数”选板 “测量I/O” DAQmx- 数据采集,2. 常用DAQmx VI 介绍,该函数功能:用于建立虚拟通道和任务。图示为该多态 VI的一个实例,用于测量输入模拟电压的值。 “物理通道”输入端,用于指定物理通道; “分配名称”输入端,定义虚拟通道名,如不指定,该参数 将以物理通道名(如Dev1/ai0等)作为本虚拟通道名; “最大值”、“最小值”,定义所期望的信号的最大值和最 小值(即输入范围); “输入接线端配置”,定义输入端子接法(差分等)。,“函数”选板 “测量I/O” DAQmx 数据采集,用于设