虚拟仪器实验指导书汉化Word文档下载推荐.docx
《虚拟仪器实验指导书汉化Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《虚拟仪器实验指导书汉化Word文档下载推荐.docx(20页珍藏版)》请在冰点文库上搜索。
步骤:
1.打开一个新的显示前面板,按照下图创建对象。
a.将一个“数字显示对象”放在前面板,设置它的标签为“乘积”。
b.将一个“数值输入控件”放在前面板,设置它的标签为“正整数”;
将另一个“数值输入控件”的标签设置为初始值。
将一个“数值显示控件”放在前面板,设置它的标签为“乘积”。
图1-1 实验1-1的面板和流程图
2.打开流程图按照上图对其创建。
3.在“显示程序框图”中放置一个For循环(Functions»
Structures)。
4.在For循环的边框处单击鼠标右键,在快捷菜单中选择替换为移位寄存器。
5.将下列对象添加到“显示程序框图”。
a在这个练习中需要将移位寄存器的初始值设成1。
b由于循环数i是从0至n-1,所以程序中要有
模块,从而进入乘法器
的数值是从1~n。
c正整数(Functions»
Numeric)——For循环需要知道需要执行的次数。
本练习中是要求阶乘的正整数。
6.按照上图连接各个端子。
7.运行该VI。
8.将该VI保存为LabVIEW\Activity目录下。
实验(1-2)用While循环设计平均数滤波器
3.掌握While循环及其移位寄存器使用方法。
利用While循环及其移位寄存器进行数据滤波。
在While循环框架中产生一个随机数,然后将这个随机数与前三次循环所产生的随机数求平均值,最后将平均值送到前面板上显示。
利用移位寄存器可得到前三次循环产生的随机数。
1.在前面板上创建各个控件如图。
图1-2实验1-2的前面板
2.用工具模板中的文字编辑控件将图形纵坐标的范围改为从0到1。
3.创建流程图如下:
图1-3实验1-2的流程图
1.在流程图中添加While循环并创建移位寄存器。
a)右键单击While循环的左边或右边边框,在弹出的菜单中选择AddShiftRegister。
b)右键单击While循环的左边框,在弹出的菜单中选择“添加元素”,重复一次,又添加了两个寄存器元素,共计3个寄存器元素。
算术与比较-Express数值-复合运算(+),增加输入,右键弹击并在弹出的菜单中选择“增加输入”至4输入,从而得到
注意VI用随机数对寄存器进行初始化,如果不对寄存器的终值进行初始化,它包含的是默认值或前面运行的结果值,所以最初的几个平均值没意义。
5.运行该VI观察结果。
6.保存VI为RandomAverage.vi,路径LabVIEW\Activity。
实验(1-3)顺序结构的使用
了解和掌握顺序结构的使用方法
用FOR循环产生长度为2000的随机波形,并计算所用时间。
这是典型的顺序结构应用。
第一步确定FOR循环开始前的系统时间;
第二步运行FOR循环;
第三步确定FOR循环结束后的系统时间;
最后两式相减即得FOR循环的运行时间。
创建流程图如下:
图1-4实验1-3的流程图
前面板如下:
图1-5实验1-3的前面板
运行该VI,改变循环次数观察运行时间。
实验(2-1)创建一个数组具有自动索引
1.熟悉前面板和流程图的界面环境;
2.熟悉工具模板、控制模板和函数模板的使用;
3.熟悉和掌握数组的创建方法及其使用。
创建一个具有自动索引的波形数组。
1.打开一个前面板,放置一个数组的框架,标签写为WaveformArray。
2.然后往里放置一个数字显示控件,如图。
3.放置一个waveformgraph,并用重新定尺寸的工具拖曳其角,扩大该图。
4.隐藏图例和模板。
5.右键单击Y轴,选择不自动标注Y轴。
6.使用文本工具,将Y轴标注为从-0.5到1.5。
7.建流程图如下:
图2-1实验2-1的流程图
其中GenerateWaveformVI(Functions»
SelectaVI…fromtheLabVIEW\Activitydirectory)
8.在前面板运行该VI,能够自动索引。
初始X值为0,DeltaX为1。
9.将DeltaX改为0.5,X为20,重新运行该程序。
10.通过在索引显示中输入索引,你能观察波形数组中的任意元素。
若你输入的数大于数组的尺度,显示会变暗。
(也可以拖曳数组显示的大小,同时观察多个元素)
图2-2拖曳数组显示的大小
11.返回到流程图,删除打包函数和与其相连的常数。
完成重新连线如下图
图2-3修改后的流程图
12.运行该VI。
注意VI的初始X值为0,增量DeltaX为1。
图2-4再次修改的流程图
13.重建你的程序框图如前。
其中
(Functions»
Numeric»
Trigonometric),
(Functions»
Array),
Piconstant(Functions»
AdditionalNumericConstants)
14.返回前面板,运行VI。
15.保存该VI作为GraphWaveformArrays.vi路径LabVIEW\Activitydirectory.
实验(2-2)簇的创建和解包
学习创建簇、分解簇,再捆绑簇并且在另一个簇中显示其内容。
实验内容和步骤如下:
图2-5 实验2-2的面板和框图
1.打开前面板,创建一个簇壳(Array&
Clusterpalette),标签改为InputCluster,拖曳至适当大小。
2.在这个簇壳中放置一个数字Control,两个布尔开关,和一个串Control。
3.仿照以上步骤,创建OutputCluster如上。
注意将各Control改为相应的indicator。
4.用快速菜单查看两个簇的序是否一致,若有差别,改之。
5.在前面板上设置一个[STOP]按钮。
注意其缺省值为FALSE,不要改变它的状态。
6.建立如上面所示的流程图。
注意在[STOP]按钮与循环条件端子之间接入了一个NOT函数,因为按钮缺省值为FALSE,经NOT函数后变为TRUE,这就意味着当按钮状态不变时,循环继续执行,相反一旦按钮动作,则循环终止。
7.返回前面板并运行VI。
在输入簇中输入不同的值观察输出。
8.关闭并保存程序。
ClusterExercise.vi
实验3-1数据的图形显示
创建一个VI程序,以便以后作为子VI程序使用。
假设现有一个可以测量温度的传感器,并假设传感器的输出电压和温度和正比。
学生将要使用LabVIEW\Activity目录中的某个VI仿真温度测量和电压测量(单位是伏特)。
还要创建一个VI来仿真电压测量,然后把所测得的电压值转换成摄氏或华氏温度读数。
1.选择File>
>
New,打开一个新的前面板窗口。
如果已经关闭了所有的VI窗口,那么就从LabVIEW对话框中选择NEWVI。
如果没有显示控制模板(ControlPalette),选择Windows>
ShowControlsPalette可以打开它,也可以通过在前面板的空白区域单击鼠标右键弹出控制模板。
2.从Controls>
Numeric中选择Tank,再将它放到前面板中。
3.在标签文本中输入Volume,然后在前面板中的其他任何位置单击一下。
如果在文本框中不输入任何文本就单击文本框以外的区域,标签会自动消失。
要再次显示标签,只需要在控制对象上单击鼠标右键,在弹出菜单中选择Show>
Label。
4.把容器显示对象的显示范围设置0.0到1000.0。
a.使用标签工具(LabelingTool),双击容器坐标的10.0标度,将它高亮显示。
b.在座标中输入1000,再在前面板中的其它任何地方单击一下。
这时0.0到1000.0之间的增量将被自动测出。
5.前斜面板中,从Controls>
Numeric中选择一个温度计,再将它放到前面板中。
设置它的显示范围为0到100。
6.程序的前面板如下图所示:
图3-1前面板
7.选择Windows>
ShowDiagram打开流程图窗口。
从功能模板中选择下列对象,再将它们放到流程图上。
(如果没有显示功能函数模板,选择Windows>
ShowFunctionsPalette可以打开它,也可以通过在前面板的空白区域单击鼠标右键弹出功能函数模板。
)
8.把下列对象放到流程图上。
进程监视器(ProcessMonitor)(在LabVIEEW\Activity目录中选择Function>
SelectaVI)
9.如果要查看或某个功能函数或者VI的输入输出。
需要从Help菜单中选择ShowHelp,再把光标置于这个功能函数或者VI上。
进程监视器VI的Help窗口显示如下图所示:
10.使用连线工具把所有对象按照下图连接起来。
图3-2温度和容量仿真的流程图
要想在流程图中移动对象,首先要单击工具模板中的移位工具。
11.选择File》Save,把该VI保存为LabVIEW\Activity目录中的Temp&
Vol.vi。
12.在前面板中,单击Run(运行)按钮,运行该VI。
注意电压和温度的数值都显示在前面板中。
13.选择File>
Close,关闭该VI。
实验(3-2)趋势分析图
使用一个条件循环结构和一个被测波形图表实时地采集数据。
创建一个VI程序,进行温度测量,并把结果在波形图表上显示。
该VI程序使用我们前面创建的温度计程序(ThermometerVI)作为子程序。
前面板:
1.打开一个新的前面板窗口,在里面放一个竖直开关(在Boolean逻辑部件子模板),给该开关标注为“Enable”。
你可以用该开关来开始/停止数据采集。
2.在前面板内再放置一个趋势图(Graph子模板中的WaveformChart),标注为“温度历史趋势”。
该图表将实时地显示温度值。
3.由于趋势图将它的图标注解plot自动地标注为“plot0”,你可以用标注工具将其重新标注为“Temp”。
4.因为趋势图用于显示室内温度,需要对它的标尺进行重新定标。
将Y轴的“10”改为“90”,而将“0.0”改为“20”。
5.此时暂时不要创建模式转换开关,我们将尝试从框图程序窗口创建前面板的部件。
框图程序:
1.打开框图程序窗口。
2.
条件循环结构是一种无限循环结构,只要条件满足,它就一直循环运行下去。
在本例中,只要允许开关(EnableSwitch)是ON状态,该VI程序就一直运行,采集温度测量值,并在图表上显示。
从结构(Structures)工具模板选择条件循环结构“WhileLoop”放入框图程序窗口,调整该条件循环框的大小,把先前从前面板创建的两个节点放入循环框内。
3.放入其它的框图程序对象。
ThermometerVI,这个VI程序是你在上个练习中创建的,从Seminar.LLB中调出(从SelectaVI…子模板)。
4.按照上图的框图程序连好线。
5.创建模式开关。
把连线工具放在ThermometerVI的Mode输入端口上,按鼠标右键并选择CreatControl,这样就可以自动创建模式转换开关,并将它与ThermometerVI子程序相连线,再转换到前面板窗口,将模式转换开关的位置重新调整。
6.在前面板窗口,使用标注工具,双击模式开关的“OFF”标签,并把它转换成“华氏”,再把“ON”标签转换民“摄氏”。
要转换开关状态,使用操作工具(OperatingTool)。
7.将模式开关设置为ON状态,运行该VI程序。
8.要停止数据采集,点击Enable开关,使其状态变为OFF,循环结束。
9.修改Enable开关缺省设置,使你运行VI程序时不必每次打开该开关。
a.若程序在运行状态,则关闭程序运行。
b.把开关设置为ON状态。
c.点击开关,从弹出菜单中选择DataOperations>
MakeCurrentValueDefault选项,这将使ON状态变为缺省值。
d.再点击开关,从弹出菜单中选择MechanicalAction>
LatchWhenPressed选项。
10.运行该程序,把开关点击为Stop状态以停止数据采集。
开关将变为OFF状态,但当条件循环结构再次读取其数值时,它又会变成ON状态。
增加定时器控制:
当你运行程序时,它将会尽可能快地运行。
但是你也许希望以一定的时间间隔,例如一秒钟一次或者一分钟一次来采集数据。
你可以用WaitUntilNextmsMultiple功能(在Time&
Dialog子模板)来满足上述条件。
该功能模块可以保证循环间隔时间不少于指定的毫秒数。
如右图所示,使VI程序采样间隔为500毫秒。
使用Time&
Dialog子模板中的WaitUntilNextmsMultiple功能,再加上时间常数NumericConstant,把它设置为500。
11.
运行上述程序,试用不同的时间间隔值。
12.关闭并保存上述程序,文件名为TemperatureMonitor.vi。
实验3-3使用Graph图形
创建一个VI测量温度并实时显示该值,同时能够显示温度的平均值、最大值和最小值。
1.创建一个前面板如图所示。
2.创建一个程序框图如图所示。
DigitalThermometerVI(Functions»
SelectaVIfromtheLabVIEW\Activitydirectory)。
WaitUntilNextmsMultiplefunction(Functions»
Time&
Dialog)
Numericconstant(Functions»
Numeric)
ArrayMax&
Minfunction(Functions»
Array)
MeanVI(Functions»
Analysis»
ProbabilityandStatisticsor
Functions»
BaseAnalysisforLabVIEWBasePackageusers)
Bundlefunction(Functions»
Cluster)
3.返回前面板,运行该VI。
.
4.保存该VI文件名为:
TemperatureAnalysis.vi路径:
LabVIEW\Activitydirectory。
实验4构建正弦波信号发生器
进一步熟悉数字控件和显示件的用法。
要求正弦波信号发生器的频率0.110kHz,可选;
初始相位:
0180,可选;
幅值:
0.15V,可选。
前面板设计
1五个输入型数字控件:
信号频率、初相位、幅值、采样点数、采样频率。
2一个输出显示型图形控件:
图形控件Graph。
3两个开关控件
流程图设计
注意正弦波信号的控件调入是在流程图中的执行
Function>
Analyze>
SignalProcessing>
SignalGeneration>
SineWave.ie
实验5-1向Excel写数据
了解LabVIEW的DDE功能。
动态数据交换(DynamicDataExchange)是Windows应用程序之间通讯的协议。
LabVIEW对DDE客户与服务器两者都支持。
①建立VI流程图如下
②打开Excel建立文件名为fdde.xls的文件。
③运行VI,观察结果。
DDEOpenConversationVI首先建立与MicrosoftExcel的对话,给这个VI的service参数输入要求服务的名称,给它的topic参数输入交换数据的文件名fdde.xls。
这个VI产生一个对话参考数Conversationrefnum,传递给后面的VI。
第一个DDEPokeVI向fdde.xls电子表文件写入第一列数据,即序号,for循环的循环数i加1变为自然数,再由NumbertoDecimalString函数转换为字符串,输入DDEPokeVI的data参数。
这个字符串再经过ConcatenateStrings函数与其它字符常量合成一个字符串RiC1。
i是1~12的自然数。
字符串RiC1输入DDEPokeVI的item参数,指定数据写在fdde文件1~12行、第1列的位置。
其中所有字符串转换函数都在String>
String/NumberConversion函数子模板中。
字符串RiC1经过SearchandReplaceString函数替换后成为字符串RiC2。
随机数经过NumbertoFractionalString函数转换成一个带小数的字符串。
再次调用DDEPokeVI将数据写入fdde文件1~12行、第2列的位置。
实验5-2由Excel读数据
实验步骤:
创建LabVIEW程序作为客户程序从Excel电子表文件读回前面程序写的数据。
这个程序与前面程序不同之处在于它调用了两次DDERequestVI,分别读出fdde.xls文件的两列数据,再转换为数值型数据。