欢迎来到天天文库
浏览记录
ID:21863590
大小:306.50 KB
页数:45页
时间:2018-10-21
《虚拟仪器 结构设计》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第五章结构学习目的:学习For循环、While循环、Case结构和顺序结构了解在LabVIEW中如何使用定时函数了解移位寄存器的应用熟悉公式节点鉴别常见的结构连线错误本地变量和全局变量5.1For循环For循环用于将某段程序执行指定次数。和While循环一样,它不会立刻出现在框图中,而是出现一个小的图标,而后您可以修改它的大小和位置。具体的方法是,先单击所有端子的左上方,然后按下鼠标,拖曳出一个包含所有端子的矩形。释放鼠标时就创建了一个指定大小和位置的For循环。ForLoopFor循环有两个端子:计数端子(
2、输入端子)和重复端子(输出端子)计数端子N:要执行循环的次数0将不执行重复端子i:已执行循环的次数0---N-1次例:5.2While循环While循环可以反复执行循环体的程序,直至到达某个边界条件。While循环的框图是一个大小可变的方框,用于执行框中的程序,直到条件端子接收到的布尔值为FALSE。While循环有两个端子:条件端子(输入端子)和重复端子(输出端子)。该循环有如下特点:计数从0开始(i=0)。先执行循环体,而后i+1,如果循环只执行一次,那么循环输出值i=0。循环至少要运行一次。条件端子输入
3、的是布尔变量,它用于判断循环在什么条件下停止执行。它有两种使用状态:StopifTrue和ContinueifTrue重复端子i为当前循环的次数。输入端子放在循环外部,只在循环运行前读入一次。例:产生随机数For循环和While循环的索引注:自动索引:循环次数由数组长度决定,多个数组输入由最小的决定。禁止索引:循环次数有计数端子决定。5.3移位寄存器和反馈节点移位寄存器可以将数据从一个循环周期传递到另外一个周期。在程序设计中,经常要用到它.创建一个移位寄存器的方法是,用鼠标右键单击循环的左边或者右边,在快捷菜
4、单中选择添加移位寄存器。移位寄存器在框图上用在循环边框上相应的一对端子来表示。右边的端子中存储了一个周期完成后的数据,这些数据在这个周期完成之后将被转移到左边的端子,赋给下一个周期。移位寄存器可以转移各种类型的数据--数值、布尔数、数组、字符串等等。它会自动适应与它连接的第一个对象的数据类型。下图表示了它的工作过程。通过设置移位寄存器,可以保留前面多次循环的数据值。添加多个移位寄存器的左端子,只能有一个右端子。举例:在For循环或While循环中,反馈节点用于将子VI、函数或一组子VI和函数的输出连接到同一个
5、子VI、函数或组的输入上—即创建反馈路径。举例:反馈节点的不同实现例求5.4分支结构:CaseCase结构含有两个或者更多的子程序(Case),执行那一个取决于与选择端子或者选择对象的外部接口相连接的某个整数、布尔数、字符串或者标识的值。必须选择一个默认的Case以处理超出范围的数值,或者直接列出所有可能的输入数值。Case结构见下图,各个子程序占有各自的流程框,在其上沿中央有相应的子程序标识:真、假或1、2、3…。按钮用来改变当前显示的子程序(各子程序是重叠放在屏幕同一位置上的)。子程序标识按钮条件端子1添
6、加和删除分支指定默认分支。2连接输入和输出对所有条件分支来说对于输入通道的数据可以使用,也可以不使用。如果任何一个分支提供了输出数据,则所有分支也都必须提供。条件结构应注意的问题:在使用选择结构时,控制条件的数据类型必须与图框标识符中的数据类型一致。二者若不匹配,LabVIEW会报错,图框标识符中字体的颜色将变为红色。在LabVIEW中,对于数值型条件必须包含处理超出范围值的默认分支,对于其它类型的条件可设或不设,但必须明确地列出每一个可能的输入值。例:利用条件结构编写温度采集报警程序,当采集温度高于设定值时
7、产生报警。练习:设计一个评分程序,输入不同的分数会得到不同的评论。分数小于60,“警告”指示灯会亮起来,同时显示字符串“你没有通过考试!”;分数在60-99之间,“通过”指示灯会亮起来,同时显示字符串“你考试通过了!”;分数为100,“恭喜”指示灯会亮起来,同时显示字符串“你是第一名!”;如果输入为0-100以外的数字,会有错误提示,同时显示字符串“错误!”。5.5顺序结构(SequenceStructure)在代码式的传统编程语言中,默认的情况是,程序语句按照排列顺序执行,但LabVIEW中不同,它是一种图
8、形化的数据流式编程语言。在图中,假设有A、B、C、D4个节点,其数据流向如图所示。按照数据流式语言的约定,任何一个节点只有在所有的输入数据有效时才会执行,所以图中,当且仅当A、B、C3个节点执行完,使得D节点的3个输入数据都到达D节点后,D节点才执行。但是你要注意,这里并没有规定A、B、C3个节点的执行顺序。在LabVIEW中这种情况下,A、B、C的执行顺序是不确定的,如果你需要对它们规定一个确定的
此文档下载收益归作者所有