1 条件结构,程序框图禁用结构和条件禁用结构的比较
- 条件结构
- 选择器必须连线
- 不一定有默认分支
- 不允许出现多分支同时满足条件
- 根据选择器决定执行哪个分支,选择器输入数据类型:布尔、字符串、整数、枚举类型或错误簇
- 所有分支都参与编译、生成可执行代码,所有子VI均调入内存
- 检查所有分支错误,任何分支错误均不能执行
- 选择器值与各分支选择标签值要匹配,不同分支标签值不能重叠,所有分支标签值要全范围覆盖
- 必须连接每个条件分支的输出通道
- 程序框图禁用结构
- 必须启用分支
- 执行启用分支
- 只编译启用子程序框图的代码,禁用子程序框图代码不编译不执行不调入内存
- 启用子程序框图错误不能执行,禁用子框图错误只显示不影响执行
- 默认情况下不必连接每个分支的输出隧道,所有未连线的隧道将使用默认值
- 条件禁用结构
- 必须有默认分支
- 允许出现多分支同时满足条件
- 多分支满足条件时只执行最靠前的
- 生成应用程序后不再判断禁用条件
- 根据条件符号的值决定执行某段代码
- 只编译满足条件的活动子程序框图,非活动子程序框图程序不编译不执行不调入内存
- 活动子程序错误不能执行,非活动子程序框图错误不影响执行
- 默认情况下不必连接每个分支的输出隧道,所有未连线的隧道将使用默认值
2 条件禁用结构的使用场景
- 跨平台的程序设计
- 适应不同操作系统的程序设计
- 针对不同用户的定制程序设计
3 条件禁用结构的使用
- 有且只有一个默认分支
- 配置条件:采用预定义符号或自定义条件(在属性中)禁用符号设定条件
- 输出通道未连线时均采用默认值,应考虑合理连线
4 总结
- labview依据条件配置只编译和执行其中的一个子程序框图
- 通常要有一个默认分支
- 配置条件时应该注意区分大小写
- 采用系统预定义的条件符号时,输入的值必须是有效值
- 同时满足多个条件分支的条件时,只执行排在第一个的条件分支
- 使用布尔运算符连接条件创建表达式时,以AND运算符连接的比较式的优先级高于OR运算符连接的比较式
(类似于C语言中的#ifdef宏)