虚拟仪器技术结构程序设计_第1页
虚拟仪器技术结构程序设计_第2页
虚拟仪器技术结构程序设计_第3页
虚拟仪器技术结构程序设计_第4页
虚拟仪器技术结构程序设计_第5页
已阅读5页,还剩61页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

虚拟仪器技术结构程序设计主要内容循环结构分支结构顺序结构公式节点事件结构局部变量和全局变量定时循环菜单第2页,共66页,2024年2月25日,星期天循环结构—While循环操作:Functions->ExecCtrl->WhileLoop第3页,共66页,2024年2月25日,星期天循环结构—While循环操作:Functions->AllFunctions->Structures->WhileLoop第4页,共66页,2024年2月25日,星期天循环结构—While循环结构循环体代码重复端子循环边框条件端子第5页,共66页,2024年2月25日,星期天循环结构—While循环执行流程类似于do…while语句do

循环体语句while(表达式)输出循环次数执行循环体函数结束是循环次数加1否第6页,共66页,2024年2月25日,星期天演示:用While循环实现1~100的累加计算for(i=1;i<=100;i++){sum=sum+i;}第7页,共66页,2024年2月25日,星期天演示:用While循环实现1~100的累加计算初始化第8页,共66页,2024年2月25日,星期天循环结构—While循环注意事项:重复端子从0开始先执行,再判断,至少执行一次结束条件:stopiftrue还是continueiftrue只有循环体执行结束后才能停止第9页,共66页,2024年2月25日,星期天循环结构—For循环操作:Functions->AllFunctions->Structures->ForLoop第10页,共66页,2024年2月25日,星期天循环结构—For循环For循环结构计数端子重复端子第11页,共66页,2024年2月25日,星期天循环结构—For循环执行流程类似于For语句For(i=0;i<N;i++){

语句;}输出当前循环次数i执行循环体函数i<N是循环次数加1否读入总循环次数N第12页,共66页,2024年2月25日,星期天练习:用For循环实现1~100的累加计算。第13页,共66页,2024年2月25日,星期天循环结构内外的数据交换循环体与外部的数据交换通过隧道实现。隧道第14页,共66页,2024年2月25日,星期天循环结构内的自动索引For循环,自动索引默认打开[];While循环,自动索引默认关闭■;自动索引(Auto-Indexing):在循环执行过程中输入或输出数据。第15页,共66页,2024年2月25日,星期天循环结构的自动索引索引隧道:使循环框外面的数据成员逐个进入循环框,或者使循环框内的数据累计成为一个数组后再输出到循环框外。一维数组数据进入循环时,被索引成单个元素;二维数组数据进入循环时,被索引成一维数组;循环体内的数据输出到循环体外时,单个元素被累积,成为一维数组;一维数组累积成为二维数组。第16页,共66页,2024年2月25日,星期天第17页,共66页,2024年2月25日,星期天循环结构—移位寄存器移位寄存器:用于循环体内部的数据交换;两次或多次循环之间交换数据方法:循环左侧或右侧单击快捷键的“AddShiftRegister”两次循环之间传递数据第18页,共66页,2024年2月25日,星期天循环结构—移位寄存器移位寄存器的流程

带有向上箭头的右端子在每一次循环结束时,保存传入其中的数据。在下一个循环开始前传给左端子。第19页,共66页,2024年2月25日,星期天循环结构—移位寄存器移位寄存器可存储任何数据类型:数字,布尔,字符串和数组;但连接到同一个寄存器端子上的数据必须是同一类型;移位寄存器的类型与第一个连接到其端子之上的对象数据类型相同。第20页,共66页,2024年2月25日,星期天循环结构—移位寄存器一个循环可以建立多个移位寄存器。一个移位寄存器可以有多个左端子,但只能有一个右端子。边框右键“AddShiftRegister”右键“AddElement”第21页,共66页,2024年2月25日,星期天循环结构—反馈端子反馈节点:与移位寄存器的功能完全相同。数据在本次循环结束前从反馈节点的箭尾端进入,在下一次循环开始后从箭头流出。操作方法:左右端子快捷键->“ReplacewithFeedbackNode”或者将输出直接连接到输入。第22页,共66页,2024年2月25日,星期天分支结构分支结构类似于C语言中的Switch语句。Swich(表达式){Case常量1:语句1Case常量2:语句2

…Case常量n:语句nDefault:语句n+1}选择器端子分支选择器标签第23页,共66页,2024年2月25日,星期天分支结构选择器端子选择器端子的输入值是由与它相连的输入控件对象决定的。数据类型可以是布尔量、整形、字符串型或者枚举型。当选择器端子的值与选择器标签值没有一个匹配时,就执行默认分支。注意:必须指定默认分支!操作:标签处右键选择“RemoveDefault”

或者“MakeThisTheDefaultCase”第24页,共66页,2024年2月25日,星期天分支结构Case结构快捷菜单

AddCaseAfterAddCaseBeforeDuplicateCaseRemoveEmptyCasesShowCase

第25页,共66页,2024年2月25日,星期天分支结构分支结构的数据的输入和输出是通过隧道来实现的输入数据时,对所有分支有效。输出隧道必须从每一个case中得到明确的输入值,否则程序无法运行。可以为没有连接的分支定义一个默认输出值。第26页,共66页,2024年2月25日,星期天分支结构分支特殊标签说明1,3,4:表示选择了1或3或4;-1..4:表示选择了-1到4的整数;..2:表示所有小于等于2的整数;7..:表示所有大于等于7的整数。第27页,共66页,2024年2月25日,星期天分支结构例子要求:判断学生成绩的等级小于60,不及格;60~69,及格;70~79,中等80~89,良好;90~100,优秀。其它输入错误提示。AllFunctions->Timedialog->onebuttondialogAllFunctions->String->StringConstant数据类型为U8第28页,共66页,2024年2月25日,星期天顺序结构顺序结构依次执行程序,它可以包含多个代码子框图这些代码子框图看起来就像是多帧电影胶片一样,所以把每个子框图称为帧。每个子框图中的代码全部执行结束,才会再开始执行下一个子框图。第29页,共66页,2024年2月25日,星期天选择器标签放置帧代码放置帧代码放置帧代码第0帧第1帧堆叠的顺序结构平铺的顺序结构Functions->AllFunctions->Structures第30页,共66页,2024年2月25日,星期天顺序结构的隧道说明输入隧道得到输入值保持不变,每个帧都可以读取。只能在某个帧中输入数据到输出隧道,超过一个会引起多个数据源错误。输出隧道的值只在整个顺序结构完成执行后才会得到输出。第31页,共66页,2024年2月25日,星期天顺序结构堆叠的顺序结构:不同的框架之间数据的传递,需要使用顺序结构局部变量。平铺的顺序结构,功能同上,但不用局部变量。返回系统运行毫秒数延时第32页,共66页,2024年2月25日,星期天右键,“AddSequenceLocal”输入隧道堆叠顺序例子:在第一帧中加10,在第二帧中加20,在第三帧中加30,显示计算结果。输出隧道第33页,共66页,2024年2月25日,星期天公式节点以文本编程的形式实现复杂的算法代码文本的语法与C语言相似(运算符、代码结构)遇到特殊函数时查表(几十个LabVIEW预定义函数)。放置代码第34页,共66页,2024年2月25日,星期天公式节点输入输出端子是联系节点内文本代码和节点外代码的纽带可以有无数个输入输出端子各输入或输出端子名字不能相同文本代码中,每一个变量必须有一个输入或输出端子与之对应,即使是临时使用的变量也是如此。方法:AllFunctions->Structures第35页,共66页,2024年2月25日,星期天公式节点例子:如果X为非负数,Y等于X的平方根;如果X为负数,Y等于-999注意:公式使用的操作符。右键“AddInput”右键“AddOutput”第36页,共66页,2024年2月25日,星期天应用实例模拟温度采集监测系统要求:

1.用随机数模拟温度数据(20-40摄氏度)

2.采集开始用开关控制,每次采集10个数据,并实时显示(温度计和数值控件),显示采集进度,采样间隔可调

3.开关控制是否转换为华氏温度显示

4.可设温度上限,超限时报警(LED灯亮)第37页,共66页,2024年2月25日,星期天第38页,共66页,2024年2月25日,星期天第39页,共66页,2024年2月25日,星期天事件结构数据流驱动:将整个程序看作一个数据流过的通道。缺点:对界面操作的响应只能通过轮询的方法来实现,不够灵活且占用资源。第40页,共66页,2024年2月25日,星期天事件结构事件:发生了某种事情的通知。事件驱动:系统等待用户或其它触发事件的对象发出消息,并对其做出响应。事件结构能够实现用户和程序的互动操作,如单击某个按钮、改变窗体大小、退出程序等。第41页,共66页,2024年2月25日,星期天事件结构组成超时端子选择标签数据节点放置代码第42页,共66页,2024年2月25日,星期天事件结构组织方式:把多个子框图堆叠在一起。每次只有一个子框图得到执行,该子框图执行完后,事件结构随之退出。一般与循环结构搭配使用。第43页,共66页,2024年2月25日,星期天事件结构分类:按照事件的发出时间来区分,LabVIEW的事件可分为通知事件(Notify):在LabVIEW处理完用户操作之后发出的。过滤事件(filter):在LabVIEW处理用户操作之前发出的,并等待相对应的事件框架执行完成之后,LabVIEW再处理该用户操作。第44页,共66页,2024年2月25日,星期天事件注册提示:避免生成不必要的事件,这样极易引起错误。所以应该避免在同一VI上使用多个事件结构生成方法:静态注册:在程序运行前,对事件结构进行设置,指定哪个子框图响应前面板上的哪些事件,LabVIEW在程序运行时自动对设置的事件进行注册动态注册:在程序运行时改变事件的注册内容。第45页,共66页,2024年2月25日,星期天第46页,共66页,2024年2月25日,星期天局部变量局部变量:可以在一个VI的多个位置实现对前面板控件的访问,也可以在无法连线的框图区域之间传递数据。局部变量是对前面板控件数据的引用;可为一个控制器或指示器建立任意多个局部变量;改变任意一个局部变量,都会改变包括控件本身和其他局部变量在内的所有数据。实现对控制器的写操作和对指示器的读操作。第47页,共66页,2024年2月25日,星期天局部变量操作说明Functions->AllFunctions->Structures方式1:局部变量->快捷菜单->SelectItem方式2:控件->快捷菜单->Create->LocalVariable注意:在默认情况下,新创建的局部变量都是只能写入的端子,在局部变量上弹出快捷菜单,选择“ChangeToRead”,即可把局部变量变为读端子。例子:判断控件输入数据,如果为负数,则将其改为0,并将原数据复制给另外一个输入控件;如果为正数,计算平方根给原控件,原始数据同样复制。第48页,共66页,2024年2月25日,星期天第49页,共66页,2024年2月25日,星期天全局变量全局变量:同时在几个运行的VI之间传递数据(只有前面板,没有框图)。为全局变量文件添加控制器还是指示器无关紧要,使用全局变量时总是同时拥有读和写的权利。(最好把全局变量放在一个文件中)第50页,共66页,2024年2月25日,星期天全局变量的操作创建:New->OtherDocumentTypes->GlobalVariable使用步骤1:Functions->AllFunctions->SelectaVI…->选择建立的全局变量文件使用步骤2:在全局变量的快捷菜单中选择“SelectItem”确定变量,选择“ChangeToRead”改变读写状态。例子:建立一个含有数值型和布尔型控件的全局变量文件,再建立两个VI,一个写入全局变量、一个读取全局变量。第51页,共66页,2024年2月25日,星期天右键“ChangeToRead”第52页,共66页,2024年2月25日,星期天关于全局变量和局部变量慎用局部变量和全局变量占用内存可能引起竞态条件在程序运行之前,必须首先要确定它的初始值是否满足执行要求,如果不满足的话,就要对它们进行初始化。第53页,共66页,2024年2月25日,星期天定时循环定时结构,与时间控制有关。实现Wait等时间函数相同的功能。可以选择使用哪个时间源(硬件)来定时。定时结构的定时效果也要比Wait等函数精确的多。说明:LabVIEW7.1新推出功能。第54页,共66页,2024年2月25日,星期天菜单菜单编辑器菜单编辑按钮菜单类型菜单预览菜单属性操作:Edit->Run-TimeMenu…第55页,共66页,2024年2月25日,星期天菜单菜单类型Default:使用LabVIEW提供的默认菜单Minimal:在Default菜单的基础上进行简化Custom:表示完全由程序员生成菜单第56页,共66页,2024年2月25日,星期天菜单菜单属性ItemType:定义菜单项的类型Application:是一个子菜单,里面包含了所有的系统预定义的菜单项。Separator:建立菜单里的分隔线第57页,共66页,2024年2月25日,星期天菜单UserItem:表示用户自定义选项,必须自己编写代码,才能响应。ItemName:菜单项文本,在其中出现的下划线+字符,例如File(_F),执行菜单为File(F),用于实现快捷键(Alt+F)。ItemTag:菜单项标示出现在程序框图上。所有菜单项的ItemTag必须不同,它是菜单项在框图代码中的唯一标识符。第58页,共66页,2024年2月25日,星期天菜单Enabled复选框:指定是否禁用菜单项Checked复选框:指定是否在菜单项的左侧显示对号确认标记Shortcut文本框:显示该菜单项指定的快捷键,按下键盘制定快捷键(例如:Ctrl+Z)说明:最终菜单保存在同名的rtm文件中。第59页,共66页,2024年2月25日,星期天菜单菜单响应函数操作:Functions->AllFunc

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论