现代仪器设计
LabVIEW实验报告
实验内容:
1.熟悉LabView软件操作方法
2.了解LabView的一般编程方法
3.虚拟信号发生器制作
1.熟悉LabView软件操作方法
虚拟仪器(virtual instrumention)是基于计算机的仪器。虚拟仪器主要是将仪器装入计算机。以通用的计算机硬件及操作系统为依托,实现各种仪器功能。虚拟仪器的研究中涉及的基理论主要有计算机数据采集和数字信号处理。目前在这一领域内,使用较为广泛的计算机语言是美国NI公司的LabVIEW。
LabVIEW(Laboratory Virtual instrument Engineering)是一种图形化的编程语言,它广泛地被工业界、学术界和研究实验室所接受,视为一个标准的 数据采集和仪器控制软件 。利用它可以方便地建立自己的虚拟仪器,其图形化的界面使得编程及使用过程基本上不写程序代码,取而代之的是流程图。
前面板的设计需用控制模板。控制模板(Control Palette)用来给前面板设置各种所需的输出显示对象和输入控制对象。每个图标代表一类子模板。可以在前面板的空白处,点击鼠标右键,以弹出控制模板。
程序框图的设计需用功能模板。功能模板(Functions Palette)是创建流程图程序的工具,只有打开了流程图程序窗口,才能出现功能模板。功能模板该模板上的每一个顶层图标都表示一个子模板。可以点击“窗口”—“显示程序框图”打开,也可以在流程图程序窗口的空白处点击鼠标右键以弹出功能模板。
流程图上的每一个对象都带有自己的连线端子,连线将构成对象之间的数据通道。不是几何意义上的连线,因此并非任意两个端子间都可连线,连线类似于普通程序中的赋值。数据单向流动,从源端口向一个或多个目的端口流动。不同的线型代表不同的数据类型。下面是一些常用数据类型所对应的线型和颜色:
2.了解LabView的一般编程方法
1) 前面板的设计,用户可以利用控制模板和工具模板中加入输入控制器和输出指示器;
2) 框图程序的设计,框图程序的设计主要是对节点、数据端口和连线的设计;
3) 程序调试,调试程序,排除程序执行过程中可能遇到的错误。
下面举例说明:
1.启动LabVIEW,选择文件菜单,单击新建VI,保存该VI。查看前面板窗口和程序框图窗口。前面板窗口对应的选板为控件选板,若控件选板未显示,可以单击查看菜单中的控件选板,也可在前面板窗口的空白处单击鼠标右键。前面板上的输入控件相当于物理仪器的输入装置,为VI 的程序框图提供数据。程序框图对应的选板为函数选板,包含用于控制前面板对象的各种VI 和结构。
2.在函数选板的Express组中,单击选择输入->仿真信号,在程序框图空白处单击鼠标左键,即可将仿真信号控件放置到程序框图中。在弹出的配置窗口中将信号类型设置为正弦波,频率为50,幅值为1。选中添加噪声项,噪声类型为均匀白噪声,噪声幅值为0.2,其余选项不变,单击确定。
3.将鼠标放置在仿真信号上,然后向下拉动,直到出现噪声幅值选项为止,如下图所示。
4.在控件选板中新式组里面数值中选择旋钮控件,并将其放置在前面板上,将控件的标题改为信号幅值,同理产生一个标题为信号频率和标题为噪声幅值的旋钮控件,并将信号频率的输入范围改为0-100。通过前面板窗口菜单栏下面的工具栏中的对齐对象和分布对象工具将控件排列对齐。在程序框图中分别将信号幅值、信号频率、噪声幅值控件跟仿真信号控件的对应项相连。实验结果如下图所示。
5.在前面板中的Express组中的图形显示控件,单击波形图控件,并将其放置在前面板上。在程序框图中将仿真信号控件的正弦与均匀噪声输出项跟图形显示控件相连。运行该VI程序,实验结果如下图所示。通过调整对应旋钮的值即可控制产生的正弦波的频率和幅值大小,也可以调整噪声信号的幅值大小。调整不同旋钮的大小以更更加清楚地观察仿真得到的信号。
3.虚拟信号发生器制作
本实验波形信号由公式产生,通过1000次for循环和编辑公式节点,产生所需要的正弦波。
正弦波公式节点内容:y=A*sin(w*i+p);
y为输出纵坐标值,A为输入幅值,w为与输入频率转化成的角频率,p为输入相位转化成的初始相位。
1. 先新建VI,在前面板添加三个旋钮,分别将标签改为“频率”,“幅值”,“占空比”,添加一个波形图,文本下拉列表按钮,和一个停止按钮。
2. 编辑文本下拉列表按钮,在属性的编辑项中添加“正弦波”一项内容,并将图标标签改为“波形选择”。
3. 程序框图中,通过“结构”栏插入“while”,“case”置入合适位置,在“case”右键鼠标添加分支,再与波形选择图标相连。
4. 在“case”内部,通过编辑“for”循环和公式节点以及数学运算,产生相应的波形信号。
5. 将程序框图中的各旋钮图标连入case结构中
6. 程序框图中添加“等待时钟”,并将其左端连接常量“1000”,stop按钮与while循环的停止图标连接。
7. 查看“运行”图标能否运行,若无提示错误,则选择连续运行,观察各波形信号是否标准,调节各旋钮看能否改变波形信号的相应参数,切换波形并重复操作,若设计符合要求,则保存实验现象截图。
8. 保存VI.
波形选择下拉列表按钮选择“正弦波时”,前面板现象截图如下
正弦波的程序框图如下
4.小结:
通过本实验的设计制作,我对labview的操作更加熟练并有了更深的了解,并能进行简单程序设计,完成既定目标。通过编辑公式节点和for循环结构来产生波形信号,我对信号的发生方式以及各信号的特征有了更全面的认识。
在不断的调试过程中,发现问题并解决问题,使得我们的处理问题的能力有了很大的提高,同时波形的产生对思维的严密性也是个严峻的考研,因此获益匪浅。这不仅锻炼了我的理论学习能力和动手实践能力,也让我认识到思考创新的重要性,更激励我以后加倍努力,精益求精。
第二篇:LABVIEW实验报告
虚 拟 仪 器
实验报告
专业班级:测控1202
姓名: 李聪
学号:12054224
实验1熟悉LabVIEW开发环境
一、实验目的
(1) 熟悉LabVIEW的初步操作。
(2) 掌握LabVIEW的编程方法。
二、实验原理
(1) LabVIEW的操作模板
在LabVIEW的用户界面上,应特别注意它提供的操作模板,包括工具(Tools)模板、控制(Controls)模板和函数(Functions)模板。这些模板集中反映了该软件的功能与特征。
(2)关于连线
连线是程序设计中较为复杂的问题。流程图上的每一个对象都带有自己的连线端子,连线将构成对象之间的数据通道。因为这不是几何意义上的连线,因此并非任意两个端子间都可连线,连线类似于普通程序中的变量。数据单向流动,从源端口向一个或多个目的端口流动。不同的线型代表不同的数据类型。
(3) 程序调试技术
1.找出语法错误
如果一个VI程序存在语法错误,则在面板工具条上的运行按钮会变成一个折断的箭头,表示程序不能被执行。这时该按钮被称作错误列表。点击它,则LabVIEW弹出错误清单窗口,点击其中任何一个所列出的错误,选用“查找”功能,则出错的对象或端口就会变成高亮。
2.设置执行程序高亮
在LabVIEW的工具条上有一个画着灯泡的按钮,这个按钮叫做“高亮执行”按钮上。点击这个按钮使它变成高亮形式,再点击运行按钮,VI程序就以较慢的速度运行,没有被执行的代码灰色显示,执行后的代码高亮显示,并显示数据流线上的数据值。这样,你就可以根据数据的流动状态跟踪程序的执行。
3.断点与单步执行
为了查找程序中的逻辑错误,有时希望流程图程序一个节点一个节点地执行。使用断点工具可以在程序的某一地点中止程序执行,用探针或者单步方式查看数据。使用断点工具时,点击你希望设置或者清除断点的地方。断点的显示对于节点或者图框表示为红框,对于连线表示为红点。当VI程序运行到断点被设置处,程序被暂停在将要执行的节点,以闪烁表示。按下单步执行按钮,闪烁的节点被执行,下一个将要执行的节点变为闪烁,指示它将被执行。你也可以点击暂停按钮,这样程序将连续执行直到下一个断点。
4.探针
可用探针工具来查看当流程图程序流经某一根连接线时的数据值。从Tools工具模板选择探针工具,再用鼠标左建点击你希望放置探针的连接线。这时显示器上会出现一个探针显示窗口。该窗口总是被显示在前面板窗口或流程图窗口的上面。在流程图中使用选择工具或连线工具,在连线上点击鼠标右键,在连线的弹出式菜单中选择“探针”命令,同样可以为该连线加上一个探针。
三、实验内容
1、建立虚拟温度计的VI。
图1 前面板
图2 程序框图
2、将所设计的虚拟温度计VI设计成子VI,供其他程序调用。
图3 建立子VI
选择默认图标,将各个部分与右上角的空白处建立连接,单击另存为副本即建立了一个子VI,然后在程序面板上单单击右键选择“选择VI”就可以调出刚建立的子VI了。
图4 调用子VI
四、总结
本次实验我熟悉了Labview的开发环境,对虚拟仪器课上的内容有了新的认识,建立了一个虚拟的温度计并利用它建立了一个子VI,收获很大。
实验二 LabVIEW基本程序设计
一、实验目的
(1) 熟悉LabVIEW 8.5开发环境;
(2) 掌握LabVIEW编程语言的程序结构和图形控件的使用方法;
(3) 掌握LabVIEW编程环境的程序调试方法;
二、实验原理与内容
已知一阶系统状态空间表达式
编程时可采用4阶龙格-库塔算法求解上述方程:
K1 = -0.2*X(k)+2*u(k);
K2 = -0.2*(X(k)+0.5*T*K1)+2*u(k);
K3 = -0.2*(X(k)+0.5*T*K2)+2*u(k);
K4 = -0.2*(X(k)+T*K3)+2*u(k);
X(k+1) = X(k)+(K1+2*K2+2*K3+K4)*T/6;
Y = X(k+1);
控制算法可采用增量式PID控制算法:
du = Kp*(e(k)-e(k-1))+T/Ti*e(k)+Td/T*(e(k)-2*e(k-1)+e(k-2));
u(k) = u(k-1)+du;
本实验要求基于LabVIEW编程环境,针对上述一阶系统进行控制仿真。通过控制系统仿真,分析一阶系统的特点和各个PID参数对控制系统性能的影响。
三、实验内容
图5 前面板
图6 程序框图
由图知,在输入参数趋于稳定,需要一定时间,在这个过程中会出现衰减振荡。比例系数K增大会使系统反应速度加快,振荡次数增加,同时减少稳态误差。积分作用的引入使得稳定性减弱,但是能减小稳定误差。微分的引入改善系统动态性能,合适的微分系数可以提高系统响应速度,提高系统稳定性。
四、总结
本次实验涉及了移位寄存器构造,循环函数构造,函数的设计,探针的构造。实验中较大的难度在于函数体的书写,函数体是本次实验的关键,函数体同时要保持和外设一致,因此在书写函数体是要格外注意字母大小写以及下标。通过不断改变PID参数,了解了不同参数对系统性能的影响。