最新传感器与虚拟仪器指导书Word文档下载推荐.docx
《最新传感器与虚拟仪器指导书Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《最新传感器与虚拟仪器指导书Word文档下载推荐.docx(9页珍藏版)》请在冰豆网上搜索。
3、构建停车信号灯。
创建从0到2变化的刻度盘控件,该控件具有3个LED显示:
绿色、黄色和红色。
当在刻度盘0位置时,使VI打开绿色LED;
当在刻度1上时,变成黄色;
当在刻度2上时,变成红色。
4、构造VI产生1个⑴0到10间的随机数。
在VI的前面板上用唆使器来显示随机数的值,然后点亮随机数所在范围对应的LED。
用1个LED显示负的随机数,1个LED显示在0到4范围内的随机数,1个LED显示大于等于5的随机数。
改变LED的属性使其点亮时为亮黄色,关闭时为暗黄色。
5、实验步骤:
[练习1]假定有1台仪器,需要调剂其输入电压,当调剂电压超过某1设定电压值时,需要通过唆使灯色彩变化发出正告。
1、启动Labview程序,单击VI,建立1个新的VI程序,命名为lianxi21.vi。
这时候将同时打开Labview的前面板和后面板(框图程序面板)。
在前面板中显示控制模板,在后面板中显示函数模板。
在两个面板中都显示工具模板。
如果模板中没有被显示出来,可以通过菜单“查看/工具选板”来显示工具模板,通过“查看/控件选板”来显示控件模板(或是按鼠标右键),“查看/函数选板”来显示函数模板。
如图1所示。
图12、前面板设计输入控制和输出显示可以从控件模板的各个子模板当选取。
本设计中,程序前面板中应有1个调压旋钮,1个仪表,1个唆使灯,1个关闭按钮共4个控件。
1)往前面板添加1个旋钮控件:
控件—新式—数值—旋钮,如图2所示。
鼠标左键框选后,可以移动位置;
左键单击后可以改变大小。
双击将标签改成“调压旋钮”,字的大小可以在“利用程序字体”中修改。
2)往前面板添加1个仪表控件:
控件—新式—数值—仪表,如图2所示。
调理方法同上。
标签改成“电压表”。
3)往前面板添加1个唆使灯控件:
控件—新式—布尔—圆形唆使灯,如图3所示。
按住“shift”同时调剂大小,将其调剂为大小适中的圆形唆使灯。
将标签改成“上限灯”。
4)往前面板添加1个停止按钮控件:
控件—新式—布尔—停止按钮,如图3所示。
将标签改成“关闭”。
设计的程序前面板如图4所示。
保存文件,名字取为“输入电压控制”。
图2添加旋钮、仪表控件图3添加唆使灯、按钮控件图4程序前面板3、框图程序设计——添加节点每个程序前面板都对应着1段框图程序。
在框图程序中对VI编程,以控制和操纵定义在前面板上的输入和输出功能。
切换到框图程序设计面板,通过函数模板添加节点。
1)添加1个循环结构:
如图5所示,以下添加的节点放置在循环结构框架中。
2)添加1个数值常数节点:
函数—数学—数值—数值常量,如图6所示,值改成8。
3)添加1个比较节点“≥”:
如图7所示。
4)添加1个选择结构:
如图5所示。
图5添加循环结构、选择结构图6添加数值常数图7添加比较节点图8框图程序——节点布置图15)在选择结构的True选项中,添加1个数值常数节点:
如图6所示,其值为0。
6)在选择结构的True选项中,添加1个比较节点:
如图7所示7)分别将调压旋钮图标、电压表图标、停止按钮图标从外拖入循环结构中:
将上限灯图标拖入选择结构的True选项中。
添加的所有节点及其布置如图8所示。
8)在选择结构的False选项中,添加1个数值常数节点:
如图6所示,值为1。
9)在选择结构的False选项中,添加1个比较节点:
10)添加1个局部变量节点:
函数—编程—结构—局部变量,如图9所示。
选择局部变量节点,单击鼠标右键,在弹出菜单的“选择项”选项下,选择对象名称“上限灯”,其读写属性默许为“写”属性。
将该局部变量拖入选择结构的False选项中。
添加的所有节点及其散布置如图10所示。
图9添加局部变量图10框图程序——节点布置图24、框图程序设计——连线。
如图11、12所示。
使用工具箱中的连线工具,将所有节点连接起来。
当把连接工具放在节点端口上时,该端口区域将会闪烁,表示连线将会接通该端口。
当把连接工具从1端口接到另外一端口时,不需要按住鼠标键。
当需要连线曲折时,单击1次鼠标键,便可以正交垂直方向的曲折连线,按空格键可以改变转角的方向。
图11框图程序——连接1图12框图程序——连接25、运行程序进入前面板,单击快捷工具栏“运行”按钮,运行程序。
用鼠标“转动”调压旋钮,可以看到仪表指针随着转动;
当调剂值大于等于8时,上限灯变换色彩。
程序运行画面如图12所示。
图12程序运行画面[练习2]构建VI,产生两个随机数(在0到1之间)并在仪表上显示两个随机数。
1、在前面板创建两个输入控件Random1和Random2,输出控件唆使灯。
2、在程序框图中添加随机数,并把图标连接。
[练习3]构建停车信号灯。
(注意:
将表盘数据类型设置为长整型)1、在前面板添加旋钮控件,3个布尔控件绿、黄、红2、在程序框图中,找到数值常量,并和图标连接。
[练习4]构造VI产生1个⑴0到10间的随机数。
(实现方法:
(0⑴之间的)随机数*20⑴0,为布尔型数据“与”)1、在前面板创建3个布尔控件,分别为负数、0⑷、》=52、在程序框图中添加随机数,数值常量,比较函数等,并连接。
6、思考题如何创建上限灯的局部变量?
7、对学生实验报告要求1、实验前做好预习,明确目的、原理、方法,避免和减少毛病2、实验进程中持严肃认真的态度3、对实验结果必须进行仔细视察和认真记录,得出恰当的结论4、独立认真完成实验报告实验3数组、簇、字符串1、实验目的1、掌握创建和使用数组的方法2、能够使用多种数组内部函数3、掌握簇、字符串的创建和使用方法4、学会使用内部函数处理簇和字符串2、实验仪器装备计算机,labview8.6软件3、实验原理1、数组是同类型元素的集合,1个数组可以是1维或多维,可通过数组索引访问其中的每一个元素。
索引的范围是0-n⑴,n是数组中元素的个数,数组中的元素可以是数据、字符串等,所有元素的数据类型必须1致。
2、簇的元素可以是不同类型的数据,类似于c语言中的struct,簇可以把散布在流程图中各个位置的数据元素组合起来,额可以减少连线的拥堵程度。
3、数组靠拖动产生行和列,数组最开始被创建时只是1个框架,不包括任何内容,可将相应数据类型的前面板对象放入数组框架中。
4、在前面板上,要得到数组的输出数值时,只要将Express》数值显示控件拖动到数组框架中便可。
5、字符串是ASCII字符的集合。
犹如其他语言1样,LabVIEW也提供了各种处理字符串的功能,如果想取得字符串的例子,可查看Examples\General\strings.llb。
下面扼要介绍1些内容。
4、实验内容及注意事项1、字符串练习2、利用全局变量实现字符串的传递。
3、创建波形数组4、创建子VI对两个输入矩阵A和B履行矩阵乘。
矩阵A是n×
m矩阵,而矩阵B是m×
p矩阵。
产生的矩阵C是n×
p矩阵,这里C=AB。
5、利用簇摹拟汽车控制6、设计1个公式波形产生器5、实验步骤:
[练习1]字符串练习设计1个字符串联接与子字符串显示窗口,其前面板设计和程序框图设计如图所示。
1、创建字符串a和字符串b的字符串输入控件,创建偏移量和长度的数值输入控件,创建连接字符串的字符串显示控件,创建length的数值显示控件,创建子字符串的字符串显示控件。
2、在程序框图中,找到连接字符串函数,截取字符串函数,字符串长度函数3、把图标和字符串函数连接[练习2]利用全局变量实现字符串的传递步骤:
(创建全局变量)1.在labview的启动界面中的new选择创建全局变量global2.放置字符串输入控件。
标签改成字符串全局变量3.将光标放在该控件上,点右键,设置键入时刷新4.保存,命名为:
字符串实例.vi(创建发送端)5.新建vi,在前面板放置字符串输入控件,标签为“字符串发送端”,点右键,设置键入时刷新。
6.进入程序框图,点击右键选择已建立的全局变量文件7.照上述框图编写。
8.接收端同理。
9.其前面板设计和程序框图设计如图所示。
[练习3]创建波形数组1、在前面板中放置1个波形图控件。
2、在程序框图中找到for循环函数和捆绑函数,并在for循环内放置波形产生器(编程--》数学--》初等与特殊函数--》3角函数--》余弦)。
3、函数的连接,(捆绑函数不是按名称捆绑,否则出错)[练习4]创建子VI对两个输入矩阵A和B履行矩阵乘。
1、在前面板创建两个矩阵。
2、在前面板创建矩阵A和B、C,在程序框图中找到矩阵相乘函数,在线性代数子选板中。
[练习5]利用簇摹拟汽车控制,如右图所示,控制面板可以对显示面板中的参量进行控制。
油门控制转速,转速=油门*100,档位控制时速,时速=档位*40,油量随VI运行时间减少。
[练习6]设计1个公式波形产生器,其前面板设计和程序框图设计如图所示。
1、在前面板添加控件2、在程序框图中连接图标。
6、思考题1、全局变量和局部变量分别如何创建?
2、参考联机帮助文档,了解其他操作函数7、对学生实验报告要求1、实验前做好预习,明确目的、原理、方法,避免和减少毛病2、实验进程中持严肃认真的态度3、对实验结果必须进行仔细视察和认真记录,得出恰当的结论4、独立认真完成实验报告实验4程序结构实验1、实验目的1.学习并掌握For循环和While循环和它们的不同点2.学习使用移位寄存器和反馈节点2、实验仪器装备计算机,labview8.6软件3、实验原理1.While循环While循环可以反复履行循环体的程序,直至到达某个边界条件。
它类似于普通编程语言中的Do循环和Repeat-Until循环。
While循环的框图是1个大小可变的方框,用于履行框中的程序,直到条件端子接收到的布尔值为FALSE。
该循环有以下特点:
1)计数从0开始(i=0)。
2)先履行循环体,而后i+1,如果循环只履行1次,那末循环输出值i=0。
3)循环最少要运行1次。
图While循环示意图2.For循环For循环用于将某段程序履行指定次数。
和While循环1样,它不会立刻出现在流程图中,而是出现1个小的图标,而后您可以修改它的大小和位置。
具体的方法是,先单击所有端子的左上方,然后按下鼠标,拖曳出1个包括所有端子的矩形。
释放鼠标时就创建了1个指定大小和位置的For循环。
For循环将把它的框图中的程序履行指定的次数,For循环具有下面这两个端子:
N:
计数端子(输入端子)——用于指定循环履行的次数。
I:
周期端子(输出端子)——含有循环已履行的次数。
上图显示了1可以产生100个随机数并将数据显示在1个图表上的For循环。
在该例中,i的初值是0,终值是99。
3.移位寄存器(ShiftRegister)移位寄存器可以将数据从1个循环周期传递到另外1个周期。
在程序设计中,常常要用到它.创建1个移位寄存器的方法是,用鼠标右键单击循环的左侧或右侧,在快捷菜单当选择AddShiftRegister。
移位寄存器在流程图上用在循环边框上相应的1对端子来表示。
右侧的端子中存储了1个周期完成后的数据,这些数据在这个周期完成以后将被转移到左侧的端子,赋给下1个周期。
移位寄存器可以转移各种类型的数据--数值、布尔数、数组、字符串等等。
它会自动适应与它连接的第1个对象的数据类型。
下图表示了它的工作进程.图ShiftRegister的工作进程可以令移位寄存器记忆前面的多个周期的数值。
这个功能对计算数据均值非常有用。
还可以创建其他的端子访问先前的周期的数据,方法是用鼠标右键单击左侧或右侧的端子,在快捷菜单当选择AddElement。
例如,如果某个移位寄存器左侧的端口含有3个元素,那末就能够访问前3个周期的数据。
4.分支结构:
CaseCase结构含有两个或更多的子程序(Case),履行那1个取决于与选择端子或选择对象的外部接口相连接的某个整数、布尔数、字符串或标识的值。
必须选择1个默许的Case以处理超越范围的数值,或直接列出所有可能的输入数值。
Case结构见下图,各个子程序占有各自的流程框,在其上沿中央有相应的子程序标识:
Ture、False或1、2、3…。
按钮用来改变当前显示的子程序(各子程序是堆叠放在屏幕同1位置上的)。
子程序标识按钮条件端子5.顺序结构(SequenceStructure)在代码式的传统编程语言中,默许的情况是,程序语句依照排列顺序履行,但LabVIEW中不同,它是1种图形化的数据流式编程语言。
在左图中,假定有A、B、C、D4个节点,其数据流向如右图所示。
依照数据流式语言的约定,图顺序结构的说明任何1个节点只有在所有的输入数据有效时才会履行,所以图中,当且仅当A、B、C3个节点履行完,使得D节点的3个输入数据都到达D节点后,D节点才履行。
但是你要注意,这里并没有规定A、B、C3个节点的履行顺序。
在LabVIEW中这类情况下,A、B、C的履行顺序是不肯定的,如果你需要对它们规定1个肯定的顺序,那就需要使用本节介绍的“顺序结构”。
图中的右侧是顺序结构的图标,它看上去像是电影胶片。
它可以按1定顺序履行多个子程序。
首先履行0帧中的程序,然后履行1帧中的程序,逐一履行下去。
与Case结构类似,这多帧程序在流程图中占有同1个位置。
[练习1]写出1+2+3+4+…+100的程序。
(利用移位寄存器实现)提示:
进行第1次运算的是0+0,For循环中的重复端子是从0开始计数,移位即寄存器在没有初始化的情况下,默许的数值是0,所以第1次运算的是0+0,第2次运算的是寄存器的0与重复端子的1相加,所以循环要进行101次。
移位寄存器的初始化:
移位寄存器的初始化是非常必要的,由于只要用户不退出VI,移位寄存器即可记录上次运算完时的结果,所以上面的程序在第2次履行时输出的结果不是5050,而是10100!
添加初始化便可。
1、在前面板创建数值显示控件2、在程序框图中创建for循环结构,并在结构上添加移位寄存器3、将程序框图中各图标连接。
[练习2]利用While循环和移位寄存器,设计1个控制LED灯闪烁的VI,LED灯闪烁的时间可以在程序中设定。
1、在前面板上创建停止的布尔逻辑控件,等待时间的数值输入控件,boolean的布尔逻辑控件。
2、在程序框图上,创建while循环,并添加移位寄存器,循环体内添加等待时间、boolean、停止的图标,并连线3、运行[练习3]利用case结构的多分支,进行以下简单程序设计要求:
星期1显示:
新的1周开始了,好好学习!
星期2显示:
今天是星期2,继续努力!
星期3显示:
今天是星期3,生活愉快!
星期4显示:
周4了,继续努力!
星期5显示:
今天是星期5,站好最后1班岗!
星期6显示:
周末愉快!
星期日显示:
好好休息!
[练习4]创建VI,在前面板上放置3个LED。
程序运行时,第1个LED打开并保持打开状态。
1秒以后,第2个LED打开并保持打开状态;
再过2秒,第3个LED打开并保持打开状态。
所有LED都保持打开状态3秒,然后程序结束。
提示:
使用3帧单层顺序结构,每帧包括延时函数。
6、思考题1、移位寄存器的作用是甚么?
2、for循环和while循环的区分7、对学生实验报告要求1、实验前做好预习,明确目的、原理、方法,避免和减少毛病2、实验进程中持严肃认真的态度3、对实验结果必须进行仔细视察和认真记录,得出恰当的结论4、独立认真完成实验报告实验5创建子VI1、实验目的熟习构建和使用子VI,掌握使用IconEditor和指定端子2、实验仪器装备计算机,labview8.6软件3、实验原理子VI(SubVI)相当于普通编程语言中的子程序,也就是被其他的VI调用的VI。
可以将任何1个定义了图标和联接器的VI作为另外一个VI的子程序。
在流程图中打开Functions»
SelectaVI….,就能够选择要调用的子VI。
构造1个子VI主要的工作就是定义它的图标和联接器。
每一个VI在前面板和流程图窗口的右上角都显示了1个默许的图标。
启动图标编辑器的方法是,用鼠标右键单击面板窗口的右上角的默许图标,在弹出菜单当选择EditIcon。
4、实验内容及注意事项1、构建VI,使用LabVIEW固有函数计算用户输入3个数的平均值。
2、创建子VI将华氏温度转化为摄氏温度,其转换关系为:
C=(F⑶2