《状态机工具包》的使用方法
NI Developer Suite(开发者套件)中包含一个很实用的工具包——状态机工具包( State
Machine Toolkit)。当然,如果你还没器组成。
图 2 LabVIEW 状态机代码
图 2 中的带有左右箭头和下拉箭头含有字符的小蓝色框我们称为 “枚举常数” 。 这里还要先
介绍一下“枚举”的概念。
枚举类型( Enums)
枚举类型是从 C 语言中借用的概念, 在枚举类型中可将每个连续的整数值从零开始按顺
序分配给每一个名称(或字符串)。例如:红、黄、蓝、绿就分别对应于 0、 1、 2、 3。显
然,使用文字或字符串要比使用数字更直观、方便、概念性更强。假如你有 20 个朋友,你
是喜欢直用接 0-19 个数字来代表他们,还是用名字表示他们,那个更好呢?
枚举最佳的使用方式就是作为 case 结构中的选择开关。因为它更直观的显示出目前的
状态和下个迭代的目标。这里引入枚举的目的就是想通过简单的文字来表示现在所处的状
态,以及下一个将要进入的状态。
补充说一点, 在我的 “虚拟仪器设计方法之一” 一文中的信号发生器的频率调节就是利
用 Ring 控件来实现的,而 Ring 控件的工作方式就是“枚举”的方式。
现在我们还是要回到状态机的讨论上,与事件结构相同是每个状态都有一个 case 结
构, 在这里可进行该状态的处理程序。 不同的是状态机要不停的查询是否有事件发生。 还有
状态机的程序要比事件结构的程序显得复杂的多,很不容易看懂。
的确, 即便引入的枚举,状态机的代码还是不好读懂,到现在我也不想去读懂它, 因为
LabVIEW 状态机工具包可以代替我们做这方面的工作, 我们只需能够将程序抽象为状态图就
可以了。 LabVIEW 状态机工具包可以通过状态图自动生成 LabVIEW 状态机程序构架。正是基
于这样的原因,本单元讲得就相对简单些。
下一小节我们将介绍 LabVIE
《状态机工具包》的使用方法 来自淘豆网m.daumloan.com转载请标明出处.