《计算机虚拟仪器技术》实验指导书.docx

上传人:b****6 文档编号:5918805 上传时间:2023-01-02 格式:DOCX 页数:38 大小:1.16MB
下载 相关 举报
《计算机虚拟仪器技术》实验指导书.docx_第1页
第1页 / 共38页
《计算机虚拟仪器技术》实验指导书.docx_第2页
第2页 / 共38页
《计算机虚拟仪器技术》实验指导书.docx_第3页
第3页 / 共38页
《计算机虚拟仪器技术》实验指导书.docx_第4页
第4页 / 共38页
《计算机虚拟仪器技术》实验指导书.docx_第5页
第5页 / 共38页
点击查看更多>>
下载资源
资源描述

《计算机虚拟仪器技术》实验指导书.docx

《《计算机虚拟仪器技术》实验指导书.docx》由会员分享,可在线阅读,更多相关《《计算机虚拟仪器技术》实验指导书.docx(38页珍藏版)》请在冰豆网上搜索。

《计算机虚拟仪器技术》实验指导书.docx

《计算机虚拟仪器技术》实验指导书

 

《计算机虚拟仪器技术》实验指导书

机械与电气工程学院

舒华胡晓编

2010年秋季

2007级信息工程专业1班用

 

广州大学2010年

 

实验1熟悉LabVIEW编程环境

实验1-1

目的:

创建一个VI程序,完成两个数加、减、乘、除法的运算功能。

在数值输入控件中输入两个操作数A和B,运行程序计算出这两个数的加、减、乘、除法运算结果,并且显示到相应的数值显示控件中。

实验步骤:

前面板

1.打开LabVIEW,点击文件(F)菜单,再选择新建VI并确定,新建一空白VI。

2.在前面板上单击鼠标右键,从打开的控件选板中选择数值输入控件(并放置在前面板上。

3.鼠标左键双击该控件上方的标签

,待标签处于可改写状态时,将起改写为“A”。

4.重复上面2,3的步骤,建立另一个数值输入控件并改名为“B”。

5.建立4个数值显示控件,分别用来显示加、减、乘、除的运算结果。

该控件位置见下图:

6.将前面板上所有控件按图对齐排列,完成后的前面板如下图。

框图程序

1.从窗口菜单下选择显示程序框图功能打开程序框图窗口。

2.将图标按图示进行排列。

3.点击程序框图窗口的空白处,弹出函数选板,从弹出的菜单中选择所需的对象放置到框图中。

本程序用到下面的对象:

加运算节点、减运算节点、乘运算节点、除运算节点。

4.将所有对象用连线连接起来,完成后的程序框图如下。

运行、测试程序

1.选择前面板窗口,使之变成当前窗口。

在数值输入控件A和B中各输入一各数值,然后单击工具栏上运行按钮

运行VI程序,观察运算结果。

修改A和B的值,再次运行程序。

2.点击连续运行按钮

,便程序运行于连续运行模式。

此时修改A、B的值,则立即会运算出相应的结果。

3.再点击连续运行按钮,关闭连续运行模式。

4.文件命名为Computer.Vi并保存。

 

实验1-2

完成教材第一章例程:

生成和显示信号(P3~P10)。

最终完成的程序如图1-19所示。

文件命名为GenerateandDisplay.Vi并保存。

 

实验2控件与程序框图应用

实验2-1

目的:

掌握虚拟仪器前面板的设计。

通过此实验熟悉常用控件的取用,其简单设置以及界面的布局。

实验步骤:

前面板

5.最终完成的界面如上图。

从控件选板中找到各个控件,并放置到前面板上。

6.对各个控件外观、类型和行为进行设置,设置结果如图所示。

A)调节步长:

修改其刻度颜色、标度数值颜色;

B)设定高度:

显示数值显示框;

C)实际液位:

显示数值显示框;

D)压力:

增加指针,并修改刻度颜色,显示指针数值;

E)温度:

显示数值显示框;

F)液位超标:

为一方形指示灯控件。

当为True时,显示绿色;当为False时,显示红色;

7.将第一行5个控件顶端对齐,水平中心分布,并组合在一起。

8.将左下角3个控件左对齐,垂直中心分布,并组合在一起。

9.将这两组控件和图像显示件组合在一起并锁定。

10.文件命名为FrontPanel.Vi并保存。

 

实验2-2

目的:

编写程序,实现将一华氏温度(F)转换成摄氏温度(C)的功能。

已知摄氏温度与华氏温度的关系C=5(F-32)/9。

实验步骤:

前面板

1.程序界面如上图,放置一数值输入控件和一温度计显示件,然后再放置一个STOP按钮。

2.如图修改设置各控件的数值范围,并显示各控件的数值显示框。

 

框图程序

1.程序框图如上图。

注意将STOP按钮同While循环的控制端口相连接。

运行、测试程序

1.单击工具栏上运行按钮

运行VI程序,更改数值输入控件的值,观察程序运行的情况。

2.文件命名为F2C.Vi并保存。

 

实验3子VI程序设计

实验3-1

目的:

创建一个VI程序,以便以后作为子VI程序使用。

创建一个VI程序模拟温度测量。

假设传感器输出电压与温度成正比。

例如,当温度为70°F时,传感器输出电压为0.7V。

本程序也可以用摄氏温度来代替华氏温度显示。

本程序用软件代替了DAQ数据采集卡。

使用DemoReadVoltage子程序来仿真电压测量,然后把所测得的电压值转换成摄氏或华氏温度读数。

前面板:

1.用文件菜单的新建VI选项打开一个新的前面板窗口。

2.把温度计指示部件放入前面板窗口。

a.在前面板窗口的空白处点击鼠标键,然后从弹出的数值子模板中选择温度计。

b.在高亮的文本框中输入“温度计”,再点击鼠标键按钮。

3.在前面板窗口中放入开关控制。

a.在面板窗口的空白处点击鼠标键,然后弹出的布尔子模板中选择垂直滑动杆开关,在文本框中输入“温度值单位”。

b.使用标签工具,在开关的“条件真”(true)位置旁边输入自由标签“摄氏”,再在“条件假”(false)位置旁边输入自由标签“华氏”。

 

框图程序:

1.从窗口菜单下选择显示程序框图功能打开框图程序窗口。

2.点击框图程序窗口的空白处,弹出函数选板,从弹出的菜单中选择所需的对象。

本程序用到下面的对象:

DemoReadVoltageVI程序(教师提供):

在本例中,该程序模拟从DAQ卡的0通道读取电压值。

乘:

在本例中,将读取电压值乘以100.00,以获得华氏温度。

减:

在本例中,从华氏温度中减去32.0,以转换成摄氏温度。

除:

在本例中,把相减的结果除以1.8以转换成摄氏温度。

选择:

取决于温标选择开关的值。

该功能输出华氏温度(当选择开关为false)或者摄氏温度(选择开关为True)数值。

3.把图标移至图示的位置,再用连线工具连接起来。

DemoReadVoltageVI子程序模拟从数据采集卡的0通道读取电压,我们的程序再将读数乘以100.0转换成华氏温度读数,或者再把华氏温度转换成摄氏温度。

4.选择前面板窗口,使之变成当前窗口,并运行VI程序。

点击连续运行按钮

,便程序运行于连续运行模式。

5.再点击连续运行按钮,关闭连续运行模式。

6.创建图标Temp:

此图标可以将本程序作为子程序在其他程序中调用。

创建方法如下:

a.在面板窗口的右上角的图标框中点击鼠标,从弹出菜单中选择编辑图标…功能。

b.双点选择工具,并按下Delete键,消除缺省的图标图案。

c.用画图工具画出温度计的图标。

当图标创建完成后,点击OK以关闭图标编辑。

生成的图标在面板窗口的右上角。

7.创建连线板端口:

a.点击右上角的图标面板,从弹出菜单中选择显示连线板功能。

LabVIEW将会根据控制和显示的数量选择一种联接器端口模式。

在本例中,只有两个端口,一个是竖直开关,另一个是温度指示。

b.把连线板端口定义给开关和温度指示。

c.使用连线工具,在左边的连线板端口框内按鼠标键,则端口将会变黑。

再点击开关控制件,一个闪烁的虚线框将包围住该开关。

d.现在再点击右边的连线板端口框,使它变黑。

再点击温度指示部件,一个闪烁的虚线框将包围住温度指示部件,这即表示着右边的联接器端口对应温度指示部件的数据输入。

8.文件命名为Thermometer.Vi并保存。

实验3-2

目的:

使用一个条件循环结构和一个被测波形图表实时地采集数据。

创建一个VI程序,进行温度测量,并把结果在波形图表上显示。

该VI程序使用我们前面创建的温度计程序(Thermometer.VI)作为子程序。

前面板:

1.打开一个新的前面板窗口,放置一个开关,并给该开关标注为“Enable”。

该开关用来开始/停止数据采集。

2.在前面板内再放置一个波形图表(图形子模板中),标注为“温度历史趋势”。

该图表将实时地显示温度值。

3.由于波形图标的图标注解自动地标注为“曲线0”,用标注工具将其重新标注为“Temp”。

4.因为波形图标用于显示室内温度,需要对它的标尺进行重新定标。

将Y轴的最大值改为“90”,而将最小值改为“20”。

5.此时暂时不要创建模式转换开关,我们将从框图程序窗口创建前面板的部件。

框图程序:

1.打开框图程序窗口。

2.从结构工具模板选择条件循环结构“While循环”放入框图程序窗口,调整该条件循环框的大小,把先前从前面板创建的两个节点放入循环框内。

3.放入其它的框图程序对象。

ThermometerVI,这个VI程序是你在上个练习中创建的(从选择VI…子模板)。

4.按照上图的框图程序连好线。

5.创建“温度值单位”开关。

把连线工具放在ThermometerVI的“温度值单位”输入端口上,按鼠标右键并选择创建—>输入控件,这样就可以自动创建“温度值单位”转换开关,并将它与ThermometerVI子程序相连线,再转换到前面板窗口,将“温度值单位”开关的位置重新调整。

6.在前面板窗口,使用标注工具,为“温度值单位”创建“摄氏”、“华氏”标签。

7.运行程序。

要停止数据采集,点击Enable开关,使其状态变为OFF,循环结束。

8.修改Enable开关缺省设置,使你运行VI程序时不必每次打开该开关。

a.若程序在运行状态,则关闭程序运行。

b.把开关设置为ON状态。

c.点击开关,从弹出菜单中选择数据操作—>当前值设定为默认值选项,这将使ON状态变为缺省值。

d.再点击开关,从弹出菜单中选择机械动作—>单击时触发选项。

9.

运行该程序,观察Enabel开关的变化。

10.如图所示,使VI程序采样间隔为500毫秒。

使用定时子模板中的等待下一个整数倍毫秒函数,再加上时间常量,把它设置为500。

11.运行上述程序,试用不同的时间间隔值。

12.关闭并保存上述程序,文件名为TemperatureMonitor.vi

 

实验4程序结构

(1)

实验4-1

目的:

学习使用for循环结构。

使用3种编程算法,计算0到99之间所有偶数的和。

前面板:

1.放置三个数值显示件。

2.将三个数值显示件分别命名为计算方法1、2、3。

框图程序:

1.按图示分别完成三种算法的程序框图,掌握移位寄存器的使用,并注意编程同时分析比较三种算法。

2.计算方法3中使用了函数商与余数,其功能是求输入两数的余数,在此用作计算循环变量i与2的余数是否为0(即判断i是否为偶数)。

3.将程序命名为ForLoop.vi,并保存。

实验4-2

目的:

学习使用while循环结构。

用while循环,实现输入数N,计算N!

前面板:

1.如上图完成前面板并给控件命名。

框图程序:

1.按图示分别完成程序框图,掌握反馈节点的应用。

2.将程序命名为WhileLoop.vi,并保存。

实验4-3

目的:

以图表方式显示数据并使用分析功能子程序。

利用Thermometer.vi子程序,在数据采集过程中,实时地显示数据。

当采集过程结束后,在图表上画出数据波形,并算出最大值、最小值和平均值。

该练习只使用华氏温度单位。

前面板:

1.添加波形图表,命名为“实时曲线”;添加波形图,命名为“分析曲线”。

2.按照上图添加最大值、最小值、平均值三个数值显示件。

“实时曲线”显示实时采集的数据。

采集过程结束后,在“分析曲线”中画出数据曲线,同时在“最大值”、“最小值”和“平均值”数字显示件中显示出温度的最大值、最小值和平均值。

框图程序:

1.完成上面的框图程序。

其中使用While循环,且输出端口使用索引功能。

其中:

求数组最大、最小值。

求平均值。

2.程序命名为TemperatureAnalysis.vi并存盘。

 

实验5程序结构

(2)

实验5-1

目的:

学习使用Case结构。

建立程序以检测温度是否超出范围,当温度超出上限时或下限时,前面板上的报警LED将点亮,并显示当前的温度状态为“温度过高”或“温度过低”。

在范围内时温度状态为“温度正常”。

前面板:

1.使用波形图表显示实时温度和上、下限值。

并且如图进行配置。

2.添加两个数值输入控件,作为“温度上限”、“温度下限”的输入。

3.添加一个LED指示灯控件,作为报警指示。

报警时为红色,正常时为绿色。

4.添加字符串显示控件,命名为“当前温度状态”。

 

框图程序:

1.上图为不完整的程序框图,其中条件结构只给出了真分支。

请分析程序功能,完成未给出的程序实现功能。

主要实现温度值与上下限的比较,然后输出“温度过高”,“温度过低”,“温度正常”的状态文本,实现对“报警”指示灯的控制。

2.将程序重新命名为TemperatureControl.vi,并保存起来。

实验5-2

目的:

学习使用顺序结构。

用For循环产生一个长度为1000000(1百万)点的随机波形,并计算所用时间。

前面板:

1.使用波形图表控件显示随机数波形,并且如图进行配置。

2.添加一个数值显示件,命名为“用时”。

框图程序:

1.使用顺序结构实现,其中用

函数获得当前时间。

2.将程序命名为Sequence.vi,并保存起来。

 

实验6数据的图形显示

实验6-1

目的:

使用XY图显示图形。

功能描述:

使用XY图控件显示两个同心圆,圆半径分别为5和10。

前面板:

(1)前面板设计。

(2)自行设计后面板程序,实现上述功能。

(3)保存为UseXYGraph.vi。

 

实验6-2

目的:

学习波形图控件应用。

功能描述:

见教材P115页第6.2题。

以不同参数显示正弦和余弦曲线。

前面板:

 

框图程序:

(1)保存为UseWaveformGraph.vi。

 

实验6-3

目的:

学习使用公式节点及图形显示。

功能描述:

见教材P94页第5.5题。

输入m,b,输出结果数组,并以图形方式显示。

前面板:

框图程序:

1、保存为FormulaVI.vi。

 

实验6-4

目的:

制作一个虚拟正弦波仿真信号生成器。

功能描述:

该正弦波仿真信号发生器可产生正弦信号。

指标如下:

频率范围:

0Hz~100Hz,可选。

初始相位:

0°~180°,可选。

幅值:

0~5.0V,可选。

前面板:

 

框图程序:

(1)调整不同数值输入,观察波形变化。

文件保存为SinVI.vi。

 

实验7非连线的数据传递方式

实验7-1控制仿真

1.功能描述

简单模拟工业控制过程,以动画形式显示。

2.设计提示

(1)前面板设计。

枚举控件

前面板上放置枚举控件,在该控件中输入4个选择项:

准备、加水、加压和加热。

该控件实际用来控制4个条件的选择,进而控制3个指示灯和水罐、压力表和温度计的自动加1调整。

(2)后面板设计。

左侧的顺序结构用来进行初始化工作,将初值设置为0。

右边从条件子框图见以下4图。

(3)保存为Sim.vi。

实验7-2数制变换及计数仿真

1.功能描述

模拟十进制数到二进制数的转换过程,以LED来模拟各个二进制位,并能以动画方式模拟计数的过程。

选择手动方式时,将8个LED变成滑动条中数字的二进制(基数2)表示。

例如,如果滑动条设置为数字10(在二进制中表示为00001010=(23)+(21)),LED的1和3点亮,其他LED为熄灭。

选择自动方式时,滑动条自动进行加1操作,实现0到255的循环计数;同时8个LED会实时显示滑动条数值所对应二进制数值。

当滑动条大于255时,自动回0并重新由0开始计数。

2.设计提示

(1)前面板设计。

创建前面板,该前面板具有1个开关控件、1个水平滑动条控件和8个LED指示器。

显示滑动条的数字指示器,确保LED均匀分布并且排列在底部。

【提示】可利用对象的复制功能完成8个LED并利用对象的对齐功能将其摆放整齐。

将水平滑动条控件的数据精度设置为无符号单字节整型(U8)类型,且数值范围为[0,255]。

(2)后面板设计。

部分程序框图如下:

该框图只给出了“手动方式”时的程序框图,请补充完成最左边的条件结构,实现“自动方式”的自动计数功能。

 

(3)保存为LED.vi。

实验7-3全局变量编程

请完成教材P155页练习与思考8.2。

其中,全局变量VI保存为Global.vi;产生三角波并写全局变量的VI保存为Writer.vi;读取全局变量并显示的VI保存为Reader.vi。

实验8文件操作

实验8-1文本文件操作

1.功能描述

用正弦函数产生100个幅值数据,并写入文本文件“c:

\a.txt”。

要求数值间用两个空格分隔,且数据保留三位小数。

2.设计提示

(1)前面板设计。

(2)后面板设计。

两个空格

(3)运行程序,观察文本文件数据。

(4)保存为TxtFile.vi。

实验8-2电子表格文件操作

1.功能描述

用正弦函数产生100个幅值数据,并写入电子表格文件“c:

\a.xls”。

要求同时写入数据编号和数据。

2.设计提示

(1)前面板设计。

(2)后面板设计。

(3)运行程序,观察文件数据。

(4)保存为SpreadsheetFile.vi。

 

实验8-3仿真温度数据的记录

1.功能描述

创建一个VI,可以把温度数据以文本格式添加到某个文件中。

该VI使用For循环产生温度数据,并将它们存储到一个文件中。

在每个循环期间,都要把数据转换成字符串,添加一个逗号作为分隔符,并将字符串添加到文件中。

2.设计提示

(1)前面板设计。

包括一个数字式控制件和一个波形图。

“数据点个数”控制对象指定了需要采集和写入文件的温度数据的数量。

波形图表则用于显示温度曲线。

将波形图表的Y轴范围设置为70.0到90.0,X轴范围设置为0到20。

(2)后面板设计。

程序框图中使用了两个SubVI,说明如下:

DigitalThermometer(Functions->SelectaVI…->\LabVIEW\activity)——返回一个模拟温度测量值(仿真)。

FormatIntoString函数(Functions->String)——将温度数据转换成字符串,并且在数据后面增加一个逗号。

(3)在文件路径中输入一个合法文件路径,运行程序。

运行结束后,观察文件内写入的数据。

(4)保存为WriteFile.vi。

实验8-4仿真温度数据的读取

1.功能描述

创建一个VI,可以从上一个练习中创建的文件中读取数据,并把这些数据显示在一个波形图形中。

必须按照数据保存的格式来读取它,因为原来是用字符串数据类型,把数据保存为ASCII格式,那么就必须用一个文件I/O函数把数据作为字符串读出。

2.设计提示

(1)前面板设计。

前面板中包括一个字符串显示对象String和一个波形图WaveformGraph。

(2)后面板设计。

程序框图中使用了两个SubVI,说明如下:

ReadCharactersFromFileVI(Functions->FileI/O)——用于从文件中读取数据,以及输入字符串中的信息。

如果没有指定路径名称,将出现一个文件对话框提示您输入文件名。

ExtractNumbersVI(LabVIEW\Examples\General\strings.llb)——用于提取由逗号、分行符号、非数值字符等分隔开的数据组成的ASCII字符串,并将它们转换成数值数组。

(3)运行程序,选择由(8-3)生成的数据记录文件,观察读取文件的结果。

(4)保存为ReadFile.vi。

 

实验9网络通讯

实验9-1链接前面板

1.功能描述

编制两个VI,使用链接前面板的方法链接相关控件,实现网络数据的传输。

2.设计提示

(1)打开DataSocketServer。

(2)编写两个VI,并编辑其DataSocket连接属性。

分别保存为VI_1.vi、VI_2.vi。

VI_1.VI:

VI_2.VI:

(3)保存以上2个VI;同时运行两个VI,调整各控件,观察运行效果。

实验9-2DataSocket编程1

1.功能描述

编程仿真调幅波信号,并使用DataSocket实现数据的网络共享。

2.设计提示

(1)编制数据发送VI(保存为DSWriter1.vi)

该VI仿真一个调幅波信号,并发送到DataSocketServer。

调幅波由2个正弦波构成,一个是高频信号(载波),另一个是低频信号(调制信号)。

(2)编制数据接收VI(保存为DSReader1.vi)

(3)运行DataSocketServer,调整输入参数,观察波形变化。

 

实验9-3DataSocket编程2

1.功能描述

数据发送VI:

用波形产生函数

(LabVIEW目录中Activity目录中)产生数据,用WaveformChart显示,并将数据发布到DatasocketServer。

数据订户VI:

接收DatasocketServer的数据,显示波形。

2.设计提示

(1)数据发送VI(保存为DSWriter2.vi)

(2)数据订户VI(保存为DSReader2.vi)

(3)运行DataSocketServer,再运行两个程序,观察数据传递。

 

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 自然科学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1