labview经典选择结构
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
选择结构
选择结构相当于文本语言中的条件语句。
LabVIEW8 中新增加的Diagram Disable Structu re,Conditi onal Disable d Structu re 类似C 语言中的条件宏定义语句。
一. 程序框图禁用结构(Diagram Disable Structu re)
在调试程序时常常会用到程序框图禁用结构。
程序框图禁用结构中只有 Enabled的一页会在运行时执行,而 Disable d 页是被禁用、即不会执行的;并且在运行时,Disable页面里的SubVI 不会被调入内存。
所以,被禁用的页面如果有语法错误也不会影响整个程序的运行。
这是一般选择结构(Case Structu re)无法做到的。
图1、2:使用程序框图禁用结构
例如图1、2 中的示例,如果我们在运行程序的时候暂时不希望将test 写入到文件里,但又觉得有可能以后会用到。
此时,就可以使用程序框图禁用结构把不需要得程序禁用掉。
需要注意的是程序框图禁用结构可以有多个被禁用的框架,但必须有且只能有一个被使用的框架。
在被使用的框架中,一定要实现正确的逻辑,比如上图的例子中,在被使用的框架中一定要有连线把前后的文件句柄和错误处理联接好。
二. 条件禁用结构(Conditi onal Disable d Structu re)
条件禁用结构则根据用户设定的符号(symbol)的值来决定执行哪一页面上的程序。
其他方面与程序框图禁用结构相同。
程序中所使用的符号,可以在项目或是运行目标机器(例如“MyCompute r”)的属性里设置。
图3:条件禁用结构
值得注意的是:程序框图禁用结构与条件禁用结构都是静态的,如果需要在运行时决定执行哪一部分的程序可以使用选择结构。
程序框图禁用结构和条件禁用结构的一种实用案例可以参考:《其它常用调试工具和方法》
三. 选择结构(Case Structu re)
在一般情况下,选择结构类似于 C 语言的switch语句。
当输入为bool 数据类型或error 数据类型时,选择结构类似于 C 语言中的if 语句。
图4:枚举类型的 Case Selecto r
有输出时,则每一个框架中都必须连一个数据,当然也可以选择“UseDefault If Unwired”。
选择“UseDefault If Unwired”会有一定的风险,因为你可能会忘记了连线,这时候 LabVIEW并不会提醒你,程序就可能得到不可预料的结果。
如图5所示,鼠标右击数据输出隧道,可以选择是否使用“UseDefault If Unwired”
图5:选择 Use Default If Unwired。