2021年最新传感器与虚拟仪器指导书虚拟仪器实验平台
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
2021年最新传感器与虚拟仪器指导书虚拟仪
器实验平台
《传感器与虚拟仪器》实验指导书
王丽编写
通信与电子工程学院
20XX年8月
目录实验一 labview软的基础操作............................................................ ..........3 实验二数据操作实验................................................................ ...................7 实验三数组、簇、字符串.................................................................. .. (18)
实验四
程序结构实验………………………..................................... ...................23 实验五创建子VI……………………………................................. ......................28 实验六图表和图形实
验................................................................ . (3)
1 实验一 labview软的基础操作
一、实验目的
1、熟悉Labview的基本组、前面板、程序框图、快捷和下拉菜单、选项板及在线帮助、VI的创建方法
2、掌握编辑前面板和程序框图的方法
3、学会使用联机帮助
4、运行和调试简单VI程序
二、实验仪器设备
计算机,labview8.6软三、实验原理
1、一个labview程序由一个或多个虚拟仪器组成,虚拟仪器简称为VI,每个VI由前面板、框图和图标三部分组成,框图是VI的源代码,由labview的图形化编程即G语言组成,图标是VI 的图形表示,会在另外的VI框图中作为一个对象使用。
2、所有的LabVIEW
应用程序,即虚拟仪器(VI),它包括前面板(front
panel)、流程图(block
diagram)以及图标/连结器(icon/connector)三部分。
四、实验内容及注意事项
1、启动Labview,查找Labview示例
2、熟悉前面板与程序框图的切换及观察程序流的执行过程
3、随机信号发生器(利用开关控制一系列随机数的产生)
4、打开lianxi3.vi,为其添加程序注释,并运行和调试VI
五、实验步骤:
[练习1] 启动Labview,查找Labview示例步骤:
1.在“新建”窗口中选择“VI-基于模板-使用指南(入门)-生成、分析和显示”,单击后右侧便相应出现该模板VI的程序框图预览和该模板VI的功能说明,然后单击“确定”按钮,便同时打开了“生成、分析和显示”模板VI的前面板和程序框图。
2.单击按钮Run运行该程序
3.改变波形和频率,看看波形和频率的变化
[练习2] 熟悉前面板与程序框图的切换及观察程序流的执行过程
1.在练习1的基础上,利用快捷方式将前面板切换到程序框图。
(ctrl+E)
2.单击高亮度显示按钮观察代码的数据流向。
[练习3]随机信号发生器(利用开关控制一系列随机数的产生)
1、新建“lianxi3.vi”
2、控》查看》图形显示控》波形图表,单击放入前面板中,程序框图也会出现相应的控端子。
3、控》按钮与开关》垂直摇杆开关,单击放入前面板中,
4、在程序框图里单击右键,显示“编程”——然后是“数值”选框,里面有0-1的随机数,挨着“数值常量”,单击放入程序框图中,
5、在程序框图中单击右键,选择编程》结构》while循环,单击放入程序框图中,框住上述端子
6、按照图连线,单击运行按钮,可在前面板中看到波形,单击开关,则
停止。
[练习4] 打开lianxi3.vi,为其添加程序注释,并运行和调试VI
1、采用连续运行、单步运行,高亮度程序运行等方法。
2、在程序框图中设置断点
3、使用探针观察运行时连线上的数据。
(查看》工具选板,里面有设置\清除断点以及探针数据,设置断点后,看探针数据的变化,然后清除断点,再看探针数据的变化)
此为设置断点此为取消断点后,数值一直在变化六、思考题
1、如果程序进入死循环,应操作?
2、查看程序编译错误?
七、对学生实验报告要求
1、实验前做好预习,明确目的、原理、方法,避免和减少错误
2、实验过程中持严肃认真的态度
3、对实验结果必须进行仔细观察和认真记录,得出恰当的结论
4、独立认真完成实验报告
实验二数据操作实验
一、实验目的
1、熟悉几种常见的数据类型
2、熟悉数据类型设定操作
3、掌握数据运算的常用运算方法
4、利用数据操作章节知识完成Labview编程和调试
二、实验仪器设备
计算机,labview8.6软
三、实验原理
1、工具中的第一个手型工具可以修改数值常量的值
2、工具中的第二个手型工具可以修改标签值,即控的名称。
3、右击仪表属性》标尺,可以修改仪表控的显示范围
4、函数》编程》比较中的控,例如,其输出端为真(T)或假(F),两个输入端,在上面的输入端所输入的数值常量要放在比较的前面,例如
,其输出为真,即T,如果,其输出为假,即F
四、实验内容及注意事项
1、假设有一台仪器,需要调整其输入电压,当调整电压超过某一设定电压值时,需要通过指示灯颜色变化发出警告。
2、构建VI,产生两个随机数(在0到1之间)并在仪表上显示两个随机数。
仪表上分别设置标签“Random
number1”和“Random
numb er2”,使其中一个仪表呈蓝色而另一个仪表呈红色。
当红色仪表上随机数值比蓝色仪表数值大时,用一个方形LED显示绿色,否则LED显示黑色。
运行VI几次并观察结果。
3、构建停车信号灯。
创建从0到2变化的刻度盘控,该控具有3个LED显示:绿色、黄色和红色。
当在刻度盘0位置时,使VI打开绿色LED;当在刻度1上时,变为黄色;当在刻度2上时,变为红色。
4、构造VI产生一个-10到10间的随机数。
在VI的前面板上用指示器来显示随机数的值,然后点亮随机数所在范围对应的LED。
用一个LED显示负的随机数,一个LED显示在0到4范围内的随机数,一个LED显示大于等于5的随机数。
改变LED的属性使其点亮时为亮黄色,关闭时为暗黄色。
五、实验步骤:
[练习1]
假设有一台仪器,需要调整其输入电压,当调整电压超过某一设定电压值时,需要通过指示灯颜色变化发出警告。
1、启动Labview程序,单击VI,建立一个新的VI程序,命名为lianxi21.vi。
这时将同时打开Labview的前面板和后面板(框图程序面板)。
在前面板中显示控制模板,在后面板中显示函数模板。
在两个面板中都显示工具模板。
如果模板中没有被显示出来,可以通过菜单“查看/工具选板”来显示工具模板,通过“查看/控选板”来显示控模板(或者是按鼠标右键),“查看/函数选板”来显示函数模板。
如图1所示。
图1
2、前面板设计
输入控制和输出显示可以从控模板的各个子模板中选取。
本设计中,程序前面板中应有1个调压旋钮,1个仪表,1个指示灯,1个关闭按钮共4个控。
1)往前面板添加1个旋钮控:控—新式—数值—旋钮,如图2所示。
鼠标左键框选后,可以移动位置;左键单击后可以改变大小。
双击将标签改为“调压旋钮”,字的大小可以在“应用程序字体”中修改。
2)往前面板添加1个仪表控:控—新式—数值—仪表,如图2所示。
调节方法同上。
标签改为“电压表”。
3)往前面板添加1个指示灯控:控—新式—布尔—圆形指示灯,如图3所示。
按住“shift”同时调整大小,将其调整为大小适中的圆形指示灯。
将标签改为“上限灯”。
4)往前面板添加1个停止按钮控:控—新式—布尔—停止按钮,如图3所示。
将标签改为“关闭”。
设计的程序前面板如图4所示。
保存文,名字取为“输入电压控制”。
图2 添加旋钮、仪表控
图3 添加指示灯、按钮控
图4 程序前面板 3、框图程序设计——添加节点
每一个程序前面板都对应着一段框图程序。
在框图程序中对VI编程,以控制和操纵定义在前面板上的输入和输出功能。
切换到框图程序设计面板,通过函数模板添加节点。
1)添加1个循环结构:如图5所示,以下添加的节点放置在循环结构框架中。
2)添加1个数值常数节点:函数—数学—数值—数值常量,如图6所示,值改为8。
3)添加1个比较节点“≥”:如图7所示。
4)添加1个选择结构:如图5所示。
图5 添加循环结构、选择结构
图6 添加数值常数图7 添加比较节点图8 框图程序——节点布置图1 5)在选择结构的True选项中,添加1个数值常数节点:如图6所示,其值为0。
6)在选择结构的True选项中,添加1个比较节点:如图7所示 7)分别将调压旋钮图标、电压表图标、停止按钮图标从外
拖入循环结构中:将上限灯图标拖入选择结构的True选项中。
添加的所有节点及其布置如图8所示。
8)在选择结构的False选项中,添加1个数值常数节点:如图6所示,值为1。
9)在选择结构的False选项中,添加1个比较节点:如图7所示。
10)添加一个局部变量节点:函数—编程—结构—局部变量,如图9所示。
选择局部变量节点,单击鼠标右键,在弹出菜单的“选择项”选项下,选择对象名称“上限灯”,其读写属性默认为“写”属性。
将该局部变量拖入选择结构的False选项中。
添加的所有节点及其分布置如图10所示。
图9 添加局部变量图10 框图程序——节点布置图2 4、框图程序设计——连线。
如图11、12所示。
使用工具箱中的连线工具,将所有节点连接起来。
当把连接工具放在节点端口上时,该端口区域将会闪烁,表示连线将会接通该端口。
当把连接工具从一端口接到另一端口时,不需要按住鼠标键。
当需要连线弯曲时,单击一次鼠标键,即可以正交垂直方向的弯曲连线,按空格键可以改变转角的方向。
图11 框图程序——连接1 图12 框图程序——连接2 5、运行程序
进入前面板,单击快捷工具栏“运行”按钮,运行程序。
用鼠标“转动”调压旋钮,可以看到仪表指针随着转动;当调整值大于等于8时,上限灯变换颜色。
程序运行画面如图12所示。
图12 程序运行画面 [练习2] 构建VI,产生两个随机数(在0到1之间)并在仪表上显示两个随机数。
仪表上分别设置标签“Random number1”和“Random number2”,使其中一个仪表呈蓝色而另一个仪表呈红色。
当红色仪表上随机数值比蓝色仪表数值大时,用一个方形LED显示绿色,否则LED显示黑色。
运行VI几次并观察结果。
1、在前面板创建两个输入控Random1和Random2,输出控指示灯。
2、在程序框图中添加随机数,并把图标连接。
[练习3] 构建停车信号灯。
创建从0到2变化的刻度盘控,该控具有3个LED显示:绿色、黄色和红色。
当在刻度盘0位置时,使VI打开绿色LED;当在刻度1上时,变为黄色;当在刻度2上时,变为红色。
(注意:将表盘数据类型设置为长整型)
1、在前面板添加旋钮控,三个布尔控绿、黄、红
2、在程序框图中,找到数值常量,并和图标连接。
[练习4] 构造VI产生一个-10到10间的随机数。
在VI的前面板上用指示器来显示随机数的值,然后点亮随机数所在范围对应的LED。
用一个LED显示负的随机数,一个LED显示在0到4范
围内的随机数,一个LED显示大于等于5的随机数。
改变LED的属性使其点亮时为亮黄色,关闭时为暗黄色。
(实现方法:(0-1之间的)随机数*20-10,为布尔型数据“与”)
1、在前面板创建三个布尔控,分别为负数、0-4、》=5
2、在程序框图中添加随机数,数值常量,比较函数等,并连接。
六、思考题
创建上限灯的局部变量?
七、对学生实验报告要求
1、实验前做好预习,明确目的、原理、方法,避免和减少错误
2、实验过程中持严肃认真的态度
3、对实验结果必须进行仔细观察和认真记录,得出恰当的结论
4、独立认真完成实验报告
实验三数组、簇、字符串
一、实验目的
1、掌握创建和使用数组的方法
2、能够使用多种数组内部函数
3、掌握簇、字符串的创建和使用方法
4、学会使用内部函数处理簇和字符串
二、实验仪器设备
计算机,labview8.6软
三、实验原理
1、数组是同类型元素的集合,一个数组可以是一维或者多维,可通过数组索引访问其中的每个元素。
索引的范围是0-n-1,n是数组中元素的个数,数组中的元素可以是数据、字符串等,所有元素的数据类型必须一致。
2、簇的元素可以是不同类型的数据,类似于c语言中的struct,簇可以把分布在流程图中各个位置的数据元素组合起来,额可以减少连线的拥挤程度。
3、数组靠拖动产生行和列,数组最开始被创建时只是一个框架,不包含任何内容,可将相应数据类型的前面板对象放入数组框架中。
4、在前面板上,要得到数组的输出数值时,只要将Express》数值显示控
拖动到数组框架中即可。
5、字符串是ASCII
字符的集合。
如同其他语言一样,LabVIEW
也提供了各种处理字符串的功能,如果想获得字符串的例子,可查看Exles\General\strings.llb。
下面扼要介绍一些内容。
四、实验内容及注意事项
1、字符串练习
2、利用全局变量实现字符串的传递。
3、创建波形数组
4、创建子VI对两个输入矩阵A和B执行矩阵乘。
矩阵A是n×m矩阵,而矩阵B是m×p矩阵。
产生的矩阵C是n×p矩阵,这里C=AB。
5、利用簇模拟汽车控制
6、设计一个公式波形发生器
五、实验步骤:
[练习1]字符串练习设计一个字符串连接与子字符串显示窗口,其前面板设计和程序框图设计如图所示。
1、创建字符串a和字符串b的字符串输入控,创建偏移量和长度的数值输入控,创建连接字符串的字符串显示控,创建length的数值显示控,创建子字符串的字符串显示控。
2、在程序框图中,找到连接字符串函数,截取字符串函数,字符串长度函数
3、把图标和字符串函数连接
[练习2]利用全局变量实现字符串的传递步骤:
(创建全局变量)
1.在labview的启动界面中的new选择创建全局变量global
2.放置字符串输入控。
标签改为字符串全局变量
3.将光标放在该控上,点右键,设置键入时刷新
4.保存,命名为:字符串实例.vi
(创建发送端)
5.新建vi,在前面板放置字符串输入控,标签为“字符串发送端”,点右键,设置键入时刷新。
6.进入程序框图,点击右键选择已经建立的全局变量文
7.照上述框图编写。
8.接收端同理。
9.其前面板设计和程序框图设计如图所示。
[练习3]创建波形数组
1、在前面板中放置一个波形图控。
2、在程序框图中找到for循环函数和捆绑函数,并在for循环内放置波形发生器(编程--》数学--》初等与特殊函数--》三角函数--》余弦)。
3、函数的连接,(捆绑函数不是按名称捆绑,否则出错)
[练习4]创建子VI对两个输入矩阵A和B执行矩阵乘。
矩阵A是n×m矩阵,而矩阵B是m×p矩阵。
产生的矩阵C是n×p矩阵,这里C=AB。
1、在前面板创建两个矩阵。
2、在前面板创建矩阵A和B、C,在程序框图中找到矩阵相乘函数,在线性代数子选板中。
[练习5]利用簇模拟汽车控制,如右图所示,控制面板可以对显示面板中的参量进行控制。
油门控制转速,转速=油门*100,档位控制时速,时速=档位*40,油量随VI运行时间减少。
[练习6]设计一个公式波形发生器,其前面板设计和程序框图设计如图所示。
1、在前面板添加控
2、在程序框图中连接图标。
六、思考题
1、全局变量和局部变量分别创建?
2、参考联机帮助文档,了解其他操作函数
七、对学生实验报告要求
1、实验前做好预习,明确目的、原理、方法,避免和减少错误
2、实验过程中持严肃认真的态度
3、对实验结果必须进行仔细观察和认真记录,得出恰当的结论
4、独立认真完成实验报告
实验四程序结构实验
一、实验目的
1.学习并掌握For循环和While循环以及它们的不同点
2.学习使用移位寄存器和反馈节点二、实验仪器设备
计算机,labview8.6软
三、实验原理
1.
While 循环 While 循环可以反复执行循环体的程序,直至到达某个边界条。
它类似于普通编程语言中的 Do 循环和 Repeat-Until 循环。
While 循环的框图是一个大小可变的方框,用于执行框中的程序,直到条端子接收到的布尔值为 FALSE。
该循环有如下特点:
1)计数从0开始(i=0)。
2)先执行循环体,而后i+1,如果循环只执行一次,那么循环输出值i=0。
3)循环至少要运行一次。
图
While 循环示意图
2.
For循环 For循环用于将某段程序执行指定次数。
和While 循环一样,它不会立刻出现在流程图中,而是出现一个小的图标,而后您可以修改它的大小和位置。
具体的方法是,先单击所有端子的左上方,然后按下鼠标,拖曳出一个包含所有端子的矩形。
释放鼠标时就创建了一个指定大小和位置的For循环。
For循环将把它的框图中的程序执行指定的次数,For循环具有下面这两个端子:
N: 计数端子(输入端子)——用于指定循环执行的次数。
I: 周期端子(输出端子)——含有循环已经执行的次数。
上图显示了一可以产生100个随机数并将数据显示在一个图表上的For循环。
在该例中,i 的初值是0,终值是99。
3.
移位寄存器(Shift Register)
移位寄存器可以将数据从一个循环周期传递到另外一个周期。
在程序设计中,经常要用到它.创建一个移位寄存器的方法是,用鼠标右键单击循环的左边或者右边,在快捷菜单中选择Add Shift Register。
移位寄存器在流程图上用在循环边框上相应的一对端子来表示。
右边的端子中存储了一个周期完成后的数据,这些数据在这个周期完成之后将被转移到左边的端子,赋给下一个周期。
移位寄存器可以转移各种类型的数据--数值、布尔数、数组、字符串等等。
它会自动适应与它连接的第一个对象的数据类型。
下图表示了它的工作过程.
图
Shift Register的工作过程可以令移位寄存器记忆前面的多个周期的数值。
这个功能对于计算数据均值非常有用。
还可以创建其他的端子访问先前的周期的数据,方法是用鼠标右键单击左边或者右边的端子,在快捷菜单中选择Add Element。
例如,如果某个移位寄存器左边的端口含有三个元素,那么就可以访问前三个周期的数据。
4.
分支结构:Case Case结构含有两个或者更多的子程序(Case),执行那一个取决于与选择端子或者选择对象的外部接口相连接的某个整数、布尔数、字符串或者标识的值。
必须选择一个默认的Case以处理超出范围的数值,或者直接列出所有可能的输入数值。
Case结构见下图,各个子程序占有各自的流程框,在其上沿中央有相应的子程序标识:Ture、False或1、2、3…。
按钮用来改变当前显示的子程序(各子程序是重叠放在屏幕同一位置上的)。
子程序标识
按钮条端子
5.
顺序结构(Sequence Structure)
在代码式的传统编程语言中,默认的情况是,程序语句按照排列顺序执行,但LabVIEW中不同,它是一种图形化的数据流式编程语言。
在左图中,假设有A、B、C、D4个节点,其数据流向如右图所示。
按照数据流式语言的约定,
图
顺序结构的说明任何一个节点只有在所有的输入数据有效时才会执行,所以图中,当且仅当A、B、C3个节点执行完,使得D节点的3个输入数据都到达D节点后,D节点才执行。
但是你要注意,这里并没有规定A、B、C3个节点的执行顺序。
在LabVIEW 中这种情况下,A、B、C的执行顺序是不确定的,如果你需要对它
们规定一个确定的顺序,那就需要使用本节介绍的“顺序结构”。
图中的右边是顺序结构的图标,它看上去像是电影胶片。
它可以按一定顺序执行多个子程序。
首先执行0帧中的程序,然后执行1帧中的程序,逐个执行下去。
与Case结构类似,这多帧程序在流程图中占有同一个位置。
五、实验步骤:
[练习1]
写出1+2+3+4+…+100的程序。
(利用移位寄存器实现)
提示:进行第一次运算的是0+0,For循环中的重复端子是从0开始计数,移位即寄存器在没有初始化的情况下,默认的数值是0,所以第一次运算的是0+0,第二次运算的是寄存器的0与重复端子的1相加,所以循环要进行次。
移位寄存器的初始化:移位寄存器的初始化是非常必要的,因为只要用户不退出VI,移位寄存器便可记录上次运算完时的结果,所以上面的程序在第二次执行时输出的结果不是5050,而是00!添加初始化即可。
1、在前面板创建数值显示控
2、在程序框图中创建for循环结构,并在结构上添加移位寄存器
3、将程序框图中各图标连接。
[练习2] 利用While循环和移位寄存器,设计一个控制LED 灯闪烁的VI,LED灯闪烁的时间可以在程序中设定。
1、在前面板上创建停止的布尔逻辑控,等待时间的数值输入控,boolean的布尔逻辑控。
2、在程序框图上,创建while循环,并添加移位寄存器,循环体内添加等待时间、boolean、停止的图标,并连线
3、运行
[练习3]利用case结构的多分支,进行下列简单程序设计要求:星期一显示:新的一周开始了,好好学习!
星期二显示:今天是星期二,继续努力!
星期三显示:今天是星期三,生活愉快!
星期四显示:周四了,继续努力!星期五显示:今天是星期五,站好最后一班岗!星期六显示:周末愉快!星期日显示:好好休息! [练习4] 创建VI,在前面板上放置3个LED。
程序运行时,第一个LED打开并保持打开状态。
1秒以后,第二个LED打开并保持打开状态;再过2秒,第三个LED打开并保持打开状态。
所有LED都保持打开状态3秒,然后程序结束。
提示:使用3帧单层顺序结构,每帧包含延时函数。
六、思考题
1、移位寄存器的作用是什么?
2、for循环和while循环的区别
七、对学生实验报告要求
1、实验前做好预习,明确目的、原理、方法,避免和减少错误
2、实验过程中持严肃认真的态度
3、对实验结果必须进行仔细观察和认真记录,得出恰当的结论
4、独立认真完成实验报告
实验五创建子VI
一、实验目的
熟悉构建和使用子VI,掌握使用Icon
Editor和指定端子二、实验仪器设备
计算机,labview8.6软
三、实验原理
子VI(SubVI)相当于普通编程语言中的子程序,也就是被其他的
VI 调用的VI。
可以将任何一个定义了图标和联接器的 VI 作为另一个 VI 的子程序。
在流程图中打开Functions»Select a VI….,就可以选择要调用的子 VI 。
构造一个子VI 主要的工作就是定义它的图标和联接器。
每个VI 在前面板和流程图窗口的右上角都显示了一个默认的图标。
启动图标编辑器的方法是,用鼠标右键单击面板窗口的右上角的默认图标,在弹出菜单中选择 Edit Icon。
四、实验内容及注意事项
1、构建VI,使用LabVIEW固有函数计算用户输入3个数的平均值。
2、创建子VI将华氏温度转化为摄氏温度,其转换关系为:C=(F-32)/1.8。
五、实验步骤:
[练习1]构建VI,使用LabVIEW固有函数计算用户输入3个数的平均值。
在程序中,首先将3个数求和,接着再除以3,得出的平均值显示在前面板上。
另外,再添加一段程序,将平均值乘以[0,...,1]范围内的随机数。
将计算平均值的一组代码创建成子VI,并编辑图标以便表示子VI的功能,即计算3个数的平均值。
1、在前面板上创建三个输入控,一个输出控
2、在程序框图中将三个输入控的图标用相加函数连接,再除以三,与数值输出控相连接。
3、在前面板上右上角把模式改为三个输入,一个输出,并分别与输入控和输出控连接。
4、将以上VI保存为子VI,然后新建一个VI,重新建立三个输入控和一个输出控,并在程序框图中调用AVE
[练习2]创建子VI将华氏温度转化为摄氏温度,其转换关系为:C=(F-32)/1.8。
另外添加Select函数(位于Function选项板的Programming->parisons子选项板上),Select函数将返回
连接到True或False输入端子上的输入值,具体返回哪一个取决于布尔型输入的值。
1、在前面板创建一个数值输入控F、一个数值输出控C,并修改右上角模式为一个数入一个输出,并分别连线。
2、在程序框图中,添加公式计算的Express
VI函数,并连接。
然后保存程序为子VI
3、新建一个VI,建立华氏温度输入控,摄氏温度输出控,布尔函数Boolean,并找到刚创建的子VI连接。
六、思考题
创建子VI时有哪些注意事项?
七、对学生实验报告要求
1、实验前做好预习,明确目的、原理、方法,避免和减少错误
2、实验过程中持严肃认真的态度
3、对实验结果必须进行仔细观察和认真记录,得出恰当的结论
4、独立认真完成实验报告
实验六图表和图形实验
一、实验目的
1、掌握Chart和Graph的特征;
2、学会利用XY
Graph构成利萨育图形。