1、虚拟仪器实验指导书65资料内容仅供参考,如有不当或者侵权,请联系本人改正或者删除。虚拟仪器技术实验指导 深圳大学测控技术与仪器目 录实验一 LabVIEW编程环境与基本操作实验1实验二 LabVIEW编程的结构实验17实验三LabVIEW编程的图形图表、 数组与簇16实验四 LabVIEW编程的数据采集实验20实验五 NI ELVIS环境28实验六 RC 瞬态电路和数字温度计设计35实验一 LabVIEW编程环境与基本操作实验一、 实验目的1了解LabVIEW的编程环境。2掌握LabVIEW的基本操作方法, 并编制简单的程序。3学习建立子程序的过程和调用子程序的方法二、 实验原理1虚拟仪器虚拟
2、仪器( Virtual Instrument, 简称VI) 是基于计算机的软硬件测试平台。虚拟仪器技术的优势在于可由用户定义自己的专用仪器系统, 且功能灵活, 很容易构建, 因此应用面极为广泛。20世纪80年代, 随着计算机技术的发展, 个人电脑能够带有多个扩展槽, 就出现了插在计算机里的数据采集卡。它能够进行一些简单的数据采集, 数据的后处理由计算机软件完成, 这就是虚拟仪器技术的雏形。1986年, 美国National Instruments公司( 简称NI公司) 提出了”软件即仪器”的口号, 推出了NI-LabVIEW开发和运行程序平台, 以直观的流程图编程风格为特点, 开启了虚拟仪器的
3、先河。22LabVIEWLabVIEW( Laboratory Virtual instrument Engineering) 是一种图形化的编程语言, 一个标准的数据采集和仪器控制软件。LabVIEW集成了与满足GPIB、 VXI、 RS-232和RS-485协议的硬件及数据采集卡通讯的全部功能。它还内置了便于应用TCP/IP、 ActiveX等软件标准的库函数。这是一个功能强大且灵活的软件。利用它能够方便地建立自己的虚拟仪器, 其图形化的界面使得编程及使用过程都生动有趣。图形化的程序语言, 又称为”语言。使用这种语言编程时, 基本上不写程序代码, 取而代之的是流程图或流程图。控制对象(输入
4、)显示对象(输出)图1.1随机信号发生器的前面板(1)LabVIEW应用程序的构成所有的LabVIEW应用程序, 即虚拟仪器( VI) , 它包括前面板( front panel) 、 流程图( block diagram) 以及图标/连结器(icon/connector)三部分。前面板前面板是图形用户界面, 也就是VI的虚拟仪器面板, 这一界面上有用户输入和显示输出两类对象, 具体表现有开关、 旋钮、 图形以及其它控制( control) 和显示对象( indicator) 。框图 ctrl+E框图提供VI的图形化源程序。在框图中对VI编程, 以控制和操纵定义在前面板上的输入和输出功能。框图
5、中包括前面板上的控件的连线端子, 还有一些前面板上没有, 但编程必须有的东西, 例如函数、 结构和连线等。框图中, 对象的移动: shift+鼠标选择移动; 对象的复制: ctrl+鼠标选择移动; 对象的删除: 鼠标选择, 按; 前面板与框图并排: ctrl+T图1.2与图1.1对应的框图。函数: 随机数发生器结构: 循环与前面板控件对应的连线端子与前面板控件对应的连线端子图1.2随机信号发生器的流程图图标/连接器图标 连接器 图标/连接器是子VI被其它VI调用的接口。图标是子VI在其它程序框图中被调用的节点表现形式; 而连接器则表示节点数据的输入/输出口, 就象函数的参数。用户必须指定连接器
6、端口与前面板的控制和显示一一对应。连接器一般情况下隐含不显示, 除非用户选择打开观察它。(2)操作模板在LabVIEW的用户界面操作模板包括: 工具( Tools) 模板: 在前面板或框图中按住键并单击鼠标右键。控件( Controls) 模板: 在前面板激活状态, 在前面板空白区单击右键。函数( Functions) 模板: 在框图激活状态, 在框图空白区单击右键。(3)连线, 连线工具流程图上的每一个对象都带有自己的连线端子, 连线将构成对象之间的数据通道。因为这不是几何意义上的连线, 因此并非任意两个端子间都可连线, 连线类似于普通程序中的变量。数据单向流动, 从源端口向一个或多个目的端
7、口流动。不同的线型代表不同的数据类型。消除所有断线: ctrl+B(4)程序调试技术a)找出语法错误 如果一个VI程序存在语法错误, 则在面板工具条上的运行按钮会变成一个折断的箭头, 表示程序不能被执行。点击它, LabVIEW弹出错误清单窗口, 点击其中任何一个所列出的错误, 选用Find功能, 则出错的对象或端口就会变成高亮。b)设置执行程序高亮在LabVIEW的工具条上有一个画着灯泡的按钮, 这个按钮叫做”高亮执行”按钮上。点击这个按钮使它变成高亮形式, 再点击运行按钮, VI程序就以较慢的速度运行, 没有被执行的代码灰色显示, 执行后的代码高亮显示, 并显示数据流线上的数据值。这样,
8、你就能够根据数据的流动状态跟踪程序的执行。c)断点与单步执行为了查找程序中的逻辑错误, 有时希望流程图程序一个节点一个节点地执行。使用断点工具能够在程序的某一地点中止程序执行, 用探针或者单步方式查看数据。使用断点工具时, 点击你希望设置或者清除断点的地方。断点的显示对于节点或者图框表示为红框, 对于连线表示为红点。当VI程序运行到断点被设置处, 程序被暂停在将要执行的节点, 以闪烁表示。按下单步执行按钮, 闪烁的节点被执行, 下一个将要执行的节点变为闪烁, 指示它将被执行。你也能够点击暂停按钮, 这样程序将连续执行直到下一个断点。b)探针 可用探针工具来查看当流程图程序流经某一根连接线时的数
9、据值。从Tools工具模板选择探针工具, 再用鼠标左建点击你希望放置探针的连接线。这时显示器上会出现一个探针显示窗口。该窗口总是被显示在前面板窗口或流程图窗口的上面。3子VI子VI( SubVI) 相当于普通编程语言中的子程序, 也就是被其它的VI调用的VI。能够将任何一个定义了图标和联接器的VI作为另一个VI的子程序。4LabVIEW编程常见的两个公共帮助选项: Context(上下文本)和LabVIEW Help(LabVIEW帮助), 对于LabVIEW编程很有用, 基本函数的操作都有介绍。快捷键: ctrl+H。三、 实验设备 安装有LabVIEW的计算机。四、 实验内容1熟悉LabV
10、IEW的编程环境, 理解基于数据流编程( data flow programming) 的概念。 2 创立自己的第一个VI。建立一个测量温度和容积的VI。步骤如下: 1)选择 FileNew, 打开一个新的前面板窗口。2)从 ControlsNumeric 中选择 Tank放到前面板中。3)在标签文本框中输入”容积” , 然后在前面板中的其它任何位置单击一下。4)把容器显示对象的显示范围设置为0.0到1000.a.使用文本编辑工具( Text Edit Tool) , 双击容器坐标10.0标度, 使它高亮显示。b.在坐标中输入 1000, 再在前面板中的其它任何地方单击一下。 这时0.0到10
11、00.0之间的增量将被自动显示。5)在容器旁配数据显示。将鼠标移到容器上, 点右键, 在出现的快速菜单中选Visible ItermsDigital Display即可。6)从ControlsNumeric 中选择一个温度计, 将它放到前面板中。设置其标签为”温度”,显示范围为0到100, 同时配数字显示。可得到如下的前面板图。图1.3练习2的前面板图随机数发生器乘法函数数值常数连接点7)WindowsShow Diagram 打开流程图窗口。从功能模板中选择对象, 将它们放到流程图上组成下图( 其中的标注是后加的) 。图1.4练习2的流程图该流程图中新增的对象有两个乘法器、 两个数值常数、
12、一个随机数发生器, 温度和容积对象是由前面板的设置自动带出来的。乘法器和随机数发生器由FunctionsNumeric中拖出, 尽管数值常数也能够这样得到, 可是建议使用在连接端子处点击右键创立( Create) 常量( Constant) 的方法更好些。8) 用连线工具将各对象按规定连接。9) 选择 FileSave, 把该VI命名为Temp & Vol.vi, 保存为 D:Yourname的文件夹中。在前面板中, 单击Run( 运行) 按钮, 运行该 VI。注意电压和温度的数值都显示在前面板中。10) 选择FileClose, 关闭该 VI 。3自己创立一个VI, 完成以下功能: 将两个输
13、入的数字相加并显示结果; 将同样两个输入数字相乘并显示结果; 比较两个输入数字, 如果数字相等, 则LED指示灯亮。最后, 保存为Simple Math.vi文件。 前面板如图1.5: 数字A和B用两个数字控件输入, 两个数字指示器分别显示输出结果A+B和AB, 当输入数字A和B相同时, 将点亮LED。 完成后, 应用”高亮执行”观察数据流的运行流程, 利用断点, 单步调试等工具进行调试。练习使用探针工具来查看当流程图程序流经某一根连接线时的数据值。 图1.5练习3的前面板4子VI的创立 ) 打开练习2中Temp & Vol.vi。) 在前面板中, 用鼠标右键单击窗口右上角的图标, 在快捷菜单
14、中选择 Edit Icon., 也能够双击图标激活图标编辑器。注意只能在前面板中编辑图标和联接器。3) 删除默认图标。使用Select Tool( 矩形框) , 单击并拖动想要删除的部分, 按下。也能够经过双击工具框中的阴影矩形删除图标。4) 用 Pencil Tool ( 铅笔工具) 绘制一个温度计。5) 用 Text Tool( 文本工具) 创立文本。得到图标将如下图所示。图.编辑后的图标编辑器窗口6) 单击OK, 关闭编辑器。新创立的图标就显示在屏幕右上角的图标窗口中。7) 用鼠标右键单击前面板中的图标窗口, 在快捷菜单中选择Show Connector, 设置联接器端子连接模式。在默认
15、情况下, LabVIEW 会根据前面板中的控制对象和显示对象的数目确定联接器的端子连接模式。因为前面板中有两个对象, 因此联接器有两个端子, 如左图所示。用鼠标右键单击联接器窗口, 在快捷菜单中选择Rotate 90 Degrees( 旋转90度) , 注意联接器窗口的变化, 如左图所示。9) 将端子连接到温度计和容积计: a. 点击联接器上部端子。光标自动变成连线工具, 同时端子变成黑色。b. 单击温度显示对象。一个移动的虚线框把它包围起来, 选中的端子的颜色变为与控制/显示对象的数据类型一致的颜色。如果单击前面板中的任何空白区域以后, 虚线消失, 选中的端子变暗, 这表示您已经成功地把显示
16、对象和上部端子连接起来。如果端子是白色, 则表示没有连接成功。c. 重复步骤a 和 b, 把底部的端子和容积计连接起来。d. 用鼠标右键单击联接器, 在快捷菜单中选择Show Icon.10) 选择FileSave , 保存该 VI。这样这个 VI 就完成了, 并也能够作为子 VI 被其它的VI调用。子VI 的图标在主 VI 的流程图中代表它。VI 的联接器( 含有两个端子) 输出温度和容积。5、 调用子VI用调用子VI完成下面功能。七、 实验报告与总结1调试编辑以上VI, 画出以上VI的程序框图。2理解基于数据流编程的基本编程思路。3总结VI基本编程的快捷操作。4简述VI程序有什么构成, 其
17、各部分的功能是什么。5思考: 在前面板和框图程序中, 如何区分控制器和指示器。6心得体会及其它。实验二 LabVIEW编程的结构实验一、 实验目的1学习并掌握For循环和While循环以及它们的不同点。2 学习使用移位寄存器( shift register) 。3.掌握选择结构( Case Structure) , 顺序结构( Sequence Structure) 编程; 4.了解时间估计和控制函数。5了解公式节点( Formula Node) 的使用。二、 实验原理1 While 循环和For循环在函数( Function) 的结构( Structures) 的选项板中能够找到。创立循环的
18、具体方法是, 选择该循环后, 先在欲放入循环内执行的对象左上方单击, 然后按下鼠标, 拖曳出一个矩形框包围执行对象。释放鼠标时就创立了一个指定大小和位置的循环。2While 循环能够重复执行循环体的程序, 直至到达某个边界条件。它类似于普通编程语言中的 Do 循环和 Repeat-Until 循环。While 循环的框图是一个大小可变的方框, 用于执行框中的程序, 直到条件端子接收到的布尔值为 FALSE。图 2.1While 循环3For循环用于将某段程序执行指定次数。和While 循环一样, 它不会马上出现在流程中, 而是出现一个小的图标, 而后您能够修改它的大小和位置。For循环将把它的
19、框图中的程序执行指定的次数, For循环具有下面这两个端子: N: 计数端子( 输入端子) 用于指定循环执行的次数。I: 周期端子( 输出端子) 含有循环已经执行的次数。图 2.2For 循环与移位寄存器4移位寄存器能够将数据从一个循环周期传递到另外一个周期。创立一个移位寄存器的方法是, 用鼠标右键单击循环的左边或者右边, 在快捷菜单中选择 Add Shift Register。移位寄存器在流程图上用在循环边框上相应的一对端子来表示。右边的端子中存储了一个周期完成后的数据, 这些数据在这个周期完成之后将被转移到左边的端子, 赋给下一个周期。移位寄存器能够转移各种类型的数据数值、 布尔数、 数组
20、、 字符串等等。它会自动适应与它连接的第一个对象的数据类型。Case结构含有两个或者更多的子程序( Case) ,执行那一个取决于与选择端子或者选择对象的外部接口相连接的某个整数、 布尔数、 字符串或者标识的值。必须选择一个默认的Case以处理超出范围的数值, 或者直接列出所有可能的输入数值。Case结构见下图3.1。子程序标识按钮条件端子图3.1 Case结构5顺序结构( Sequence Structure) 顺序地执行子框图, 它看上去像是电影胶片。它能够按一定顺序执行多个子程序。首先执行0帧中的程序, 然后执行1帧中的程序, 逐个执行下去。与Case结构类似, 这多帧程序在流程图中占有
21、同一个位置。1 时间估计和控制函数 ”等待Wait”: 控制VI定时执行, 每次执行单元( 比如循环) 内部, 在执行代码运行结束后, 开始计时。保持此状态直到毫秒计数器的值等于预先设定的值。用于每次执行单元至少执行时间设定。 ”等待下一个整数倍的毫秒Wait until Next ms Multiple”: 每次执行单元( 比如循环) 内部, 在执行代码开始运行时, 就开始计时。保持此状态直到毫秒计数器的值等于预先设定数的整数倍。用于同步各单元操作。”Tick Count (ms) 函数”: 用与Express VI完成定时任务。6公式节点是一个大小可变的方框, 能够利用它直接在流程图中输入
22、公式。从函数Functions的结构Structures中选择公式节点就能够把它放到流程图中。当某个等式有很多变量或者非常复杂时, 这个功能就非常有用。图3.2 公式节点三、 实验设备 安装有LabVIEW的计算机。四、 实验内容1A. 创立一个关于While循环的VI, 实现在While循环内放置随机数对象, 并在前面板上显示随机数及While循环的实时次数。并在前面板设置开关控制按钮, 实现While循环的停止控制。前面板如图2.3, 最后将该VI保存为While Loop.vi文件。图 2.3While Loop目的: 用 While 循环和图表获得数据, 并实时显示。B、 创立一个能够
23、产生并在图表中显示随机数的VI。 前面板有一个控制旋钮可在0到10秒之间调节循环时间, 还有一个开关能够中止VI的运行。学习怎样改变开关的动作属性, 以便不用每次运行VI时都要打开开关。操作步骤如下: 前面板3图练习的流程图2A、 创立一个关于For循环的VI, 实现在For循环内放置随机数对象, 并在前面板上显示随机数及For循环的实时次数。For循环的指定执行次数设为100次。前面板如图2.4, 最后将该VI保存为For Loop.vi文件。图 2.4For LoopB、 目的: 用For循环和移位寄存器计算一组随机数的最大值。3.练习使用移位寄存器: 设计一个包含移位寄存器的While循
24、环, 该前面板有4个数字指示器, X( i) 指示器用于显示当前循环的实时次数i值, X( i-1) 指示器用于显示前一次迭代的已循环次数i的值, X( i-2) 指示器用于显示两个迭代前的已循环次数i的值, X( i-3) 指示器用于显示三个迭代前的已循环次数i的值。移位寄存器的初始化值设为0。并在前面板设置开关控制按钮, 实现While循环的停止控制。前面板如图2.5, 最后将该VI保存Viewing Shift Registers.vi文件。 图 2.5Viewing Shift Registers4设计一个VI, 实现使用循环和移位寄存器计算随机数序列的移动平均值。要求该VI产生一个随
25、机序列, 序列长度由前面板滑动条控件输入, 该随机数序列的移动平均值由下列公式可计算: 这里i=0, 1, , N-1, 表示在第i次计 算的平均值, 是来自随机数函数的当前随机数。前面板要求显示当前用于计算移动平均值的随机数个数i+1, 当前的移动平均值, 前面板设计如图2.6所示, 最后将该VI保存为Random Number Average.vi文件。在Highlight Execution加亮执行的状态下观察数据流。图 2.6Random Number AverageB、 目的: 创立一个能够在图表中显示运行平均数的VI。5使用Case结构, 创立一个VI以检查一个数值是否为正数。如果
26、它是正的, VI就计算它的平方根, 反之则显示出错。提示: 能够使用以下函数One Button Dialog函数( FunctionsTime & Dialog) 它能够用于显示一个对话框, 内容可由字符串常量输入提供。例如: 前面板如图3.3, 最后将该VI保存为Case Structure.vi文件。图3.3 Case Structure6练习用公式节点实现y=xe sinx的计算, x为输入数据, y为输出显示数据, 存为Formula Code.vi7.分别用Case结构和公式节点语句两种方法, 实现下列条件分支语句: 考虑计算两数比率x/y的下列代码段: if (y0) thenz
27、=x/yelsez=+end if两VI保存为Case Division.vi和Formula Division.vi。五、 实验报告与总结1调试编辑以上VI, 画出以上VI的程序框图。2。说明For循环与While循环的区别。3理解移位寄存器的作用以及它的初始化3使用公式节点时, 如果输入变量的名称同输出变量的名称相同时, 会怎样。4得体会及其它。实验三LabVIEW编程的图形图表、 数组与簇一、 实验目的1学习如何使用数组与簇, 掌握它们的区别和相应操作; 2学习并掌握Chart和Graph的使用, 理解它们的区别。二、 实验原理1数组是同类型元素的集合。一个数组能够是一维或者多维, 如果
28、必要, 每维最多可有2311个元素。能够经过数组索引访问其中的每个元素。创立一个数组有两件事要做, 首先要建一个数组的”壳”( shell) , 然后在这个壳中置入数组元素( 数或字符串等) 。数组元素不能是数组、 图表或者图形。LabVIEW提供了很多用于操作数组的功能函数, 位于函数Functions数组Array中。其中包括创立数组( Build Array) , 初始化数组( Initialize Array) , 数组大小( Array Size) , 数组子集( Array Subset) , 索引数组( Index Array) 等等。l 创立数组( Build Array) ,
29、 用于根据标量值或者其它的数组创立一个数组。l 初始化数组( Initialize Array) 用于创立所有元素值都相等的数组。下图中, 该功能函数创立了一个一维数组。l 数组大小( Array Size) 返回输入数组中的元素个数。l 数组子集( Array Subset) 选取数组或者矩阵的某个部分。l 索引数组( Index Array) 用于访问数组中的某个元素。2簇( Cluster) 是另一种数据类型, 它的元素能够是不同类型的数据。它类似于C语言中的stucture。使用簇能够把分布在流程图中各个位置的数据元素组合起来, 这样能够减少连线的拥挤程度。减少子VI的连接端子的数量。
30、l 捆绑( Bundle) 数据Bundle功能将分散的元件集合为一个新的簇, 或允许你重置一个已有的簇中的元素。能够用位置工具拖曳其图标的右下角以增加输入端子的个数。最终簇的序是取决于被捆绑的输入的顺序。右图中Bundle图标中部的Claster端子用于用新元素重置原簇中的元素。l 分解( Unbundle) 簇 Unbundle功能是Bundle的逆过程, 它将一个簇分解为若干分离的元件。如果你要对一个簇分解, 就必须知道它的元素的个数。LabVIEW还提供一种能够根据元素的名字来捆绑或分解簇的方法, 稍后介绍。3 图形显示对于虚拟仪器面板设计是一个重要的内容。在LabVIEW的图形显示功
31、能中Graph和Chart是两个基本的概念。Chart是将数据源( 例如采集得到的数据) 在某一坐标系中, 实时、 逐点地显示出来, 它能够反映被测物理量的变化趋势。而Graph则是对已采集数据进行事后处理的结果。它先将被采集数据存放在一个数组之中, 然后根据需要组织成所需的图形显示出来。它的缺点是没有实时显示, 可是它的表现形式要丰富得多。三、 实验设备 安装有LabVIEW的计算机。四、 实验内容1练习数组的基本创立方法, 编辑一个利用循环的自动索引( auto-indexing) 功能创立一个装有10个随机数的数组。提示: 利用随机数产生函数, 循环10次产生一数组。2编辑下列VI, 理
32、解二维数组的产生, 存为Two Dimensional Array Demo.vi。前面板: 程序框图: 五、 实验注意事项图4.1 Two Dimensional Array3.创立一个VI, 实现将输入控件值与输入数组合并连接起来生成新的数组。该VI使用数组大小( Array Size) 和初始化数组( Initialize Array) 两函数来创立维数合适的新数组, 并将新数组的所有元素初始化为1。最后, VI计算两新数组间的差, 并将结果显示在前面板中。前面板和基本程序框图组成如图4.2, 最后将该VI保存为Practice with Arrays .vi文件。图4.2( 1) Pr
33、actice with Arrays前面板图4.2( 2) Practice with Arrays程序框图组成4创立由一个控件簇和一个显示簇所组成的VI, 要求控件进行操作时, 显示簇同时进行相应的显示。前面板组成如图4.3, 最后将该VI保存为Cluster.vi文件。提示: 应用捆绑( Bundle) 与分解( Unbundle) 函数图4.3 Cluster前面板5创立一个VI, 用Chart和Graph分别显示40个随机数产生的曲线, 比较程序的差别: 前面板及流程图如下图4.4 Chart和Graph的比较五、 实验报告与总结1调试编辑以上VI, 画出以上VI的程序框图。2学会应用
34、基本数组函数的编程。3总结Chart和Graph的使用区别。4心得体会及其它。实验四 LabVIEW编程的数据采集实验一、 实验目的1学习采用Express VI 进行数据采集。2掌握波形的产生与采集, 采集并显示一个模拟信号波形。3了解Measurement &Automation, 练习使用NIDAQmx使用MAX检查、 配置和测试一个设备。二、 实验原理1LabVIEW中一个重要的新元素称为Express VI。这些Express VI可用于快速构建完成公共测量任务( 例如数据采集) 所需的VI。由于Express VI是采用对话框配置实现的, 因此它们是所需连线最少的节点。Expres
35、s VI的思想是经过对话框进行交互式操作来快速配置VI。 在函数面板上, Express VI位于Express 类别。Express VI采用动态数据类型在Express VI间传递数据。用于采集任务的Express VI包括: DAQ助手、 仪器I/O助手、 仿真信号和读取测量文件。双击Express VI就会出现一个对话框, 在此对话框中能够经过配置VI来满足需求。2 DAQ系统DAQ数据采集系统, 主要实现的任务就是测量或生成物理信号。一个DAQ系统一般具有一套获取、 处理原始数据, 分析传感器和转换器, 信号调理以及显示、 存储数据的软件。DAQ系统工作主要在基于计算机的系统测量到物
36、理信号之前, 经过传感器( 或转换器) 将物理信号转换为电信号, 并将该信号进行调理。插入的DAQ卡, 将所测量的信号转换为数字信号, 并采入计算机中。DAQ系统由软件控制, 获取数据行, 分析数据并得出结论。3Measurement &AutomationMeasurement &Automationo数据采集界面具有一个类似向导的交互式界面, DAQ助手, 可用来选择采样速率、 触发、 计时、 时钟选择、 缩放、 信号类型和其它稳定性配置, 同时也提供了最佳单点采集和多线程性能。Measurement Studio和I/O硬件驱动之间的紧密结合为工程师提供了最有效的方式来完成进行测量所需的
37、采集和仪器应用, 而且极大地减少了开发时间。NI Measurement &Automationo 是为Visual Studio .NET和Visual Studio 6.0环境提供的一个集成式套件, 包括各种常见的测量和自动化控件、 工具和类库。NI Measurement &Automationo带有的ActiveX和.NET控件、 面向对象的测量硬件接口、 高级的分析库、 科学的用户界面控件、 测量数据网络化、 向导、 交互式代码设计器和高扩展性类库等功能, 极大的减少了您应用程序的开发时间。Measurement &Automationo使用交互式测量工具来简化数据采集和仪器连接的操
38、作。DAQ助手和仪器I/O助手都是常见的.NET设计器, 包括对测量任务配置、 测试和编程的逐步引导, 它们自动生成自定义的底层代码。利用DAQ助手, 您能够快速的配置数据采集任务, 包括自定义计时、 标度和触发等而无需编程。利用仪器I/O助手, 您能够直接与GPIB、 以太网、 USB、 串行总线和VXI仪器通信。您能够使用这个交互式向导来对仪器控制系统设计原型、 快速进行测量、 自动解释数据、 生成代码, 甚至开发简单的仪器驱动。 三、 实验设备 安装有LabVIEW, Measurement &Automation的计算机。支持NI-DAQmx的数据采集设备(DAQ).四、 实验内容1使
39、用Express VI创立一个VI, 实现以前面板设定的振幅产生锯齿波信号, 并在前面板上以图形方式显示出来, 将该VI保存为Simulate Signal.vi文件。该信号频率设为100HZ, 每秒采样设为3000, 自动方式确定采样数。使用的函数: Simulate Signal Express VI.注意该函数的选择配置( 双击) 。前面板及程序框图如图5.1图5.1 Simulate Signal Express改变Simulate Signal Express VI.的参数配置, 实现其它波形的产生。2在程序框图中添加Express VIs和结构, 来创立一个新的VI程序, 将该VI
40、保存为Reduce Samples.vi文件。新的VI程序实现产生信号、 减少信号的采样点, 并在前面板的表格中显示最终数据。前面板如图5.2所示。 提示: 添加一个模拟信号的Express VI, 配置Simulate Signal Express VI, 以产生一个频率为10.7、 振幅为2的正弦波。 然后产生信号进行调整, 选择Sample Compression Express VI, 配置Sample Compression Express VI, 指定平均因子为25, 来减少信号的样本点数。利用连线工具, 将Simulate Signal Express VI的Sine输出端连接到
41、Sample Compression Express VI的Signals输入端。 图5.1 Reduce Samples将Sample Compression Express VI的Mean作为输出, 连同Simulate Signal Express VI的输出信号共同显示在Graph Indicator上。注意, 应用合并信号函数(Merge Signal Function)实现双信号的显示。 Mean端同时创立一个数字显示件显示Mean值。Sample Compression Express VI Enable输入端来创立Enable开关控制。循环实现两信号显示, 并用停止控件控制循环
42、退出。3 使用MAX检查、 配置和测试一个设备。按照下列步骤使用MAX检查计算机中的DAQ设备配置, 并使用MAX中的测试程序确认设备操作。如没有DAQ设备, 能够根据A创立一个模拟设备中的指令模拟一个设备。1) 双击桌面上的图标或在LabVIEW中选择工具汾MeasurementAutomation Explorer都能够启动MAX。MAX搜索计算机上已安装的NI硬件, 并显示相关信息。A创立一个模拟设备2) 创立一个NI-DAQmx模拟设备能够保证在没有硬件的条件下完成这一章中的练习。如果安装了DAQ设备, 能够跳过这一步, 直接进行B部分的练习。*展开Devices and Interf
43、aces。*右键单击NI-DAQmx Devices, 并选择Create New NI-DAQmx DeviceNI-DAQmx Simulated Device。*在Choose Device对话框中选择M Series DAQNI PCI 6225。*单击OK。B检查DAQ设备设置3) 展开Devices and Interfaces。4) 展开NI-DAQmx Devices, 查看已安装的使用NI-DAQmx驱动程序的NI设备。5) 选择NI-DAQmx Devices中列出的设备。图5.2显示了PCI-MlO-16E-4设备。图5.2Devices and Interfaces部分
44、展开的MAX图5.3 设备路径MAX显示了计算机中的NI硬件和软件。设备号出现在设备名之后, 用引号分隔。DataAcquiSition VI根据这个设备号来决定哪一个设备执行DAQ操作。MAX还显示了设备的其它属性, 如设备所占用的系统资源。安装的设备可能不同, 显示的一些选项也可能不同。单击MAX右上角的ShowHeIpHide Help按钮, 隐藏在线帮助, 并显示DAQ设备信息。可是, Show HelpHide Help按钮只出现在特定几种情况中。6) 如图5.3所示, 选择Device Routes页, 查看能够被发送到设备上其它地方的内部信号的详细信息。这是一种强大的资源, 能够
45、直观地表示那些经过设备组件和其它外部设备提供定时和同步功能的信号。7) 如图5.4, 选择Calibration页, 查看上一次在设备内部和外部校准的信息。图5.4 校准8) 右键单击配置树中的NI-DAQmx设备, 选择Self-Calibrate以便用精密电压参考源校准DAQ设备, 并更新内置的校准常数。设备校准完毕后, Calibration选项卡中的Self Calibration信息也随之更新。如果使用的是模拟设备, 请跳过这步。C测试DAQ设备组件9) 单击SeIf-Test按钮测试设备。该步骤测试分配给设备的系统资源。因为设备已经配置好, 因此应该能经过测试。10) 单击Test