状态机是在工程应用中使用最多的设计模型。使用状态机,我们可以很容易的实现程序流程图中的判断、分支。
状态机是由一系列的状态构成的,其中包括一个“初始化”状态,和一个“停止”状态。程序油“初始化”状态开始,由“停止”状态结束。一般来说,在“初始化”状态中进行控件与变量的初始化、打开文件以及创建引用等操作,而在“停止”状态中进行清除临时数据、关闭文件和结束引用等操作。在状态机中,每一个状态都可能导致一个或多个状态的发生,其下一状态是由用户的输入信息和当前状态所决定的。
在决定使用状态机作为我们的设计模型后,我们首先要画出一个状态转换图。在图中要列出系统中的所有状态,以及各个状态之间的转换关系。而且要标明转换所需要的条件。
举个例子,要编程实现以下功能:随机生成100个[0,100]内的自然数,并判断生成的自然数是否在[30,60]的区间内。如果不在该区间内给出报警信息,如果在区间内则将该数累加。
实际上如果我们把生成的随机数看作系统采集到的数据的话,这到题就是模拟了一个采集数据并且在数据不符合要求时报警,并将复合要求的数据进行进一步分析的系统。
要完成这道题目,需要要先画出它的状态转换图:
有了这个状态转换图,我们就可以清晰的看到程序要实现的所有状态以及状态之间的关系。
今天太晚了,如何用LabVIEW来实现这个状态机明天再写
![](https://i-blog.csdnimg.cn/blog_migrate/89519c1340e3e98914472502ab01d879.png)
转载于:https://blog.51cto.com/genreeze/205083