您的当前位置:首页正文

labview实验指导书 (2)()

2021-05-09 来源:钮旅网
 实验1 LabVIEW编程环境与基本操作实验

一、实验目的

●了解LabVIEW 7 Express的编程环境。

●掌握LabVIEW的基本操作方法,并编制简单的程序。

二、实验设备

安装有LabVIEW 7 Express的计算机

三、实验内容

1、LabVIEW的工作环境 1)启动界面

对话框各按钮作用如下:

【New】——创建一个新的VI(Virtual Instument)程序。 【Open】——打开一个已有的VI程序

【Configure】——设置NI的测量和控制工具,如DAQmax的设置 【Help】——LabVIEW帮助

2)面板窗口和框图程序窗口 ①前面板窗口工具栏:

(Run,运行) (Pause/Continue,暂停/继续)

(Text Settings,字体设置)

(Distrbute Objects,分布方式) ②框图程序工具栏

(Highlight Execution,高亮执行) (Start Single Stepping)

(Start Single Stepping,单步执行) (Step Out)

(Abort Execution,终止运行) (Run Continuously,继续运行) (Align Objects,排列方式) (Reorder,重叠方式)

2、LabVIEW模板介绍

1)工具模板(Tools Palette) 2)控制模板(Control Palette)3)功能模板 (Functions Palette) 3、LabVIEW程序设计的一般过程 1)前面板设计

使用输入控件器和输出指示器来构成前面板。控制器是用户输入数据到程序的方法,而指示器显示程序产生的数值。 2)框图程序的组成

框图程序由节点、端口和连线和组成。

前面板 框图程序

3)从框图程序创建前面板对象 用任意LabVIEW工具,用户都可以用鼠标右键单击任意的LabVIEW功能函数

或者子程序,然后可以弹出其快捷菜单。 4)数据流编程

VI程序的运行是“数据流”驱动的。对一个节点而言,只有当它的输入端口上的数据都有效以后,它才能被执行。当节点程序运行完毕后,它把结果数据送给所有的输出端口。“数据流”与常规程序的“控制流”相类似,相当于指令执行的顺序按照程序的编写顺序。

如下图,这个VI程序把两个输入数值相乘,再把乘积减去50。 下面简单介绍这个VI框图程序的创建过程:

①选择框图程序窗口。在功能模板中选择Numeric下的Multiply(乘法)函数,放入框图程序窗口。

②在此函数图标的左端输入端口上单击右键,从弹出的对话框中选择CreatControl,创建一个与它相连的控制器。

③重复上面的步骤,创建第二个控制器同乘法函数的连接。

④在功能模板中选择Numeric下的Subtract(减法)函数,放入框图程序窗口。 ⑤在此函数左端相应输入端口上单击右键,从弹出的对话框中选择CreatConstant,创建一个常数。

⑥在此减法(Subtract)函数右端输出端口上单击右键,从弹出的对话框中选择CreatIndicator,创建指示器。 ⑦用连线工具连线。

实验2 Labview编程结构实验

一.实验目的

学习并掌握For循环和While循环以及它们的不同点。

学习移位寄存器(Shift Register)和反馈节点(Feedback Node) 学习顺序结构(Sequence Structure),Case结构和公式节点(Formula Node) 的

使用。

二.实验设备

安装有Labview 7 Express的计算机

三.实验内容

1.For循环和While 循环

当程序有循环次数时,我们使用For循环。在程序框图中添加For循环(Function—All Function---Structures—For Loop)

图2---1 For循环示意图

当具体的循环次数不可知时,我们使用While循环(Function—All Function---Structures—While Loop)

图2---2 While 循环示意图

Labview 7 Express对While循环还提供了一个快捷方式:(Function—Execution---Control—While Loop),与上面不同是自动加了一个停止按纽。

2.移位寄存器和反馈节点

2.1移位寄存器(Shift Register)

移位寄存器可以将数据从一个循环周期传递到另外一个周期。在程序设计中,经常要用到它.创建一个移位寄存器的方法是,用鼠标右键单击循环的左边或者右边,在快捷菜单中选择 Add Shift Register。如右图所示。 移位寄存器在流程图上用在循环边框上相应的一对端子来表示。右边的端子中存储了一个周期完成后的数据,这些数据在这个周期完成之后将被转移到左边的端子,赋给下一个周期。移位寄存器可以转移各种类型的数据--数值、布尔数、数组、字符串等等。它会自动

适应与它连接的第一个对象的数据类型。下图表示了它的工作过程.

图2-3 Shift Register的工作过程

2.2反馈节点(Feedback Node) 反馈节点是Labview 7 Express新增的功能,完成的功能同移位寄存器类似,在循环While或For循环中,只要将其中的子VI,函数的输入/输出相连接,就会自动出现反馈节点。当然也可以通过(Function—Execution Control—Feedback Node)来添加。在反馈节点上单击右键,从中选择Replace With Shift Register,反馈节点变成移位寄存器如下图所示: 图2-4 为While循环设置移位寄存器 图2-5 为For循环设置移位寄存器 3.分支结构:Case

3.1 Case结构含有两个或者更多的子程序(Case),执行那一个取决于与选择端子或者选择对象的外部接口相连接的某个整数、布尔数、字符串或者标识的值。必须选择一个默认的Case以处理超出范围的数值,或者直接列出所有可能的输入数值。Case结构见下图,各个子程序占有各自的流程框,在其上沿中央有相应的子程序标识:Ture、False或1、2、3…。按钮用来改变当前显示的子程序(各子程序是重叠放在屏幕同一位置上的)。 按钮 条件端 2-6 使用 Case结构

目的:创建一个VI以检查一个数值是否为正数。如果它是正的,VI就计算它的平方根,反之则显示出错。

打开一个新的前面板,并按照下图所示创建对象。控制对象用于输入数值,显示对象用于显示该数值的平方根。 流程图

3.2.照下图创建流程图。

图2-7 练习2-4的面板和流程图

1.从Functions?Structures中选择一个 Case结构,并放置在在流程图中。Case 结构是一个可以改变大小的方框。先来做Ture的情况,照流程图上半部分构造。 (Functions?Comparison)——如果输入数值大于或者等于0就会返回一个TRUE

子程序标值。Square Root 函数(Functions?Numeric)——返回输入数值的平方根。 连好线

2.点击Case框的选择按钮,转入False情况编程

数值常数(Functions?Numeric)——这里用于显示错误的代数值-999.00。 One Button Dialog函数(Functions?Time & Dialog)——在这里它用于显示一个对话框,内容是Error...。

3.字符串常数 (Functions?String)——用Edit Text Tools在对话框中输入字符串。

4.该VI在TRUE或者FALSE情况下都会执行。如果输入的数值大于等于0,VI会执行TRUE Case,返回该数的平方根,否则将会输出-999.00,并显示一个对话框,内容为Error...。

5.返回前面板,运行该VI。修改标签为Number的数字式控制对象的数值,分别 尝试一个正数和负数。注意,当把数字式控制对象的值改为负数时,LabVIEW会显示Case结构的FALSE Case中设置的出错信息。

保存该 VI 到LabVIEW\\Activity 目录中的Square Root.vi。 4.顺序结构(Sequence Structure) 4.1 在代码式的传统编程语言中,默认的情况是,程序语句按照排列顺序执行,但LabVIEW中不同,它是一种图形化的数据流式编程语言。在图2-7左图中,假设有A、B、C、D4个节点,其数据流向如右图所示。按照数据流式语言的约

ABC图2-8 顺序结构的说明

定,任何一个节点只有在所有的输入数据有效时才会执行,所以图中,当且仅当A、B、C3个节点执行完,使得D节点的3个输入数据都到达D节点后,D节点才执行。但是你要注意,这里并没有规定A、B、C3个节点的执行顺序。在LabVIEW中这种情况下,A、B、C的执行顺序是不确定的,如果你需要对它们规定一个确定的顺序,那就需要使用。

图2-8中的右边是顺序结构的图标,它看上去像是电影胶片。它可以按一定顺序执行多个子程序。首先执行0帧中的程序,然后执行1帧中的程序,逐个执行下去。与Case结构类似,这多帧程序在流程图中占有同一个位置。 4.2 使用顺序结构

目的:创建一个 VI,计算生成等于某个给定值的随机数所需要的时间。 打开一个新的前面板,并按照下图所示创建对象。

图2-9 前面板

我们约定数据是0到100范围的整数。当前值用于显示当前产生的随机数。“执行次数”用于显示达到指定值循环执行的次数。匹配时间用来显示达到指定值所用的时间。 流程图

图2-10 流程图(共3帧)

(Functions?Structures)。

DAdd Frame After,创建一个新帧。重复这个步骤,再创建一个帧。共3桢。 Add Sequence Local,创建顺序局部变量。顺序局部变量显示为一个空的方块。当您将某个功能函数与顺序局部变量相连时,方块中的箭头就会自动显示。 Tick Count (ms) 函数(Functions?Time & Dialog)——返回启动到现在的时间(以毫秒为单位)。在这里例子里需要使用两个这个函数。另一个在第2帧中。

Round to Nearest函数(Functions?Numeric)——在该例中,它用于取0到100之间的随机数到距离最近的整数。

Not Equal?函数(Functions?

Comparison)——在该例中,它将随机数和前面板中设置的数相比较,如果两者不相等会返回TRUE值,否则返回FALSE。Increment函数(Functions?Numeric)——在该例中,它将While循环的计数器加1。

Tick Count (ms)功能函数将以毫秒为单位表示当前时间。这个数值被连到顺序局部变量,这样它就可以被后续的帧使用。在第1帧中,只要函数返回的值与指定值不等,VI就会持续执行While循环。在第2帧中,Tick Count (ms)功能函数以毫秒为单位返回新的时间。VI从中减去原来的时间(由第0帧通过顺序局部变量提供)就可以计算出花费的时间。

Number to Match控制对象中输入一个数值,执行该VI。 LabVIEW\\Activity 目录下Time to Match.vi。 5.公式节点(Formula Node)

公式节点是一个大小可变的方框,可以利用它直接在流程图中输入公式。从Functions?Structures中选择公式节点就可以把它放到流程图中。当某个等式有很多变量或者非常复杂时,这个功能就非常有用。例如等式:y = x2 + x + 1使用公式节点可以表示为:

图2-10 公式节点示意图

利用公式节点可以直接输入一个或者多个复杂的公式,而不用创建流程图的很多子程序。使用文本编辑工具来输入公式。创建公式节点的输入和输出端子的方法是,用鼠标右键单击第0帧的底部边框,选择Add Input (Add Output)。再在节点框中输入变量名称。变量名对大小写敏感。然后就可以在框中输入公式。每个公式语句都必须以分号(;)结尾。

公式节点的帮助窗口中列出了可供公式节点使用的操作符、函数和语法规定。一般说来,它与C语言非常相似,大体上一个用C写的独立的程序块都可能用到公式节点中。但是仍然建议不要在一个公式节点中写过于复杂的代码程序。 下面这个例子显示了如何在一个公式节点中执行不同条件时的数据发送。 请阅读下面这段程序代码,如果X为正数,它将算出X的平方根并把该值赋给Y,如果X为负数,程序就给Y赋值-99。

if (x >= 0) then

y = sqrt(x) else

y = -99 end if

可以用公式节点取代上面这段代码,如下图所示:

注意:公式节点中变量字母X,Y大、小写是有区别的,开方的函数sqrt(X)中函数名称是小写。

目的:创建一个VI,它用公式节点计算下列等式:

y1 = x 3 – x 2 + 5 y2 = m* x + b x的范围是从0到10。可以对这两个公式使用同一个公式节点,并在同一个图表中显示结果。 前面板:

图2-11 练习2-6的面板

1.打开一个新的前面板,按照上图(该图中包含运行结果)创建前面板中的对象。波形图显示对象用于显示等式的图形。该 VI使用两个数字式控制对象来输入m和b的值。

2.按照下图创建流程图。

图2-12 练习2-6的流程图

在创建某个输入或者输出端子时,必须给它指定一个变量名。这个变量名必须与公式节点中使用的变量名完全相符。

公式节点中,在边框上单击鼠标右键,在快捷菜单中选择Add Input,可以创建三个输入端子。在快捷菜单中选择Add Output,创建输出端子。 1.x的范围是从0到10(包括10),就必须连接11到计数端子。 2.Build Array (Functions?Array)——在这个例子中,它用于将两个数据构成数组形式提供给一个多曲线的图形中。通过用变形工具拖拉边角就可以创建两个输入端子。

3.返回前面板,尝试给m和b赋以不同的值再执行该 VI。

4.把该VI保存为 LabVIEW/Activity 目录下的Equations.vi。

三.作业

1.说明循环和循环的区别 2.用结构编写一个小程序 3.用顺序结构编写一个小程序

4.使用公式节点时,如果输入变量的名称同输出变量的名称相同会怎么样?

实验3 LabVIEW图形、数组、簇编程实验

一、实验目的

1.学习如何创建数组和簇,掌握它们的区别以及相应的操作。 2.学习并掌握Chart和Graph的使用,了解他们的区别。 3.Chart的三种显示模式。

二、实验设备

安装有LabVIEW 7 Express的计算机。

三、实验内容

1.数组

数组是一些具有相同类型的元素组成的集合。数组包含两方面的内容:元素

和维数。数组中的元素可以是数字、布尔、字符、路径、波形和簇等数据类型。

建立数组的步骤如下:

从数组和类子模板(Control → All Controls → Array&Cluster)上

选中数组(Array),放置在前面板设计窗口中,此时为一个数组空壳,可以向里面添加(用拖拽的方法)数字、布尔、字符等数据类型的控制器或指示器,来建立相应的数组控制器和指示器。此时可以看到数组上有如下两个显示窗:

标号显示窗——标号从0开始,每单击一次“增加”键,标号显示值顺

序递增。

这个标号就是数组元素的序号;对于一个含n个元素的数组,其标号为0~n-1。

元素显示窗——用来显示元素的数值。数组中的元素按序号排列。数组元素的查找按行/列标号进行。

右键单击标号窗口,弹出一个快捷菜单(如图3-1所示),选择Add Dimension来增加数组的维数。每单击Add Dimension选项一次,维数就增加一维。

图3-1 增加数组维数

2.簇

簇相当于一个容器,容器中的元素可以是各种不同的数据类型。也就是说,可以在一个簇中放置控制模板上的各种控件,如数字控件、布尔控件、数组控件等,但是不能将输入控件和输出控件同时放入其中。因此,在编辑流程图时,可以减少连线数以及连线的节点数,最终简化流程图。它有多个输入,一个输出。

要建立簇,可选择控制模板中数组和类子模板(Control→All Control→Array&Cluster)上的Cluster,将其调入前面板。向类控件中放入元素,即将控制模板中的相应控件放入其中,俗称把元素“捆绑”在一起。

右键单击簇控件的边框,弹出一个快捷菜单,如图3-2所示。

图3-2 簇

快捷键菜单中前8项的功能与数字控件相同,后3项说明如下:

Reorder Control In Cluster ——用于设置类控件中各元素的排列顺

序,这个排列顺序是输出信号的顺序,如图3-3所示。

图3-3 Reorder Control In Cluster举例 图3-4 AutoSizing设置

AutoSizing ——单击该选项后,出现如图3-4所示的快捷菜单,选择

相应的选项,可自动调节类控件的边框大小以及排列方式。

Properties ——用来定义类控件的一些属性,如上述的“AutoSizing”,

改变标签(Label)的名称等内容。

数组和簇的区别如下:

簇可以包含不同的数据类型,而数组仅可以包含相同的数据类型。 簇具有固定的大小。 3.图形子模板

LabVIEW的图形子模板(Control → All Control → Graph)提供完成各种图形显示功能的控件。这里主要介绍图形子模板中3种常用的控件:Waveform Chart,Waveform Graph和XY Graph。

1)Waveform Chart控件

它完成信号的动态显示,即每接收到一个(或一组)数据,就立即显示一个(或一组)数据,但显示的所有数据的总个数或波形的长度是一定的。有3种模式:

 Strip Chart ——每接收一个新数据,该数据显示在前一个数据的右侧,当曲线到达显示区的右边缘时,原有数据曲线左移。

 Scope Chart ——当数据曲线到达显示窗口的右边缘时,曲线被清除。  Sweep Chart ——在新数据开始的地方出现一条竖直线,随曲线右移。 右键单击Waveform Chart,弹出一个快捷菜单,主要功能如下: a) Visible Items

当选择Visible Items选项时,弹出子菜单如图3-7所示。

图3-7 Visible Items子菜单

b) Create

选中Create,弹出得快捷菜单如图3-8所示,可以用来创立局部变量和属性节点、设置Waveform Chart的参数和调用节点。

图3-8 Create子菜单 c) X Scale

单击X Scale,弹出的快捷菜单如图3-9所示。 图3-9 X Scale子菜单

d) Properties

单击该选项后,探出一个对话框,可从中设置Chart的一些参数性质,也可以看作是以上介绍的一些选项功能的集合。

2)Waveform Graph

它用于完成信号的静态显示,用于数据处理结果的显示。它与Waveform Chart菜单的主要区别为:一是没有Chart History Length选项;二是在Visible Items选项中增加了Cursor Display选项,用该选项可以跟踪特点的数据变化过程。

3)XY Graph

它用于显示数据坐标{X,Y}之间的函数关系,即控件的横轴为X,纵轴为Y。它与Waveform Graph菜单相比,主要区别是没有Transpose Array选项。

Chart和Graph的区别在于它们的数据显示和更新方式。Chart用来实时

显示数据,新得到的数据不断代替老数据;Graph用来将已获得的全部数据一起显示在图表中。

Waveform Graph和XY Graph的区别为:前者用来绘制均匀采样的波形,

后者是通常意义上的笛卡尔图。如果数据出现的间隔没有规律,或者想要绘制的两个变量之间相互依赖,则使用后者。

四、例子

利用For循环建立一个一维数组并给出数组中的元素个数;建立一个二维

数组给出数组中元素个数,并计算出最大、最小值。程序框图如图3-10所示。

Random Number (Functions → All Functions → Numeric → Random Number)——产生一个0~1之间的随机数。 

Array Size (Functions → All Functions → Array → Array Size)——给出数组的大小。输入为一维数组时,输出数组的个数;输入为二维数组时,输出值为一个一维数组。

Array Max&Min(Functions → All Functions → Array → Array Max&Min)——给出输入数组中元素的最大值、最小值。

前面板如图3-11所示。

图3-10 框图程序 图3-11 前面板

五、作业

1. 简述Chart和Graph的区别。

2. Chart的三种工作模式是什么?简单介绍各自的工作方式。 3. 对于下面的二维数组,回答如下问题:

247516934525849

1) [1,3]中的元素值是什么? 2) 在对此二维数组使用Array Subset函数时,如果输入为:

index=2, length=3,

index=3, length=2,

输出是什么?

4. 簇和数组的区别是什么?

实验4 字符串、文件I/O和属性节点编程实验

实验目的

学习字符串方面的知识。

用LabVIEW编写一些简单的VI数据管理程序,以完成对文件的输入/输 出控制。

了解属性节点如何作为前面板转换的方法。 学习不同的字符排列方式

学习从一个用户接口访问文件。 学习特性节点的执行次序。

实验设备

安装有LabVIEW 7 Express的计算机。

实验原理

1、字符串

一个字符串是指一个可显示或不可显示的ASCⅡ字符序列,不可显示的字符如换行符、制表位等。字符串为信息和数据提供了一个独立的平台格式。如图所示为字符串函数面板。

以下各项列出了更多字符串的常用范围:

● 创建简单的文本信息。

● 以字符串的形式传输数值型数据到仪器,并重新把这些字符串转换为数

字数据。

● 存储数值型数据到磁盘。要以ASCII文件的形式存储数值型数据,必须

在数值型数据写入磁盘文件之前把数值型数据转换为字符串。 ● 以对话框形式对用户做出指示或提示。

在前面板中,字符串以表(table)、文档条目框以及标题的形式出现; 在框图中,使用字符串函数对字符串进行编辑和操作。

在Functions→All Fuctions→String中找到字符串函数板,并可以以如下方式对字符串进行编辑:

● 寻找、检索以及在一个字符串里更换字符或子串。 ● 在一个字符串里把所有的文本文档改为大写或小写。 ● 在一个字符串里寻找和检索匹配的模式。 ● 在一个字符串里检索一个队列。

● 在一个字符串里旋转和反转一个文本文档。 ● 连接两个或更多的字符串。 ● 在一个字符串里删除字符。

要想在其他VI、函数以及应用中使用相同的数据,用户通常必须将数据转换为一个字符串,并将其转化为其他VI函数以及应用中能够识别的格式,

如Microsoft Excel就其中包含界定符函数的字符串,能够将数字和单词分割成数据元。

2.文件输入/输出(File I/O)

一般,高级的文件输入/输出程序用来完成常见的输入/输出操作,使用方便,低级的文件输入/输出程序用来单独控制每一个文件的输入/输出操作,使用它们可编出符合特殊要求的输入/输出程序。文件输入/输出功能面板如图所示:

实验内容

1.VI中的文件写

完成以下各步,建立连接一个消息串、一个数字的以及单位字符串到一个文件里的将要建立另一个VI来完成文件读取和展示其内容的VI。 ●打开一个新的VI并构造如图所示的前面板:

● 在Controls→All Controls→String&Path模板中放入一个路径指

示器。这个指示器可以显示所创建文件的路径。

● 右键单击String to Write,并在弹出的快捷键菜单中选择Visible

Items→Scrollbar,以显示一个滚动条。 ●构建框图程序:

● 放置在第1步构造的那个VI字符串。这个VI连接三个字符串到一个

组合后的字符串里。

● 在FuctionsAll→Fuctions→FileI/O面板中找到

Open/Creat/Replace File VI,这个示创建或打开文件的对话框。 ● 用连线工具选中Open/Creat/Replace File VI模块中的prompt输

入端,单击右键,从弹出的快捷菜单中选择Create→Constant,创建一个字符串常量,并输入“Enter Filename”。

● 右键单击function输入端,并在弹出的快捷菜单中选择Creat→

Constant,使用Operating Tool(操作工具)来选择新建或者替代。 ● 在Functions→All Functions→File I/O面板中找到Write File

函数,这个函数可将连接后的字符串写入到文件中。

● 在Functions→All Functions→File I/O面板中找到Close File

函数,这个函数用于关闭文件。

● 在Functions→All Functions→File I/O面板中找到Simple Error

Handler VI函数,它能够检查错误串并在错误出现的时候显示对话框。

●以“Write.vi”为名保存该VI文件。

●改变前面板的控制参数值并运行该VI文件,一个Enter Filename会随

之出现。

●输入“demofile.txt”并单击[Save]或者[Ok]按钮,读者可自己查看

demofile.txt中的内容。

2.VI中的文件浏览

完成以下各步操作,建立一个VI,读取第二部分所建立的文件,并显示这个字符串的信息:

(1)打开一个新的VI并用Controls→All Controls→ String&Path面板中的路径控制,构造如图所示的前面板。

(2)以“Reader.vi”为文件名保存该VI。

(3)在路径控制中单击Browse,使用操作工具演示前面板。 (4)选择“demofile.txt”并单击[Open]或者[Ok]按钮。

(5)运行VI String Read from File显示文件所包含的内容。

五.实验报告

1.写出下列各串的显示方式

a.

b.

c.

d.

2.怎样通过一个对话框来访问一个文件?

实验5 波形测量实验

一.实验目的

1.运用数字示波器、频率计数器和数字万用表完成波形的测量。 2.运用这些不同的仪器论证测量出来的波形、周期、频率和电压值。 3.比较各个测量出来的信号。

二.实验设备

1. 一台安装了LabVIEW 7Express软件的计算机。 2. PCI-6024E数据采集板。

3. National Instruments SC-2075实验板连接器。 4. 一台函数发生器。

5. 一台能测量和显示频率的数字万用表。 6. 一台数字示波器。

7. 一些同轴电缆线和导线。

三.实验原理

1. 数字示波器

数字示波器是对测量信号的一个关于时间的显示仪器。示波器的显示屏被许多小方格所分割,根据所选择的水平、垂直方向的刻度大小,可以从小方格粗略地读出待测信号的大小。它可以将所测量到的信号的波形在屏幕上显示出

来,根据所显示的波形进行分析。

可以用示波器测量出波形的峰-峰之间的电压和周期。通过峰-峰电压,我们可以得到电压值正弦波的电压均方根值。在实验之前,要尽量想出怎样才能得到三角波和方波的均方根值。 2. 数字万用表

以前,数字万用表还是非常昂贵的工具,而且功能也不象现在的这么丰富。现在的数字万用表从很便宜的袖珍型到多功能带显示的,可谓是种类繁多。这次实验的一个主要是通过数字万用表去测量直流、交流点信号和频率,从而了解数字万用表。注:(所选择的数字万用表是不能测量10HZ以下的交流电。) 3. 函数发生器

函数发生器的功能是输出一个固定频率的波形。三种常用的波形是正弦波、三角波或锯齿波、方波,频率范围为0.5HZ—19HZ. 4.频率计数器

频率计数器的概念很简单,就是测量信号的频率并显示。注:(LabVIEW频率计数器VI的测量范围是0.1HZ到20KHZ。)

频率计数器的面板

四.实验步骤

1.实验准备

 安装好LabVIEW 。

 安装好PCI-6024E面板。

 设置好SC-2075连接实验电路板。

 将PCI-6024E用SH68-68-EP与SC-2075连接好。  设置好PCI-6024E面板。

 连接BK Precision 388A的输出端接到CH0+和CH0-,红色导线连接到正极, 黑色导线连接到负极。在SC-2075连接实验板上用连线连接好。  在LabVIEW文件夹建立\\\\ LabVIEW\\Experiments\\Waveform Measurments文件夹。

 复制Waveform Measurements.llb到刚才建立的Waveform Measurements

文件夹中。

2.实验过程

实验波形为1000HZ的正弦波,2000HZ的方波,0.1HZ的三角波,2MHZ的正 弦波,100HZ的三角波。 1)频率计数器  运行LabVIEW。  打开计算机中\\\\ LabVIEW\\Experiments\\Waveform Measurments文件夹的

Waveform Measurements.llb 文件,然后选择Frequency Counter.vi.  确定好出入通道参数值,要与函数发生器通过SC-2075连接实验板相连

的Frequency Counter.vi的通道信号值相匹配。  单击Frequency Counter.vi.的[RUN]按钮。  开启函数发生器。

Frequency Counter.vi.可以直接测量频率信号,最关键的是如何找到并 记录下有用的数字信号。频率计数器和函数发生器有许多按钮或者选择按键,用来选择门电路时间,这些选择设置告诉计数器如何开始计数。如果计数器开

始计数是在指定时间段,则在此期间会计算出所通过的脉冲数,并能显示出频率值。

 选择最短的门电路时间,检查读数。  选择其他范围检测一下。 2).示波器

(1)找到示波器的电源开关,打开示波器。

(2)将函数发生器的输出端用导线接到示波器的输入端。 (3)用示波器检查函数发生器发出的信号的周期和峰值电压。  切换直流模式。

 调整电压档,以便示波器屏幕能清楚显示出波形曲线。

 调整时间档,以便能 清楚地显示一个周期的波长。用最大量程的时间挡

来看大批足够的一个完整周期曲线。  切换到GND模式。

 调整屏幕上的行线的位置,并作X轴,使屏幕显示整个曲线宽度。  切换到交流模式。同样调整水平、垂直方向的时间档,在数据表格中计

算出并记录下一个完整的周期值。

 用电压档调整波形,计算并记录下从低波峰到高波峰的峰-峰电压值。 (4)计算以上所测量到的电压值的均方根值。 (5)计算和记录以上所测量参数的频率值。 (6)观察在直流模式下的电压值:

1) 转换到直流模式。注意观察显示的波形是不是为直流电压的波形。 2) 用这种方式测量峰值电压,计算出X轴到顶峰的电压差值,将这个值(*2)得到峰-峰值。思考:所得到的这个值和在交流模式下测量到的值是不是一样?为什么? (3)数字万用表

数字万用表是用来测量交流以及直流电压和频率的。

交流和直流电压测量:数字万用表能显示几个数量范围的电压、电流、电阻

值。一些仪表能自动选择所测量到的信号的范围。按照可以得到最大测量值的读取。

选择想测量的(交流和直流电压,电流或者电阻)最大范围的测量数值。 连接万用表和函数发生器。

减少下一个较小值之间的距离转换开关。 重复上一步,直到显示“OL” (超载)。 增加一个量程档。

读出并在数据表格中记录下显示的值。 频率测量:频率仅有一个显示范围。  将万用表的频率档选取KHZ档。  将万用表连接到信号源。

 读出并在数据表格中记录下显示的值。

五:实验分析表格

信号 频率计数器 理论值 实测值 示波器 理论值 实测值 数字万用表 理论值 实测值 频率 周期 峰--峰 电压值 交流电 压值 直流电 压值 实验6 虚拟示波器的设计

一.实验目的:

*学习对前面板以及开发窗口的使用,进一步掌握和熟悉LabVIE W软件。 *利用LabVIEW设计在诸多方面比一般台式传统示波器性能更优越的虚拟 数字示波器。

*通过整个实验设计大致领会并了解LabVIEW软件的其他虚拟仪器的设计方法,从而为将来在实际工程项目使用LabVIEW打下良好的基础。

二. 实验设备:

*一台装有Windows系统的计算机。

*LabVIEW 7 Express或者更高软件版本。 *GPIB接口卡。 *GPIB通信线。

*NI仪器仿真器或者其他GPIB设备(笔者用的是一台带有GPIB接口

TKAPG310任意波形发生器)。

三.实验原理及实验:

1.虚拟数字示波器的介绍

虚拟数字示波器具有以下几个模块:

 数据采集模块——其主要功能是完成数据采集的控制,如采集通道的选

择、触发控制、实时控制等。

 波形显示模块——其主要功能是通过采集到的数据信号,通过程序的处

理在前面板上显示出所测量到的信号波形。

 显示参数设置模块—其功能是通过程序完善信号显示,调节信号波形的

大小以及频率,可以更加容易获得波形的各个参数及其变化。

 数据存储和回放模块——其主要功能是将测量采集到的信号波形通过

单击“存盘”和“写盘”,有记忆性地保留和存储所需要的数据波形。这点是常用数字示波器不具有的,即通过虚拟数字示波器可以完成对波形的保存,从而可随时读取到以前所测试到的数据。

2.下面具体说明一下虚拟数字示波器的设计过程:

(1)在前面板的设计窗口放置控制元件。 (2)在流程图编辑窗口放置节点及框图。

(3)数据流编程。按规定的方式连线 (4)运行检验。

3. 首先对两个通道进行选取,当选取A通道在前面板显示A通道的波形, 选取B通道时显示B通道的波形。若选取两个通道时,在前面板中会显示两条不同的波形。

前面板显示屏

A 通道选取 B通道选取 A和B都被选取时

四. 操作练习

1. 在A通道观察波形。

2. 在B通道观察波形。

3. 在A.B都选取时观察波形。

实验7 基于LabVIEW的温度数据采集系统

一、 实验目的

1、掌握LABVIEW或LabWindows/CVI的编程方法,熟悉LABVIEW或

LabWindows/CVI 程序设计、调试的基本方法。 2、掌握典型计算机数据采集系统的组成及软、硬件基本框架;

3、熟悉数据采集系统设计、信号分析模块、仪器控制模块等各种软件模块的应用。

二、 实验内容和要求

1、利用数据采集卡进行信号采集的系统硬件组成系统;

2.运用LabVIEW或LabWindows/CVI开发平台,设计出互相关测速算法及用

户界面,开展实验研究工作。

3、了解PCI-6024E数据采集卡的技术性能参数,教学演示盒功能及使用,数

据采集卡连接电缆引脚功能定义等;

4、进行DAQ/PCI数据采集卡参数设置;

5、利用中级数据采集模块进行图形化编程,实现模拟信号采集; 6、进行信号波形的时域指标测量与显示,并且进行结果分析研究。

三、 实验主要仪器设备和材料

1、计算机一台(装有LabVIEW或LabWindows/CVI); 2、NI公司的PCI-6024E数据采集卡1块

3、TDS210数字示波器1台,NI公司教学演示盒1个。 4、数据采集卡接口插头一个

5、测量导线若干条。

四、 实验方法、步骤及结构测试

以LabVIEW开发平台为例,实验方法和步骤如下: 1、具体连接方法

本实验的被测量信号是“教学演示盒”上的正弦波和方波信号以及0通道的温度信号。首先确定“教学演示盒”已经通过排线与计算机中的PCI-6024数据采集卡连接,(连接前请关机,不要进行“热插拔”)连接后开机“教学演示盒”上的指示灯会点亮。接着用两条普通电线把盒上的“方波输出”、“正弦波输出”分别与“Analog Input”中的两个通道相连。注意,这里信号源与通道的连接可随意选择,不用限定哪个通道输入哪种信号。当连接完毕,就可以根据具体的连接情况观察检测到实际信号。

2.数据采集卡PCI-6024E的安装检验与参数设置 (1)Measurement & Automation 的调用

Measurement & Automation图标在Windows桌面上,用鼠标点击Measurement & Automation图标后出现硬件检测的浏览窗口。如下图1所示:

图1 硬件检测浏览窗口

(2)检验

若PCI-6024型数据采集卡已经插入PC计算机的PCI插槽中,用鼠标双击浏览窗口下的Device and Interfaces子目录,在右侧窗口出现以PCI-6024为名称的列表项,则表明已经安装成功。

(3)参数设置

用鼠标右击PCI-6024E列表项,弹出PCI-6024E的设置窗口。设置项目有六项:SYSTEM、AI、AO、ACCESSORY、OPC、Remote access。在这次实验中这六项都保留计算机的默认设置;其中System选默认值1,AI项中Polarity选择-10.0V — +10.0V,Mode选择Differential差分输入; ACCESSORY选None;OPC选Disabled ;AO和Remote access项不用设置。 3、采用中级数据采集模块进行模拟信号采集

下面介绍模拟信号采集中用到的几个功能模块:

AInfig.vi模块的功能是对模拟输入硬件进行配制,并分配相应的缓冲区。

AI start.vi模块用于带缓冲的模拟信号采集,它的主要功能是设置扫描速率和每次扫描采集数据的数量,以及触发的条件等参数。然后启动数据采集。

AI read.vi模块的功能是读模拟输入缓冲区的数据。

AI Clear.vi模块用于清除由taskID in标识的模拟输入任务。 实验具体步骤如下:

1)按上图找出四个功能摸块

① Data AcquisitionAnalog inputAI Config.vi ② Data AcquisitionAnalog inputAI Start.vi ③ Data AcquisitionAnalog inputAI Read.vi ④ Data AcquisitionAnalog inputAI Clear.vi 2)找到循环框(Structureswhile loop) 3)将AI Read.vi放入循环框。

4)针对各功能模块创建所需的控键及显示键。

5)找到Error显示功能块(time&dialogsimple errorhardler.vi) 6)在前面板上创建一个显示屏(graphwaveform graph) 7)找到

图标(comparisonequal),用右键创建所需各控键。

8)找到图标(clusterunbundle by name)(注意用右键将select

itemcode 钩上)。

9)用的各功能模块按所给流程图样连好线。

另外要在AI Config.vi中改channels(0)使得内部默认通道无效。方法是右键advancedenabled statedisabled,然后再右键data operationsreinitialize to default value将通道值重新初始化。这时在示波器上将看到多个通道的波形,如果想看一个通道的波形,则应将每个通道值所对应的I/O改成同一值。如果想进行波形分析可在此基础上自行设计。

图中的连接为对通道的信号以每秒1000个采样点的速度连续采集。由于使用“Analog Input.vi”程序每次只是采够设定的采样点并在波形图上显示出来,并不会不断地采集输入的信号,因此我们需要用到一个While Loop循环来进行反复采样。

图2 利用中级数据采集模块进行模拟信号采集的框图程序

其中为前面板中“Waveform Graph”所对应的图标; 为前面板所设定的一个开关按钮,用于在运行过程中关闭程序。具体的流程图连接如图2所示。

4、信号波形时域指标的测量与显示

对于周期性信号,我们主要是测量它的周期、频率以及信号波形两个波峰之间的幅值(峰峰值)。

前面板的设计可以参照“前面板的设计”中的样式,这里不再赘述。下面讲述如何取得被测信号的时域指标。

在Diagram中打开Function Palette,选择Analyze中的Waveform Measurements。在Waveform Measurements中,Pulse Measurements.vi为测量信号周期的vi块;Amplitude and Levels.vi为测量信号峰峰值的vi块。

Pulse Measurements.vi中,我们用到的端口为:signal in,用于输

入波形信号;Pulse duration,输出半个周期的时间,我们可以对其进行乘2得到信号的周期值,对周期值求倒数就可以得到频率值;其余端口可暂时不用连接。

Amplitude and Levels.vi中,我们用到的端口为:signal in,用

于输入波形信号;amplitude,用于输出信号的峰峰值。其余端口也可以暂时不用连接。

框图程序是在“信号波形显示”框图的基础上增加了时域指标的测量与显示功能,这里不重复介绍。 为前面板的文本框在Diagram中所对应的图标,直接连接即可使用。(而最好的办法是用右键创建)添加入时域指标的测量与显示后,具体的连线图留给同学完成。 5、实验结果

根据以上所介绍的实验原理,经过对前面板功能的添加以及外观的修改,可以做成一个如下图所示的数据采集的前面板。 (无时域指标的显示,这部分留给学生完成)

通过对该教学演示盒所模拟产生信号的数据采集实验,实验者应能熟悉并掌握LABVIEW程序的编写过程,特别是对基于PC-DAQ/PCI卡的模拟信号测量以及根据所测得的波形获得波形特征数据这部分内容会有深刻的认识。

图3 数据采集前面板示例

五、 思考题

1、 通过LabVIEW软件采集数据的采样频率怎样设置?

2、 要怎样设置采样点数和采样频率,使相关分析得出的波形更加适合? 3、 实验所用的数据采集卡为NI公司产品,其它公司的数据采集卡能用

LABVIEW编 程实现数据采集吗?

4、 NI公司的PCI-6024E数据采集卡有哪些主要技术参数?

5、 数据采集卡在使用前为何要进行参数设置?PCI-6024E主要进行哪些参

数设置? 6、 利用LABVIEW进行模拟信号数据采集有哪几种方式?有何特点?

各适合于什么场合?

7、

因篇幅问题不能全部显示,请点此查看更多更全内容