2022年labview入门教程 2.pdf

上传人:Che****ry 文档编号:27188962 上传时间:2022-07-23 格式:PDF 页数:44 大小:2.23MB
返回 下载 相关 举报
2022年labview入门教程 2.pdf_第1页
第1页 / 共44页
2022年labview入门教程 2.pdf_第2页
第2页 / 共44页
点击查看更多>>
资源描述

《2022年labview入门教程 2.pdf》由会员分享,可在线阅读,更多相关《2022年labview入门教程 2.pdf(44页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。

1、 Labview 入门教程亚为电子科技说明:1、不同 labview 版本,内容大同小异,不要过于核对图标2、必须先安装labview ,亚为的资料,版本不低于2014,如果是串口通信,还要安装NIVISA520。3、直接打开亚为用户资料的“labview 例程/*例程”,看到的是前面板,也就是交互界面。 界面可以自行修改,注意右键- 数据操作-保存默认参数。4、波形图上右键,可以导出或者另存数据。高速采集模式下,yav例程不自动保存,需要手动导出。高速模式下,不要采集时间过长,否则系统崩溃,会内存溢出甚至蓝屏死机。5、如果需要修改算法逻辑, 按下 Ctrl+E 即可打开程序框图界面。 里面的

2、数学符号,仔细研究下,就应该能认识。看懂加减乘除即可。6、这个文档认真看十遍,你就是Labview 编程高手啦,亚为科技不负责 labview 编程指导哦。高手都是自学的。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 1 页,共 44 页 - - - - - - - - - 第一讲:认识Labview 1.1 Labview 简介在开始菜单里找 Labview 点击打开,会出现如下界面:从 FileNew VI 或者从右半部分中的NewBlank VI 都可以打开如下界面:上图中前

3、图是虚拟仪器的前面板,是用户使用的人机界面, 后面的是程序框图界面(即后面板)。在 LabVIEW 的用户界面上,应特别注意它提供的操作模板, 包括工具(Tools )模板、控制( Controls )模板和函数( Functions )模板。这些模板集中反映了该软件的功能与特征。下面我们来大致浏览一下。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 2 页,共 44 页 - - - - - - - - - 工具模板( Tools Palette)该模板提供了各种用于创建、修改和调试

4、VI 程序的工具。如果该模板没有出现, 则可以在 Windows菜单下选择 Show Tools Palette命令以显示该模板。 当从模板内选择了任一种工具后,鼠标箭头就会变成该工具相应的形状。当从 Windows菜单下选择了 Show Help Window 功能后,把工具模板内选定的任一种工具光标放在流程图程序的子程序(Sub VI)或图标上,就会显示相应的帮助信息。工具图标有如下几种:图标名称功能Operate Value(操作值)用于操作前面板的控制和显示。使用它向数字或字符串控制中键入值时,工具会变成标签工具Position/Size/Select ( 选择)用于选择、移动或改变对

5、象的大小。当它用于改变对象的连框大小时,会变成相应形状。Edit Text(编辑文本)用于输入标签文本或者创建自由标签。当创建自由标签时它会变成相应形状。Connect Wire(连线)用于在流程图程序上连接对象。如果联机帮助的窗口被打开时,把该工具放在任一条连线上,就会显示相应的数据类型。Object Shortcut Menu(对象菜单)用鼠标左键可以弹出对象的弹出式菜单。Scroll Windows (窗口漫游)使用该工具就可以不需要使用滚动条而在窗口中漫游。Set/Clear Breakpoint(断点设置清除)使用该工具在 VI 的流程图对象上设置断点。Probe Data(数据探针

6、)可在框图程序内的数据流线上设置探针。通过控针窗口来观察该数据流线上的数据变化状况。Get Color (颜色提取)使用该工具来提取颜色用于编辑其他的对象。Set Color (颜色设置)用来给对象定义颜色。它也显示出对象的前景色和背景色。下面的两个模板是多层的,其中每一个子模板下还包括多个对象。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 3 页,共 44 页 - - - - - - - - - 控制模板( Control Palette)注意:只有打开前面板时才能调用该模板该模

7、板用来给前面板设置各种所需的输出显示对象和输入控制对象。每个图标代表一类子模板。如果控制模板不显示,可以用Windows 菜单的Show Controls Palette功能打开它,也可以在前面板的空白处,点击鼠标右键,以弹出控制模板。控制模板如右图所示,它包括如下所示的一些子模板。子模板中包括的对象,我们在功能中用文字简要介绍。图标子模板名称功能Numeric(数值量)数值的控制和显示。包含数字式、指针式显示表盘及各种输入框。Boolean(布尔量)逻辑数值的控制和显示。包含各种布尔开关、按钮以及指示灯等。String & Path(字 符串和 路径)字符串和路径的控制和显示。Array &

8、 Cluster (数组和簇)数组和簇的控制和显示。List & Table(列表和表格)列表和表格的控制和显示Graph(图形显示)显示数据结果的趋势图和曲线图。Ring & Enum(环与枚举)环与枚举的控制和显示。I/O(输入/ 输出功能)输入/ 输出功能。于操作OLE 、ActiveX 等功能。Refnum 参考数10 Digilog Controls(数字控制)数字控制11 Clussic Controls(经典控制)经典控制,指以前版本软件的面板图标。12 Activex 用于 ActiveX 等功能。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - -

9、 - - - - - - - - 名师精心整理 - - - - - - - 第 4 页,共 44 页 - - - - - - - - - 13 Decorations(装饰)用于给前面板进行装饰的各种图形对象。14 Select a Controls(控制选择)调用存储在文件中的控制和显示的接口。15 User Controls(用户控制)用户自定义的控制和显示。功能模板 (Functions Palette) 注:只有打开了流程图程序窗口(即后面板),才能出现功能模板。功能模板是创建流程图程序的工具。该模板上的每一个顶层图标都表示一个子模板。若功能模板不出现,则可以用 Windows菜单下的

10、 Show Functions Palette功能打开它,也可以在流程图程序窗口的空白处点击鼠标右键以弹出功能模板。功能模板如右图所示,其子模块如下所示。(个别不常用的子模块未包含)图标子模板名称功能Structure(结构)包括程序控制结构命令,例如循环控制等,以及全局变量和局部变量。Numeric(数值运算)包括各种常用的数值运算,还包括数制转换、三角函数、对数、复数等运算,以及各种数值常数。Boolean(布尔运算)包括各种逻辑运算符以及布尔常数。String(字符串运算)包含各种字符串操作函数、数值与字符串之间的转换函数,以及字符 (串)常数等。Array (数组)包括数组运算函数、数

11、组转换函数,以及常数数组等。Cluster (簇)包括簇的处理函数,以及群常数等。这里的群相当于 C语言中的结构。Comparison (比较)包括各种比较运算函数, 如大于、小于、等于。Time & Dialog(时 间和对 话框)包括对话框窗口、时间和出错处理函数等。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 5 页,共 44 页 - - - - - - - - - File I/O(文件输入/ 输出)包括处理文件输入 / 输出的程序和函数。Data Acquisition(

12、数据采集)包括数据采集硬件的驱动,以及信号调理所需的各种功能模块。Waveform( 波形)各种波形处理工具Analyze (分析) 信号发生、时域及频域分析功能模块及数学工具 。Instrument I/O (仪器输入 /输出)包括 GPIB(488、488.2) 、串行、 VXI 仪器控制的程序和函数,以及VISA的操作功能函数。Motion & Vision(运动与景像)Mathematics(数学)包括统计、曲线拟合、公式框节点等功能模块,以及数值微分、积分等数值计算工具模块。Communication(通讯)包括 TCP 、DDE 、ActiveX 和 OLE等功能的处理模块。App

13、lication Control (应用控制)包括动态调用VI 、标准可执行程序的功能函数。Graphics & Sound (图形与声音)包括 3D 、OpenGL 、声音播放等功能模块。包括调用动态连接库和CIN 节点等功能的处理模块。Tutorial (示教课程)包括 LabVIEW 示教程序。Report Generation(文档生成)Advanced (高级功能)Select a VI (选择子 VI)User Library( 用 户 子VI库)下面我们通过练习掌握如何应用Labview7.1 练习一: 建立一个测量温度和容积的VI 步骤如下:1.选择 File?New VI ,

14、打开一个新的前面板窗口。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 6 页,共 44 页 - - - - - - - - - 2.从 ControlsAll Controlsnumeric中选择Tank 放到前面板中。(注:如果前面板中没有Controls模版,可在菜单栏选windowshow controls palette,即可打开或直接点击鼠标右键)3.在标签(Tank)文本框中输入“容积”,然后在前面板中的其他任何位置单击一下。4.同样从 ControlsAll Cont

15、rolsnumeric中选择 Thermometer 放到前面板中5.在标签文本框中输入 “温度计”,然后在前面板中的其他任何位置单击一下。6.把容器显示对象的显示范围设置为0.0 到 1000.0。a. 双击容器坐标的10.0 标度,使它高亮显示。 在坐标中输入 1000,再在前面板中的其他任何地方单击一下。这时 0.0 到 1000.0 之间的增量将被自动显示。7. 在容器旁配数据显示。将鼠标移到容器上,点右键,在出现的快速菜单中选Visible ItermsDigital Display即可。前面板如下图所示:图 1 练习一的前面板图8. WindowsShow block Diagra

16、m 打开流程图窗口,在窗口中建立如下程序:名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 7 页,共 44 页 - - - - - - - - - 图2 练习一的流程图该流程图中新增的对象有两个乘法器、两个数值常数、两个随机数发生器、一个延时函数, 一个 while 循环,一个布尔常量, 温度和容积对象是由前棉板的设置自动带出来的。a. 乘法器( Multiply)、随机数发生器( Random number (0-1) )和数值常数(Numberic constant)由Funct

17、ionsAll FunctionsNumeric中拖出。 (注:如果面板中没有Functions模版,可以从菜单栏中选WindowShow Functions palette 或点击鼠标右键)b. 延时函数(Time delay)可以从FunctionsAll FunctionsTime&DialogTime delay中拖出,在自动弹出的对话框中输入要延时的时间(比如0.5s )。9连线:把鼠标放到函数端子上,当鼠标自动变为连线模式并出现一闪一闪时,点击一下鼠标左键然后找要连接的函数端子,当鼠标出现一闪一闪时, 再次点击鼠标左键,这时就把两个函数连接起来了。10. 最后选FunctionsA

18、ll FunctionsStructuresWhile Loop,在已编好的程序左上角点击鼠标左键,然后移动鼠标, 直到出现的虚线把程序全包含起来再点鼠标左键, 就创建了一个 While 循环。在右下角条件端子上点击鼠标右键,再弹出的菜单里选Creat constant就可,目的是让循环能够维持下去。11. 在前面板中,单击 Run (运行) 按钮,运行该 VI 12. 在后面板的工具栏中点击类似灯泡状的按钮,就可以看见程序中各个数据流的走向。13. 选择 File?Save , 把该 VI 保存到任意目录下。14. 选择 File?Close ,关闭该 VI 。练习一 结束附注与说明:1.

19、显示对象( Indicator)、控制对象( Control )和数值常数对象显示对象和控制对象都是前面板上的控件,前者有输入端子而无输出端子,后者正好相反, 它们分别相当于普通编程语言中的输出参数和输入参数。数值常随 机 数 发生器乘法函数数值常数延时函数名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 8 页,共 44 页 - - - - - - - - - 数对象可以看成是控制对象的一个特例。在前面板中创建新的控制对象或显示对象时, LabVIEW 都会在流程图中创建对应的端子。

20、 端子的符号反映该对象的数据类型。 例如,DBL 符号表示对象数据类型是双精度数;TF符号表示布尔数;I16 符号表示 16 位整型数;ABC符号表示对象数据类型是字符串。一个对象应当是显示对象还是控制对象必须弄清楚,否则无法正确连线。 有时他们的图标是相似或相同的,可以根据需要明确规定它是显示对象还是控制对象。 方法是将鼠标移到图标上,然后点右键, 可出现快速菜单 (例见右图)。如果菜单中的第一项是Chang to Control, 说明这是一个显示对象,你可以根据需要,将其变为控制对象。如果菜单中的第一项是Chang to Indicator ,说明这是一个控制对象,你也可以根据需要,将其

21、变为显示对象。2. 关于连线连线是程序设计中较为复杂的问题。流程图上的每一个对象都带有自己的连线端子,连线将构成对象之间的数据通道。因为这不是几何意义上的连线,因此并非任意两个端子间都可连线,连线类似于普通程序中的变量。数据单向流动,从源端口向一个或多个目的端口流动。不同的线型代表不同的数据类型。下面是一些常用数据类型所对应的线型和颜色:类型颜色标量一维数组二维数组整形数兰色浮点数橙色逻辑量绿色字符串粉色文件路径青色当需要连接两个端点时,在第一个端点上点击连线工具(从工具模板栏调用),然后移动到另一个端点,再点击第二个端点。端点的先后次序不影响数据流动的方向。当把连线工具放在端点上时, 该端点

22、区域将会闪烁, 表示连线将会接通该端点。当把连线工具从一个端口接到另一个端口时,不需要按住鼠标键。 当需要连线转弯时, 点击一次鼠标键, 即可以正交垂直方向地弯曲连线,按空格键可以改变转角的方向。接线头是为了帮助正确连接端口的连线。当把连线工具放到端口上, 接线头就会弹出。接线头还有一个黄色小标识框,显示该端口的名字。线型为波折号的连线表示坏线。出现坏线的原因有很多, 例如:连接了两个控制对象; 源端子和终点端子的数据类型不匹配(例如一个是数字型, 而另一个是布尔型) 。可以通过使用定位工具点击坏线再按下 来删除它。 选择Edit?Remove Bad Wires 或者按下 可以一次删除流程图

23、中的所有坏线。当 VI 无法运行,或者显示 Signal has Loose Ends (信号丢失终端)的错误名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 9 页,共 44 页 - - - - - - - - - 信息时,这是一个快捷的调试方法。程序调试技术(以下操作大家可以用练习一尝试)1找出语法错误如果一个 VI 程序存在语法错误,则在面板工具条上的运行按钮会变成一个折断的箭头,表示程序不能被执行。这时该按钮被称作错误列表。点击它,则 LabVIEW 弹出错误清单窗口, 点击其

24、中任何一个所列出的错误,选用 Find功能,则出错的对象或端口就会变成高亮。2设置执行程序高亮在 LabVIEW 的工具条上有一个画着灯泡的按钮,这个按钮叫做“高亮执行”按钮上。点击这个按钮使它变成高亮形式,再点击运行按钮, VI 程序就以较慢的速度运行,没有被执行的代码灰色显示,执行后的代码高亮显示,并显示数据流线上的数据值。这样,你就可以根据数据的流动状态跟踪程序的执行。3断点与单步执行为了查找程序中的逻辑错误,有时希望流程图程序一个节点一个节点地执行。使用断点工具可以在程序的某一地点中止程序执行,用探针或者单步方式查看数据。使用断点工具时,点击你希望设置或者清除断点的地方。断点的显示对于

25、节点或者图框表示为红框,对于连线表示为红点。当VI 程序运行到断点被设置处,程序被暂停在将要执行的节点,以闪烁表示。按下单步执行按钮,闪烁的节点被执行,下一个将要执行的节点变为闪烁,指示它将被执行。你也可以点击暂停按钮,这样程序将连续执行直到下一个断点。4探针可用探针工具来查看当流程图程序流经某一根连接线时的数据值。从Tools工具模板选择探针工具,再用鼠标左建点击你希望放置探针的连接线。这时显示器上会出现一个探针显示窗口。该窗口总是被显示在前面板窗口或流程图窗口的上面。在流程图中使用选择工具或连线工具,在连线上点击鼠标右键,在连线的弹出式菜单中选择“探针”命令,同样可以为该连线加上一个探针。

26、1.2 子 VI 的建立子 VI(SubVI)相当于普通编程语言中的子程序,也就是被其他的 VI调用的 VI。可以将任何一个定义了图标和联接器的 VI 作为另一个 VI 的子程序。在流程图中打开Functions?Select a VI. ,就可以选择要调用的子 VI 。构造一个子 VI 主要的工作就是定义它的图标和联接器 。每个 VI 在前面板和流程图窗口的右上角都显示了一个默认的图标。启动图标编辑器的方法是, 用鼠标右键单击面板窗口的右上角的默认图标,在弹出菜单中选择 Edit Icon。下图显示了图标编辑器的窗口。 可以用窗口左边的各种工具设计像素编辑区名师资料总结 - - -精品资料欢

27、迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 10 页,共 44 页 - - - - - - - - - 中的图标形状。 编辑区右侧的一个方框中显示了一个实际大小的图标。图标编辑器的具体使用细节参阅练习二图标编辑器窗口联接器是 VI 数据的输入输出接口。 如果用面板控制对象或者显示对象从子VI 中输出或者输入数据, 那么这些对象都需要在联接器面板中有一个连线端子。您可以通过选择 VI的端子数并为每个端子指定对应的前面板对象以定义联接器。定义联接器的方法是,用鼠标右键单击面板窗口中的图标窗口,在快捷菜单中选择 Sho

28、w Connector。联接器图标会取代面板窗口右上角的图标。LabVIEW 自动选择的端子连接模式是控制对象的端子位于联接器窗口的左边,显示对象的端子位于联接器窗口右边。选择的端子数取决于前面板中控制对象和显示对象的个数。联接器中的各个矩形表示各个端子所在的区域,可以用它们从 VI 中输入或者输出数据。 如果必要, 也可以选择另外一种端子连接模式。方法是在图标上单击鼠标右键单出快捷菜单,选择Show Connector ,再次弹出快捷菜单,选择Patterns 。下面我们通过一个练习说明具体操作。练习二:子 VI 的建立及调用步骤如下:1. 打开一个 NEW VI 2. 在前面板中放置一个N

29、umber control 控件 (数据输入控件 ) 和一个Number Indicator控件(数据显示),都在All controlsnumberic模板下并把标签分别改为 X 和 X6, 如下图:名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 11 页,共 44 页 - - - - - - - - - 3. 后面板程序图如下图连接,这是一个计算X 的 6 次方程序 (类似的方法,可以修正采集的数据哦)4. 在前面板中,用鼠标右键单击窗口右上角的图标,在快捷菜单中选择Edit I

30、con. ,也可以双击图标激活图标编辑器。注意 只能在 前面板 中编辑图标和联接器。5. 删除默认图标。使用Select Tool(矩形框),单击并拖动想要删除的部分,按下。也可以通过双击工具框中的阴影矩形删除图标。6. 用 Text Tool (文本工具)创建文本(写好后可以用方向键移动文字在图标中的位置)。得到图标将如下图所示。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 12 页,共 44 页 - - - - - - - - - 7. 单击 OK,关闭编辑器。新创建的图标就显

31、示在屏幕右上角的图标窗口中。8. 用鼠标右键单击前面板中的图标窗口,在快捷菜单中选择Show Connector , 设置联接器端子连接模式。 在默认情况下,LabVIEW 会根据前面板中的控制对象和显示对象的数目确定联接器的端子连接模式。因为前面板中有两个对象,所以联接器有两个端子,如右图所示。用鼠标右键单击联接器窗口, 在快捷菜单中选择 Rotate 90 Degrees(旋转 90度),注意联接器窗口的变化, 如右图所示。9. 端子连接到 X 和 X6:a. 点击联接器左部端子。 光标自动变成连线工具, 同时端子变成黑色。b. 单击 X控件对象。一个移动的虚线框把它包围起来,选中的端子的

32、颜色变为与控制 / 显示对象的数据类型一致的颜色。如果单击前面板中的任何空白区域以后,虚线消失,选中的端子变暗,这表示您已经成功地把显示对象和上部端子连接起来。如果端子是白色,则表示没有连接成功。 c. 重复步骤 a 和 b ,把右部的端子和X6 连接起来。c.用鼠标右键单击联接器,在快捷菜单中选择Show Icon . 10. 选择 File?Save,保存该 VI ,保存名为 X6。这样这个 VI 就完成了,并也可以作为子 VI 被其他的 VI 调用。子 VI 的图标在主 VI 的流程图中代表它。11. 调用子 VI。新建一个 New VI 12. 在前面板中放置一个Number cont

33、rol 控件和一个 Number Indicator控件,并把标签分别改为 X 和 X6, 如下图13. 后面板操作。 在 FunctionsAll FunctionsSelect a VI ,选中并打开刚才保存的 VI,并连接好线如下图:14. 运行该程序练习二 结束1.3 使用三种图表模式名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 13 页,共 44 页 - - - - - - - - - 目的:查看VI 分别在三种模式下执行时图表的显示。练习三:建立前面板及流程图如下步骤:

34、1. 在 前 面 板 放 置chart ( ControlsAll ControlsGraphWaveform chart )控件2. 在后面板放置 Sine 函数( FunctionsAll FunctionsNumberic Trigonometricsine) 及Wait Until Next ms Multiple 函 数(FunctionsAll FunctionsTime&DialogWait Until Next ms Multiple)并在左端子建立常数如100。最后放置 while 循环该程序中利用一个while 循环产生连续的 sin(i)函数值,并及时地在 chart图表

35、上显示出来, 现在前面板上的 chart 是一个 strip , 这是一个坐标式显示器,与纸带式图表记录器相似。 每接受一个新数据, 新数据就将显示在右侧, 而原有数据移动到左侧3 用鼠标选中 chart, 点击右键,可在快速菜单中选择Advanced?Update Mode名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 14 页,共 44 页 - - - - - - - - - 子菜单。可以选择更换其他两种更新模式。示波器模式是一个返回式的显示器,与示波器类似。每接受一个新数据时,

36、它就把新数据绘制在原有数据的右侧。 当数据曲线到达显示区的右边缘时, VI 会删除全部图形,从左边缘重新开始绘制曲线。 示波器模式显然要快于条状图模式,因为它不会因为滚动产生溢出。扫描模式更接近于示波器模式, 但是当数据曲线到达显示区的右边时,不会变成空白,而是会出现一个移动的垂线,标记新数据的开始,并当VI 添加新数据时穿过整个显示区。练习三结束。第二讲程序结构2.1 循环结构2.1.1While 循环While 循环可以反复执行循环体的程序,直至到达某个边界条件。 它类似于普通编程语言中的 Do 循环和 Repeat-Until 循环。While 循环的框图是一个大小可变的方框, 用于执行

37、框中的程序, 直到条件端子接收到的布尔值为 FALSE 。该循环有如下特点:计数从 0 开始(i=0 )。先执行循环体,而后i+1 ,如果循环只执行一次,那么循环输出值i=0 。循环至少要运行一次。图 4While 循环示意图由于在练习一中已讲过While 循环的应用, 大家可以自己做下面的练习, 其前面板和流程图如下图所示:循环变量条件端子? ? ? ? ? a 1 ?1.00.00.20.40.60.810230? ? ? D ? o ?10.00.02.04.06.08.0? - ? ? ONOFF名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - -

38、- - - - - - 名师精心整理 - - - - - - - 第 15 页,共 44 页 - - - - - - - - - 2.1.1.1 移位寄存器( Shift Register)移位寄存器可以将数据从一个循环周期传递到另外一个周期。在程序设计中, 经常要用到它创建一个移位寄存器的方法是,用鼠标右键单击循环的左边或者右边,在快捷菜单中选择Add Shift Register。如右图所示。移位寄存器在流程图上用在循环边框上相应的一对端子来表示。右边的端子中存储了一个周期完成后的数据,这些数据在这个周期完成之后将被转移到左边的端子,赋给下一个周期。移位寄存器可以转移各种类型的数据数值、布

39、尔数、数组、字符串等等。它会自动适应与它连接的第一个对象的数据类型。下图表示了它的工作过程图Shift Register 的工作过程可以令移位寄存器记忆前面的多个周期的数值。这个功能对于计算数据均值非常有用。还可以创建其他的端子访问先前的周期的数据,方法是用鼠标右键单击左边或者右边的端子,在快捷菜单中选择Add Element。例如,如果某个移位寄存器左边的端口含有三个元素,那么就可以访问前三个周期的数据。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 16 页,共 44 页 - -

40、 - - - - - - - 练习四使用移位寄存器目的:创建一个可以在图表中显示运行平均数的VI。前面板1. 打开一个新的前面板,按照下图所示创建对象。2. 把波形图表的坐标范围改为0.0 到 2.0 。3. 在添加开关之后,用鼠标右键单击它,在快捷菜单中选择Mechanical Action?Latch When Pressed ,再选择 Operate?Make Current Values Default,把 ON状态设置为默认状态。练习四 的前面板流程图1. 按下图创建流程图。练习四的流程图2. 在流程图中添加 While 循环( Functions?Structures) ,创建移位

41、寄存器。a. 用鼠标右键单击While 循环的左边或者右边,在快捷菜单中选择Add Shift Register。b. 用鼠标右键单击寄存器的左端子,在快捷菜单中选择Add Element,添加一个寄存器。用同样的方法创建第三个元素。3.Random Number (01) 函数( Functions?Numeric )产生 0 到 1 之间的某个随机数。4.Compound Arithmetic 函数( Functions?Numeric )在本练习中,它将返2.00.00.51.01.5500随机数BooleanONOFF名师资料总结 - - -精品资料欢迎下载 - - - - - - -

42、 - - - - - - - - - - - 名师精心整理 - - - - - - - 第 17 页,共 44 页 - - - - - - - - - 回两个周期产生的随机数的和。 如果要加入其他的输入, 只需用右键单击某个输入,从快捷菜单中选择Add Input 。5. 除法函数( Functions?Numeric )在本练习中,它用于返回最近四个随机数的平均值。6. 数值常数 (Functions?Numeric ) 在 While 循环的每个周期,Random Number (0 1)函数将产生一个随机数。VI 就将把这个数加入到存储在寄存器中的最近三个数值中。 Random Numb

43、er (0 1)再将结果除以 4,就能得到这些数的平均值(当前数加上以前的三个数)。然后再将这个平均值显示在波形图中。7.Wait Until Next ms Multiple函数 (Functions?Time & Dialog)它将确保循环的每个周期不会比毫秒输入快。 在本练习中,毫秒输入的值是 500毫秒。如果用鼠标右键单击图标, 从快捷菜单中选择Visible?Label,就可以看到 Wait Until Next ms Multiple的标签。8. 用鼠标右键单击Wait Until Next ms Multiple 功能函数的输入端子,在快捷菜单中选择 Create Constan

44、t。出现一个数值常数,并自动与功能函数连接。9. 将 Constant 设置为 500。这样连接到函数的数值常数设置了500 毫秒的等待时间。因此循环每半秒执行一次。注意,VI 用一个随机数作为移位寄存器的初始值。如果没有设置移位寄存器端子的初始值,它就含有一个默认的数值, 或者上次运行结束时的数值,因此开始得到的平均数没有任何意义。10. 执行该 VI ,观察过程。11. 把该 VI 保存。练习 四 结束。附注:移位寄存器的初值:上面的练习中对移位寄存器设置了初值0.5 。如果不设这个初值,默认的初值是。 在这个例子中, 一开始的计算结果是不对的,只有到循环完次后移位寄存器中的过去值才填满,

45、即第次循环执行后可以得到正确的结果。2.1.2 For循环For 循环用于将某段程序执行指定次数。和 While 循环一样,它不会立刻出现在流程图中, 而是出现一个小的图标, 而后您可以修改它的大小和位置。具体的方法是, 先单击所有端子的左上方, 然后按下鼠标, 拖曳出一个包含所有端子的矩形。释放鼠标时就创建了一个指定大小和位置的For 循环。For 循环将把它的框图中的程序执行指定的次数,For 循环具有下面这两个端子:N: 计数端子(输入端子)用于指定循环执行的次数。I: 周期端子(输出端子)含有循环已经执行的次数。名师资料总结 - - -精品资料欢迎下载 - - - - - - - -

46、- - - - - - - - - - 名师精心整理 - - - - - - - 第 18 页,共 44 页 - - - - - - - - - 上图显示了一可以产生100 个随机数并将数据显示在一个图表上的For 循环。 在该例中, i 的初值是 0,终值是 99。练习五使用 For 循环目的:用 For 循环和移位寄存器计算一组随机数的最大值。打开一个新的前面板,按照下图创建对象。a. 将一个数字显示对象放在前面板,设置它的标签为“最大值”。b. 将一个波形图表放在前面板,设置它的标签为“随机数”。将图表的纵坐标范围改为 0.0 到 1.0 。c. 在图表的快捷菜单中选择Visible I

47、tems?Scrollbar和 Digital Display ,并隐藏 Plot Legend 。d. 用移位工具修改滚动栏的大小。(右键可以导出数据)练习五的前面板和流程图按照上图画流程图。在流程图中放置一个For 循环( Functions?Structures)。 在 For 循环的边框处单击鼠标右键, 在快捷菜单中选择Add Shift Register 。将下列对象添加到流程图。a.Random Number (01)函数( Functions?Numeric )产生 0 到 1 之间的某个随机数。b. 数值常数( Functions?Numeric )在这个练习中需要将移位寄存器

48、的初始值设成 0。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 19 页,共 44 页 - - - - - - - - - c.Max&Min函数(Functions?Comparison )输入两个数值,再将它们的最大值输出到右上角, 最小值输出到右下角。 这里只需要最大值, 只用连接最大值输出。d. 数值常数( Functions?Numeric )For 循环需要知道需要执行的次数。本练习中是 100 次。按照上图连接各个端子。运行该 VI。将该 VI 保存。练习五 结束。2

49、.2 分支结构: Case Case结构含有两个或者更多的子程序(Case), 执行那一个取决于与选择端子或者选择对象的外部接口相连接的某个整数、布尔数、字符串或者标识的值。必须选择一个默认的Case以处理超出范围的数值,或者直接列出所有可能的输入数值。 Case 结构见下图,各个子程序占有各自的流程框,在其上沿中央有相应的子程序标识: Ture、False 或、。按钮用来改变当前显示的子程序(各子程序是重叠放在屏幕同一位置上的)。练习六 使用 Case 结构目的:创建一个 VI以检查一个数值是否为正数。 如果它是正的, VI就计算它的平方根,反之则显示出错。前面板1. 打开一个新的前面板,并

50、按照下图所示创建对象。控制对象用于输入数值,显示对象用于显示该数值的平方根。2.00Number1.41SQRT流程图2. 照下图创建流程图。子程序标识按钮条件端子名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 20 页,共 44 页 - - - - - - - - - 练习六的面板和流程图3.从 Functions?Structures中选择一个 Case 结构,并放置在在流程图中。Case 结构是一个可以改变大小的方框。先来做 Ture 的情况,照流程图上半部分构造。a. Gre

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 高考资料

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知得利文库网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号-8 |  经营许可证:黑B2-20190332号 |   黑公网安备:91230400333293403D

© 2020-2023 www.deliwenku.com 得利文库. All Rights Reserved 黑龙江转换宝科技有限公司 

黑龙江省互联网违法和不良信息举报
举报电话:0468-3380021 邮箱:hgswwxb@163.com