基于labview的数据采集论文内容摘要:
6009 进行相应的配置。 在 MAX的目录中: mysystemDevices and interfacesNIDAQmx devices 就可以看到所有连接到系统的物理和仿真的 Nidaqmx 列表。 图 34 物理设备列表 界面 在已经安装的 NIDAQmx 设备上单击右键,就能弹出一个菜单,显示关于数据采集卡的一些信息,包括自检( selftest) ,测试面板( test panels) ,复位设备( reset devices) ,创建任务 (create task),设备引脚等。 虚拟示波器的设计中主要运用的是测试面板。 Test panel 窗口主要用来测试 DAQ 设备的模拟输入 ,模拟输出,数字 I/O 和计算功能。 这是一个功能强大的故障处理实用程序,允许用户从 NIDAQmx 中直接测试设备的功能。 如 果设备在测试面板中不能运行,那么也将不能在 labview 中运行。 如果在 labview 中进行基于 labview 的数据采集 上海交通大 学学士学位论文 13 数据采集时遇到问题,也可以使用自检和测试面板来确保设备运行的正常。 在最后的调试章节会对硬件设置做进一步分析。 另外,通过 device pinouts 选项,能够显示 DAQ 设备 NIUSB6009 的引脚。 帮助用户熟悉各个端口的分布,便于接线。 图 35 USB6009 数据采集卡引脚图 第四 章 设计原理 示波器原理简介 示波器是各类工程实验经常使用电子测量仪器。 利用示波器能观察各种不同信号幅度随时间变化的波形曲线。 它是利用电子射线的偏转,来显示电信号瞬时值图像(常成为时间波形)的一种仪器。 它是能快速把肉眼不能直接看见的电信号的时变规律,以可见的形式,形象的显示出来。 目前,示波器在信号测试 、 信号比较 、 逻辑分析等领域得到了广泛的应用。 在电子实践技术过程中,常常需要同时观察两种(或两种以上)信号随时间变化的过程。 并对这些不同的信号进行电参量的测试和比较,为了达到这个目的,人们在应用普通示波器原理的基础上,采用了双踪示波法。 应用这种方法制造出来的示波器被称为双踪示波器。 基于 labview 的数据采集 上海交通大 学学士学位论文 14 虚拟示波器的设计 Labview 中的前面板中的控件和指示器可以很好的模拟示波器的面板上的各种旋钮以及屏幕。 简单的说前面板就是一个 用户界面 , 由输入,输出控制和显示三部分构成, 用户通过它与程序交互。 当运行 VI 时,必须打开前面板,以便向执行程序输入数据。 前面板主要是由控件和指示器组成的联合体。 控件模拟典型的输入对象,如旋钮 、 开关。 控件可以让用户输入值,向 VI 框图提供数据。 指示器显示由程序产生的输出信息。 以下用两个表达式,可以充分理解控件和指示器: 控件 =来自用户的输入 =数据源 指示器 =给用户的输出 =数据的目的地或“接收器” 两者是不能互换的。 数据采集功能实现 当驱动软件安装完成后,程序框图选项卡中的测量 I/O 选项就会出现 DAQmx 的 函数。 几乎所有的 NIdaqmx 应用程序都将按照以下的逻辑方式组成。 图 41 数据采集 labview 程序 通用 逻辑框图 功能 实现步骤如下:创建一个任务 (或引用一个 MAX DAQmx 任务 )启动任务 读或者写,以及根据需要重复 停止任务 清除任务。 对于 DAQ,第一步要创建一个任务,使用 DAQ 某些 Create Virtual Channel,它创建了一基于 labview 的数据采集 上海交通大 学学士学位论文 15 个虚拟通道并将其添加到一个任务中。 它也可以用来创建多个虚拟通道,并将它们都添加至一个任务。 如果没有指定一个任务,那么这个函数将创建一个任务。 这种多态 VI 的实例对应于通道的 I/O 类型,例如模拟输入,数字输出或者 计数器输出。 它创建的虚拟通道函数的输入随每个函数实例的不同而不同。 DAQmx start task 运行任务。 在能够从任务中读写之前,需要启动任务, 并 将其设置为运行状态。 如果不使用这个 VI,当 DAQmx read VI 运行时,测量任务将自动启动。 NIDAQmx所使用的状态模型免 去 了不需要的重复配置来获得一个更高的效率 , 并且将性能最大化。 这个状态模型包括任务可存在的五个状态。 NIDAQmx 启动任务函数 所 显示 的 是 将一个任务转 换至运行 的 状态。 在运行状态,这个任务完成特定的采集或生成。 如果没有使用 NIDAQmx启动任务函数,那么在其读取函数执行时,一个任务可以隐式的转换。 这个 隐式 转换 也发生在 NIDAQmx 启动任务函数未被使用 , 且 NIDAQmx 写入函数与它指定的自启动输入一起执行 的情况下。 DAQmx read 从指定任务或虚拟通道读取采样值。 这个多态 VI 的实例指定了返回什么格式的采样值,一次读取一个采样值还是多个采样值,从一个还是多个通道读取。 对于有限采样,通过将每通道采样数指定为 1。 这个函数就等待采样完所有请求的采样数,然后读取这些采样。 对于连续采样,将每通道采样数设定为 1 将使得这个函数在执行的时候读取所有现在保存在缓冲中可得的采样。 DAQmx stop 停止任务,测量或产生任务完成后,也许想要停止任务就要使用这个VI,也可能过一段时间后再次启动。 停止任务并将其返回到将 autostart 输入设置为 true 运行DAQmx start task VI 和 DAQmx stop task VI之前的运行状态。 如果不使用 start task和 stop task,当多次使用 DAQmx Read read VI 或 DAQmx write read VI 时,在一个循环中,任务将反复的启动和停止,则降低了应用程序的性能。 DAQmx clear task 消除任务,当任务完成后,使用 DAQmx clear task 来释放任务曾占用的任何资源。 在清除任务之前,如果必要的 话该 VI 先停止任务,释放任务占用的任何资源。 在清除任务之后,不能再使用任务,除非重新创建任务。 因此,如果一个任务还会使用,那么 NIDAQmx 结束任务函数就必须用来中止任务,而不是清除它。 在循环中使用了DAQmx create task VI 或 DAQmx create virtual channel VI,那么在完成任务之后,还要在循环中使用这个 VI,以避免 分配不必要的内存。 基于 labview 的数据采集 上海交通大 学学士学位论文 16 图 42 虚拟示波器 DAQ数据采集 模块 程序 结合数据采集卡,就产生了 虚拟示波器 数据采集 的程序框图 (上图) ,它 在创建的虚拟通道 VI和运行 VI之间添加了一个 定时函数 用于确定系统的采样频率。 这个定时函数配置定时以用于硬件定时的数据采集操作。 这包括指定操作是否连续或有限,为有限的操作选择用于采样或生成的采样数量,以及在需要时创建一个缓冲区。 对于需要采样定时的操作(模拟输入,模拟输出和计数器) NIDAQmx 定时函数 定义了 采样时钟的源(可以是一个内部或外部的源)和它的速率。 采样时钟控制了采样或生成采样的速率。 每一个时钟脉冲为每一个包含在任务中的虚拟通道初始化一个采样的采集或生成。 最左侧的矩形下拉 框可以选择采样的物理通道。 采样时钟上方的下拉框可调采样类型,并可在其左侧的橙色数域内修改采样率。 在 labview 中,函数与函数之间的连线有着不同的颜色,分别表示不同的数据类型,上图的粉色连线,表示传递的数据类型是字符串,而橙色代表传递的是浮点数。 另外还有蓝色为整型,绿色为布尔型,簇类型则用棕色或是粉色表示。 简单的将颜色和类型对应起来,就是为了避免混淆数据类型。 采集波形显示功能 为了模拟示波器对于采样的来的波形进行及时显示 分析 的功能, 利用 labview 中提供的丰富的指示器 ,其中包括波形图表,波形 图以及 XY 图等等,这些 指示器 都将在接下来的设计中运用到。 在显示功能的设计中,需要用到波形图表用于对采样的 信号进行 显示,这个 指示器 横坐标显示的时间,纵坐标显示的是幅值。 本例设计的是双通道示波器,需要对 指示器的属性做一定的设置用于显示两条曲线。 具体为外观属性中的曲线显示数为 2。 在前面板的右上角显示出了两条曲线的图例,用户可以根据需要修改显示曲线的颜色。 基于 labview 的数据采集 上海交通大 学学士学位论文 17 波形能够接受的数据格式有一维数组,簇数据类型,二维数组等。 有了对应的曲线显示,参照对示波器的模拟,就要进一步对两条曲线的显示以及隐藏做设置。 前面板使用了布尔开 关按钮控制两个通道的显示与否。 布尔型数据有两种状态:真或假。 Labview 为布尔型控件和指示器提供了很多种开关, LED 和按钮。 在程序框图中利用 for 循环做对应的设计。 这是本例中第一次使用 for 循环。 无论使用任何程序编程,常常需要重复执行同一段代码。 Labview 提供了两种循环结构while 循环和这里使用的 for 循环,使这项工作变得简单。 For 循环 返 回执行指定的次数。 而while 循环持续执行直到一个指定的条件为真(或为假)。 如 下 图显示 for 循环的框图,右上角是计数端子,代表需要执行循环的次数。 左下角的 i, 是迭代端子,指示循环已经进行的次数并可对其他 VI 进行赋值。 0 表示正在进行第一次迭代, 1 表示正在进行第二次迭代, 以次类推, 直到 N1(N 表示循环所期望的执行次数 )。 使用 属性节点 ,可以使编写程序的功能更加强大。 通过使用属性节点,允许用户编程控制前面板对象的属性:如颜色,显示,位置,数字显示格式等等。 这里的关键是可编程,也就是说,按照框图算法改变前面板对象的属性。 设计中为采集波形图表的通道显示设置了actplot, 两个属性节点,分别表示活动曲线和曲线可见。 这样就能使采集来的波形具有随时 间推移而移动的属性。 属性节点的左右两端分别有小箭头,这是用于修改 节点的读写属性 ,可以通过右击属性节点,对它的读写属性做设置, 这个设计 中运用的是写入属性,如果错误的运用了读出属性,连接线就会出现小红叉,表示坏线。 图 43 虚拟示波器的通道选择 模块框图 而在 for 循环内,用 case 结构 对前面板的通道开关与图表显示控件做关联。 Case 是一种强大的结构。 它是 labview 中执行条件语句的方法,就像 C 语言中 ifthenelse语句。 Case 结构可以有两个或更 多个框图,但只能有一个在执行,也就是说只能显示一个分支,就像一叠纸牌,只能看见最上面一张。 结构右侧带问号的小方块是分支选择器它决定基于 labview 的数据采集。基于labview的数据采集论文
相关推荐
把时间域的各种 动态信号通过傅里叶变换转换到频率域进行分析,内容包括: ( 1)频谱分析:包括幅值谱和相位谱、实部频谱和虚部频谱; ( 2)概率谱分析:包括自谱和互谱分析; ( 3)频率响应函数分析:系统输出信号和输入信号之间谱的相关程度; 上述这些谱分析技术在计算机中实现的基础就是离散傅里叶变换,在LabVIEW 中有些谱分析有相应的 Express VI 可以直接计算
2 V 图 22 信号调理电路图 详细的电路图可以参考附录 2。 测量过程中,除了待测量的信号外,各种不可见的、随机的信号可能出现在测量系统中。 这些信号与有用信号叠加在一起,可能会严重扭曲测量结果。 因此不仅仅是将信号放大就可以了,还需要对放大的信号进行调理。 其中电和磁都可以通过电路和磁路对检测系统 产生干扰作用。 电场和磁场的变化也会在有关电路中感应出干扰电压。
表示,或使用系统可分辨的实际电压值来表示,有时也会用满刻度值可以划分的级数来表示。 采集速率又称数据吞吐率,是指在满足系统精度指标的前提下,系统对输入模拟信号在单位时间内所能完成的 采样次数,或者说是系统一个通道一秒钟能够采集的有效数据量。 非线性失真也称谐波失真。 给系统输入一个频率为 f0 的正弦波时,其输出信号出现了很多频率为 nf0( n 为正整数)的新的频率分量,这种现象称为非线性失真
则可以用Windows菜单下的Show Functions Palette功能打开它,也可以在框图程序窗口的空白处点击鼠标右键以弹出功能模板。 注:只有打开了框图程序窗口,才能出现功能模板。 功能模板如下图所示。 结构子模板:包括程序控制结构命令,例如循环控制等,以及全局变量和局部变量。 数值运算子模板:包括各种常用的数值运算符,如+、等;以及各种常见的数值运算式,如+1运算;还包括数制转换
信号经过快速傅里叶变换分解为单一的谐波分量,可以得到振动的频谱。 图 32 是系统软件的结构图,如图所示,使用 DAQ采集助手和相应的硬件设备,我们将振动信号采进计算机中,通过数字滤波滤除信号中的噪声和不需要的频率成分。 为了减少或抑制频率泄露,采用加窗处理。 32 系统软件结构框图 分模块进行加速度变化率的累加,求的当前速度;在进行速度变化率的累加,求得当前位移,积分用“数学
Instrument Engineering Workbench( 实验室虚拟仪器集成环境 )的简称 , 是美国国家仪器公司 NI( National Instruments) 的创新软件产品 , 被誉为 “ 科学家与工程师 ” 的语言。 虚拟仪器是 LabVIEW的精髓 , 通过虚拟仪器的延伸与扩展 , 使 LabVIEW的应用更加广泛 .