LabVIEW 程序执行架构——条件架构
Case Structure 介绍
Case 这样的结构对于有写程序经验的人应该不陌生,就象是文字式语言中常见的 "if - then - else”,简单地说就是一个条件选择的结构,在这结构中,各种不同情况下的程序码每次都只会有一个被选择执行,而选择的依据有很多种格式可用,如 Boolean、Numeric、String、Enum 等:
Case Structure 操作说明
在使用 Case Structure 时,请记得要将程序码放入 Case 的页面中,而每个页面都会有自己的标签,再透过控制元件来选择。接下来我们会针对于常用的四种控制方式来介绍:
Boolean 控制 Case Structure
先在 Block Diagram 上按鼠标右键跳出 Function Palette 后,在 Programming 内找到 Case Structure,用鼠标拖曳以建立一个新的 Case Structure:
预设的情况下,Case Structure 就会存在 True 及 False 两个 Case。若你要使用 Boolean 来控制时,就直接将 Boolean Control 连接到 Case Structure 的 "?" 输入即可:
Numeric 控制 Case Structure
使用 Boolean 来控制算是最单纯的情况,但若使用别的控制元件来控制,情况可能就会有无限多种,我们先以 Numeric 为例,因为输入的是数值,所以依照数值的范围不同,可能会有负数或是正数表示的数值:
另外还有一个重点需要注意,只要你使用 Boolean 以外的元件做为 Case Structure 的 Selector 输入,都一定要设定某个 Case 为 Default Case,否则程序会处于错误而无法执行的状态,因为若发生超出现有 Case 的情形时,程序会无法判断执行何者。设定的方式就是在该 Case Structure 框架上按鼠标右键并选择 Make This The Default Case 即可:
再则,若想要利用范围的方式来设定 Case,只要在数值间加上 ".." 这个符号即可。举例来说,若你想要该 Case 页面指定在输入为 1 到 100 的数值间皆进入此 Case 执行,你可以输入 "1..100" 做为页签即可:
String 控制 Case Structure
若你是使用 String 来控制的话,你就要使用文字来做为 Case 页面的标签,但要记得在页签上所有的文字都需要以 双引号 (") 来表示。举例来说,若你要使用 Howard 这个字做为 Case 页签,那就要用 "Howard" 来表示:
Enum 控制 Case Structure
或许很多人对于 Enum 这个元件比较陌生,不过这个元件很常被用来做为选单使用。你可以设定文字名称,而它会输出数值到程序中,可以很方便地来做为 Case Structure 选择。建立方式即是在 Front Panel 上按鼠标右键选择 Modern >> Ring & Enum >> Enum 或在 Block Diagram 上按右键选择 Programming >> Numeric >> Enum Constant:
接着在元件上按鼠标右键选择 Edit Items… 即会跳出编辑视窗,再输入所需要的项目文字与对应的值即可:
当将 Enum 连结到一个新建立的 Case Structure 时,因为预设只有两个 Case 页面,你可以按右键来新增;但还有一个很快的方式,就是直接在 Case Structure 框架上按右键选择 Add Case for Every Value,即会自动地帮你新增所有在 Enum 中定义好的项目。所以 Enum 对于 Case Structure 的确很实用喔!