实验指导书.docx
《实验指导书.docx》由会员分享,可在线阅读,更多相关《实验指导书.docx(46页珍藏版)》请在冰豆网上搜索。
![实验指导书.docx](https://file1.bdocx.com/fileroot1/2023-6/20/6feef93a-1247-43a1-be30-36a7029cf088/6feef93a-1247-43a1-be30-36a7029cf0881.gif)
实验指导书
《虚拟仪器程序设计》实验指导书
电气信息学院
目录
实验1熟悉LabVIEW编程环境
实验1-1LabVIEW的基本操作………………………………………………………………1
实验1-2练习…………………………………………………………………………………4
实验2控件与程序框图应用
实验2-1虚拟仪器前面板的设计……………………………………………………………5
实验2-2编写简单的LabVIEW程序…………………………………………………………6
实验3子VI程序设计及调试程序技巧
实验3-1创建子程序…………………………………………………………………………8
实验3-2子程序的调用……………………………………………………………………10
实验3-3程序调试技巧………………………………………………………………………12
实验4程序结构
(1)
实验4-1使用for循环结构………………………………………………………………14
实验4-2使用while循环结构……………………………………………………………16
实验5程序结构
(2)
实验5-1使用条件结构………………………………………………………………………18
实验5-2使用顺序结构………………………………………………………………………19
实验5-3使用事件结构………………………………………………………………………20
实验6数据的表达与图形显示
实验6-1WaveformGraph的应用……………………………………………………………23
实验6-2比较WaveformChart和WaveformGraph………………………………………24
实验6-3使用XYGraph显示图形…………………………………………………………26
实验6-4公式节点及图形显示………………………………………………………………27
实验6-5虚拟信号发生器……………………………………………………………………28
实验7非连线的数据传递方式
实验7-1控制仿真……………………………………………………………………………30
实验7-2数制变换及计数仿真………………………………………………………………32
实验7-3全局变量编程………………………………………………………………………33
实验8文件操作
实验8-1文本文件操作………………………………………………………………………34
实验8-2电子表格文件操作…………………………………………………………………35
实验8-3仿真温度数据的记录………………………………………………………………36
实验8-4仿真温度数据的读取………………………………………………………………37
实验9应用程序设计
实验9-1构建简单的信号分析与处理系统…………………………………………………38
实验9-2频率响应函数与数字滤波实验……………………………………………………38
实验一LabVIEW操作、控件与程序框图应用
实验1-1LabVIEW的基本操作
目的:
创建一个VI程序,完成两个数加、减、乘、除法的运算功能。
在数值输入控件中输入两个操作数A和B,运行程序计算出这两个数的加、减、乘、除法运算结果,并且显示到相应的数值显示控件中。
实验步骤:
前面板
1.打开LabVIEW,点击New…按钮,再选择BlanckVI并确定,新建一空白VI。
2.在前面板上单击鼠标右键,从打开的控件模板中选择数值输入控件,并放置在前面板上。
3.鼠标左键双击该控件上方的标签
,待标签处于可改写状态时,将标签改写为“A”。
4.重复上面2,3的步骤,建立另一个数值输入控件并改名为“B”。
5.建立4个数值显示控件,分别用来显示加、减、乘、除的运算结果。
该控件位置见下图:
6.将前面板上所有控件按图对齐排列,完成后的前面板如下图。
框图程序
1.从Windows菜单下选择ShowDiagram功能打开框图程序窗口。
2.将图标按图示进行排列。
3.点击框图程序窗口的空白处,弹出功能模板,从弹出的菜单中选择所需的对象放置到框图中。
本程序用到下面的对象:
加运算节点、减运算节点、乘运算节点、除运算节点。
4.将所有对象用连线连接起来,完成后的程序框图如下。
运行、测试程序
1.选择前面板窗口,使之变成当前窗口。
在数值输入控件A和B中各输入一各数值,然后单击工具栏上运行按钮
运行VI程序,观察运算结果。
修改A和B的值,再次运行程序。
2.点击连续运行按钮
,便程序运行于连续运行模式。
此时修改A、B的值,则立即会运算出相应的结果。
3.再点击连续运行按钮,关闭连续运行模式。
4.文件命名为Computer.Vi并保存。
实验2控件与程序框图应用
实验2-1虚拟仪器前面板的设计
目的:
掌握虚拟仪器前面板的设计。
通过此实验熟悉常用控件的取用,对其进行简单设置以及界面布局。
实验步骤:
前面板
1.最终完成的界面如上图。
从控件模板中找到各个控件,并放置到前面板上。
2.对各个控件外观、类型和行为进行设置,设置结果如图所示。
调节步长:
修改其刻度颜色、标度数值颜色;
设定高度:
显示数值显示框;
实际液位:
显示数值显示框;
压力:
增加指针,并修改刻度颜色,显示指针数值;
温度:
显示数值显示框;
液位超标:
为一LED控件。
当为True时,显示绿色;当为False时,显示红色;
3.将第一行5个控件顶端对齐,水平中心分布,并组合在一起。
4.将左下角3个控件左对齐,垂直中心分布,并组合在一起。
5.将这两组控件和图像显示件组合在一起并锁定。
6.文件命名为FrontPanel.Vi并保存。
实验2-2编写简单的LabVIEW程序
目的:
编写程序,实现将一华氏温度(F)转换成摄氏温度(C)的功能。
已知摄氏温度与华氏温度的关系C=5(F-32)/9。
实验步骤:
前面板:
1.程序界面如上图,放置一数值输入控件和一温度计显示件,然后再放置一个STOP按钮。
2.如图修改设置各控件的数值范围,并显示各控件的数值显示框。
框图程序:
程序框图如上图。
注意将STOP按钮同While循环的控制端口相连接。
运行、测试程序
1.单击工具栏上运行按钮
运行VI程序,更改数值输入控件的值,观察程序运行的情况。
2.文件命名为F2C.Vi并保存。
实验二子VI程序设计及调试程序技巧
实验3子VI程序设计及调试程序技巧
实验3-1创建子程序
目的:
创建一个VI程序,以便以后作为子VI程序使用。
创建一个VI程序模拟温度测量,也可以用摄氏温度来代替华氏温度显示。
本程序用软件代替了DAQ数据采集卡。
使用RandomNumber来仿真电压的测量值,然后转换成摄氏或华氏温度读数。
前面板:
1.用File菜单的New选项打开一个新的前面板窗口。
2.把温度计指示部件放入前面板窗口。
在前面板窗口的空白处点击鼠标键,然后从弹出的Numeric子模板中选择Thermometer。
在高亮的文本框中输入“温度计”,再点击鼠标键按钮。
3.在前面板窗口中放入竖直开关控制。
在面板窗口的空白处点击鼠标键,然后弹出的Boolean子模板中选择VerticalSlideSwitch,在文本框中输入“温度值单位”,再点击鼠标键或者工具栏中的“√”按钮。
使用标签工具
,在开关的“条件真”(true)位置旁边输入自由标签“摄氏”,再在“条件假”(false)位置旁边输入自由标签“华氏”。
框图程序:
1.从Windows菜单下选择ShowDiagram功能打开框图程序窗口。
2.点击框图程序窗口的空白处,弹出功能模板,从弹出的菜单中选择所需的对象。
本程序用到下面的对象:
RandomNumber(随机数)。
在本例中,模拟从DAQ卡读取0-1V电压值。
Multiply(乘法)功能(Programming>Numeric子模板)。
在本例中,将读取电压值乘以100.00,以获得华氏温度。
Subtract(减法)功能(Programming>Numeric子模板)。
在本例中,从华氏温度中减去32.0,以转换成摄氏温度。
Divide(除法)功能(Programming>Numeric子模板)。
在本例中,把相减的结果除以1.8以转换成摄氏温度。
Select(选择)功能(Programming>Comparison子模板)。
取决于温标选择开关的值。
该功能输出华氏温度(当选择开关为false)或者摄氏温度(选择开关为True)数值。
3.使用移位工具(Positioningtool),把图标移至图示的位置,再用连线工具连接起来。
4.选择前面板窗口,使之变成当前窗口,并运行VI程序。
点击连续运行按钮
,便程序运行于连续运行模式。
5.再点击连续运行按钮,关闭连续运行模式。
6.创建图标Temp:
此图标可以将现程序作为子程序在其他程序中调用。
创建方法如下:
在面板窗口的右上角的图标框中点击鼠标,从弹出菜单中选择EditIcon功能。
双点选择工具,并按下Delete键,消除缺省的图标图案。
用画图工具画出温度计的图标。
使用文本工具写入文字,双击文本工具把字体换成SmallFont。
当图标创建完成后,点击OK以关闭图标编辑。
生成的图标在面板窗口的右上角。
7.创建联接器端口:
点击右上角的图标面板,从弹出菜单中选择ShowConnector功能。
LabVIEW将会根据控制和显示的数量选择一种联接器端口模式。
在本例中,只有两个端口,一个是竖直开关,另一个是温度指示。
把联接器端口定义给开关和温度指示。
使用连线工具,在左边的联接器端口框内按鼠标键,则端口将会变黑。
再点击开关控制件,一个闪烁的虚线框将包围住该开关。
现在再点击右边的联接器端口框,使它变黑。
再点击温度指示部件,一个闪烁的虚线框将包围住温度指示部件,这即表示着右边的联接器端口对应温度指示部件的数据输入。
8.文件命名为Thermometer.Vi并保存。
实验3-2子程序的调用
目的:
使用一个条件循环结构和一个被测波形图表实时地采集数据。
创建一个VI程序,进行温度测量,并把结果在波形图表上显示。
该VI程序使用我们前面创建的温度计程序(Thermometer.VI)作为子程序。
前面板:
打开一个新的前面板窗口,在里面放一个开关(在Boolean逻辑部件子模板),给该开关标注为“Enable”。
你可以用该开关来开始/停止数据采集。
1.在前面板内再放置一个趋势图(Graph子模板中的WaveformChart),标注为“温度历史趋势”。
该图表将实时地显示温度值。
2.由于趋势图将它的图标注解plot自动地标注为“plot0”,用标注工具将其重新标注为“Temp”。
3.因为趋势图用于显示室内温度,需要对它的标尺进行重新定标。
将Y轴的最大值改为“90”,而将最小值改为“20”。
4.此时暂时不要创建模式转换开关,我们将从框图程序窗口创建前面板的部件。
框图程序:
1.打开框图程序窗口。
2.从结构(Structures)工具模板选择条件循环结构“WhileLoop”放入框图程序窗口,调整该条件循环框的大小,把先前从前面板创建的两个节点放入循环框内。
3.放入其它的框图程序对象。
ThermometerVI,这个VI程序是你在上个练习中创建的(从SelectaVI…子模板)。
4.按照上图的框图程序连好线。
5.创建“温度值单位”开关。
把连线工具放在ThermometerVI的“温度值单位”输入端口上,按鼠标右键并选择CreatControl,这样就可以自动创建“温度值单位”转换开关,并将它与ThermometerVI子程序相连线,再转换到前面板窗口,将“温度值单位”开关的位置重新调整。
6.在前面板窗口,使用标注工具,为“温度值单位”创建“摄氏”、“华氏”标签。
7.运行程序。
要停止数据采集,点击Enable开关,使其状态变为OFF,循环结束。
8.修改Enable开关缺省设置,使你运行VI程序时不必每次打开该开关。
若程序在运行状态,则关闭程序运行。
把开关设置为ON状态。
点击开关,从弹出菜单中选择DataOperations>MakeCurrentValueDefault选项,这将使ON状态变为缺省值。
再点击开关,从弹出菜单中选择MechanicalAction>LatchWhenPressed选项。
9.运行该程序,观察Enable开关的变化。
10.
如图所示,使VI程序采样间隔为500毫秒。
11.使用Time&Dialog子模板中的WaitUntilNextmsMultiple功能,再加上时间常数NumericConstant,把它设置为500。
12.运行上述程序,试用不同的时间间隔值。
13.关闭并保存上述程序,文件名为TemperatureMonitor.vi
实验3-3程序调试技巧
目的:
使用LabVIEW内置调试工具。
加载一个断开的VI,并纠正错误。
使用单步执行和高亮显示执行过程分步执行VI。
1.打开和检查调试练习.vi。
这时出现以下的前面板:
注意:
工具栏上的运行按钮将显示为断开,提示该VI已断开,无法运行。
2.显示并检查调试练习.vi的程序框图。
3.找出并修改每一个错误。
单击断开的运行按钮,打开错误列表窗口,该窗口列出了所有错误。
在错误列表窗口中选择一个错误说明。
详细信息描述了错误信息,有时还会建议如何纠正错误。
单击帮助按钮,可显示LabVIEW帮助中对错误的详细描述和纠正错误步骤的相关主题。
单击显示错误按钮或双击错误描述,可高亮显示程序框图或前面板中包含错误的区域。
4.选择文件》保存保存VI。
5.单击前面板或选择窗口》显示前面板,打开VI的前面板。
6.单击运行按钮。
7.选择窗口》显示程序框图,打开程序框图。
8.通过程序框图可以观察到数据的流动情况。
单击工具栏上的高亮显示执行过程按钮
,启用高亮显示执行过程。
单击单步步入按钮
,开始单步执行。
高亮显示执行过程通过沿连线移动的圆点,显示数据在程序框图上从一个节点移动到另一个节点的过程。
闪烁的节点表示已经准备好开始执行。
在每一个节点后单击单步步过按钮
,单步执行整个程序框图。
每次单击单步步过按钮,当前节点就会执行,并在下一个节点处暂停。
单步执行VI时,数据会显示在前面板上。
当闪烁边界出现在整个程序框图的周围时,单击单步步出按钮
,可停止单步执行调试练习.vi。
9.单步执行VI和其子VI。
单击单步步入按钮,开始单步执行。
调试练习子程序.vi闪烁时,单击单步步入按钮,注意子VI上的运行按钮
。
单击调试练习.vi的程序框图,在该框图的子VI图标上会出现一个绿色的符合,提示子VI正在运行。
单击单步步出按钮两次,完成单步执行子VI程序框图,主程序的框图处于活动状态。
单击单步步出按钮,结束单步执行。
10.VI运行时,使用探针检查连线上的中间值。
使用探针工具
单击任意连线。
显示探针窗口。
LabVIEW将自动计算探针窗口数,并在单击的连线上的符号中显示相同的值。
再次单步执行VI。
探针窗口会显示经过连线的数据。
11.在程序框图上放置断点,以便在该位置中止执行。
使用断点工具
单击节点或连线。
在程序框图上放置一个断点,程序框图会在所有节点执行后暂停执行。
单击运行按钮,运行VI。
程序执行到一个断点时,VI将暂停执行,同时工具栏上的暂停按钮
将显示为红色。
单击继续按钮,继续运行到下一个断点处或直到VI运行结束。
使用断点工具单击设置的断点,并删除它。
12.单击高亮显示执行过程按钮,禁止执行过程高亮显示。
13.选择文件》关闭,关闭VI和所有打开的窗口。
实验三循环结构(for,while循环结构)
实验4程序结构
(1)
实验4-1使用for循环结构
目的:
学习使用for循环结构。
使用3种编程算法,计算0到99之间所有偶数的和。
前面板:
1.放置三个数值显示件。
2.将三个数值显示件分别命名为计算方法1、2、3。
框图程序:
1.按图示分别完成三种算法的程序框图,掌握移位寄存器的使用,并注意编程同时分析比较三种算法。
2.计算方法3中使用了函数Quotient&Remainder,其功能是求输入两数的余数,在此用作计算循环变量i与2的余数是否为0(即判断i是否为偶数)。
3.将程序命名为ForLoop.vi,并保存。
【练习与思考】:
用For循环产生4行100列的二维数组,数组成员如下:
1,2,3……100
100,99,98……1
6,7,8……105
105,104,103……6
从这个数组中提取出2行50列的二维数组,数组成员如下:
50,59,48……1
56,57,58……105
将这两个数组用数组显示件显示在前面板上。
实验4-2使用while循环结构
目的:
学习使用while循环结构。
用while循环,实现输入数N,计算N!
。
前面板:
如上图完成前面板并给控件命名。
框图程序:
1.按图示分别完成程序框图,掌握反馈节点的应用。
2.将程序命名为WhileLoop.vi,并保存。
实验四程序结构(Case,SequenceStructure)
实验5程序结构
(2)
实验5-1使用条件结构
目的:
学习使用条件结构(CaseStructure)。
建立程序以检测温度是否超出范围,当温度超出上限时或下限时,前面板上的报警LED将点亮,并显示当前的温度状态为“温度过高”或“温度过低”。
在范围内时温度状态为“温度正常”。
前面板:
1.使用WaveformChart显示实时温度和上、下限值。
并且如图进行配置。
2.添加两个数值输入件,作为“温度上限”、“温度下限”的输入。
3.添加一个LED显示件,作为报警指示。
报警时为红色,正常时为绿色。
4.添加文本显示件,命名为“当前温度状态”。
框图程序:
1.上图为不完整的程序框图,其中Case结构只给出了True分支。
请分析程序功能,完成未给出的程序实现功能。
主要实现温度值与上下限的比较,然后输出“温度过高”,“温度过低”,“温度正常”的状态文本,实现对“报警”指示灯的控制。
2.将程序重新命名为TemperatureControl.vi,并保存起来。
【练习与思考】:
创建一个VI,计算用户输入数值的平方根。
如果输入数值是负数,向用户显示下列信息:
错误……负数没有平方根。
实验5-2使用顺序结构
目的:
学习使用顺序结构(SequenceStructure)。
用For循环产生一个长度为1000000(1百万)点的随机波形,并计算所用时间。
前面板:
1.使用WaveformChart显示随机数波形,并且如图进行配置。
2.添加一个数值显示件,命名为“用时”。
框图程序:
1.使用顺序结构实现,其中用TickCount函数获得当前时间。
2.试将上图的平铺式顺序结构(FlatSequenceStructure)改为层叠式顺序结构(StackedSequenceStructure)。
3.将程序命名为Sequence.vi,并保存起来。
实验5-3使用事件结构
目的:
学习使用事件结构(EventStructure)。
使用事件结构实现对定义事件的响应,并把响应事件在“捕获的事件”字符串显示件中进行显示说明,若等待超过3秒仍然无事件发生,则显示“3秒等待超时”。
前面板:
1、添加控件:
(1)字符串控件,命名为“文本框”
(2)开关控件,命名为“开关”
(3)滚动条控件,命名为“滚动条”
(4)字符串显示件,命名为“捕获的事件”
(5)STOP按钮控件
2、“捕获的事件”上点击鼠标右键,选择
VisibleItems—>Scrollbar,显示滚动条。
框图程序:
1.程序框图采用While循环和事件结构嵌套的结构实现。
2.ConcatenateStrings函数:
合成字符串。
3.将事件结构超时等待端口赋值为3000,即等待3秒。
4.编辑事件结构,添加需要响应的事件,总计5个事件,完成后如下图:
5.对每个事件子框图分别编程。
如下列图示:
6.完成程序所有连线,运行程序检测分析程序功能。
7.将程序命名为EventTracking.vi,并保存起来。
实验五数据的表达与图形显示
实验6数据的表达与图形显示
实验6-1WaveformGraph的应用
目的:
学习WaveformGraph节点的用法。
功能描述:
见教材P209-214页。
以不同参数显示正弦和余弦曲线。
前面板:
框图程序:
1.完成程序所有连线,运行程序。
2.按照教材P213-214页的方法将当前显示的波形存储为图片文件。
3.保存为UseWaveformGraph.vi。
实验6-2比较WaveformChart和WaveformGraph
目的:
以图表方式显示数据并使用分析功能子程序。
利用Thermometer.vi子程序,在数据采集过程中,实时地显示数据。
当采集过程结束后,在图表上画出数据波形,并算出最大值、最小值和平均值。
该练习只使用华氏温度单位。
前面板:
1.添加WaveformChart,命名为“实时曲线”;添加WaveformGraph,命名为“分析曲线”。
2.按照上图添加最大值、最小值、平均值三个数值显示件。
“实时曲线”显示实时采集的数据。
采集过程结束后,在“分析曲线”中画出数据曲线,同时在“最大值”、“最小值”和“平均值”数字显示件中显示出温度的最大值、最小值和平均值。
框图程序:
1.完成上面的框图程序。
使用While循环,且输出端口使用索引功能。
其中:
ArrayMax&Min函数:
求数组最大、最小值。
Mean函数:
求平均值。
2.程序命名为TemperatureAnalysis.vi并存盘。
【练习与思考】:
在一个Chart中显示3条曲线,分别用红、绿、蓝3种颜色表示范围0~1、0~5和0~10的3个随机数。
实验6-3使用XYGraph显示图形
目的:
了解XYGraph节点的用法。
功能描述:
使用XYGraph控件显示两个同心圆,圆半径分别为5和10。
前面板:
(1)前面板设计。
(2)自行设计后面板程序,实现上述功能。
(3)保存为UseXYGraph.vi。
实验6-4公式节点及图形显示
目的:
学