图2.11机器控制的基本构架
基于状态的程序设计
使用这种基础的架构,我们可以建立复杂机器控制的应用。但是,当逻辑比较复杂的时候,需要使用正确的逻辑架构来完成程序设计。
通过建立软件架构,我们可以创建具有可扩展性、易维护的应用程序。使用由一系列状态构成的架构系统是设计可扩展、易维护的软
件代码的普遍方法。
状态机概述
状态机是一种普遍而有效的软件架构。我们可以利用状态机设计模式来实现状态图或流程图的一些算法。状态机通常阐述一个适当复
杂的决策算法,如诊断方法或过程监测。
状态机包括一系列状态和映射下一个状态的转换函数。当每个状态机处于某个状态或出口时,状态机通过入口来执行动作。因为状态
机属于一个较大的机器控制架构的一部分,不能使用等待声明或循环,除非保留状态或执行算法,如用于数组处理的for循环。
在状态显著的应用软件程序中使用状态机。若我们能够将一个应用软件程序分解为几个不同的运行区域,状态机将是一个很好的软件
架构。每个状态能够引导进入另一个或多个状态或者结束工序流程。状态机依赖于用户输入或状态内计算来确定进入下一步的状态。
很多应用软件程序需要一个初始化状态,其后是一个缺省状态,在缺省状态中我们可以执行一系列动作。和状态一样,这些动作也依
赖于先前和当前的输入。通常使用一个关闭状态来执行清理操作。
使用状态机的例程
为了解使用状态机架构如何给应用软件程序带来众多好处,我们设计一个用于化学反应容器的控制系统。在此应用软件程序中,控制
器需要做到:
1. 等待操作员通过按钮发出指令;
2. 测量两个化学流体流速(两个并行过程);
3. 在充满容器后,运行搅拌器并升高容器内温度。当温度达到200F时,关闭搅拌器并保持10秒温度恒定;
4. 将容器内液体泵入存储罐内;
5. 返回等待状态。
Lab VIEW中的状态机例程
2022-08-20 20:19:36
11.87MB
cRIO
ni
1