labview的深入探索-----状态机的基本概念

2015-08-25 10:01:37来源: eefocus
状态机不是LABVIEW独有的概念,早在LABVIEW诞生之前,就有了状态机(STATE MACHINE)的概念,只所以在LABVIEW编程中经常强调状态机是因为LABVIEW特有的图形编程方式特别适合于采用状态机模式编程,在PLC中有流程图的编程方式,从本质上说,那是一种特殊的状态机。

STATE MACHINE包括三个基本要件,STATE、EVENT 、ACTION,状态、事件和动作

状态:是一个抽象的概念在一定条件下或者一定时间内保持不变,等待一个或几个事件的发生,命名状态时,往往可以用等待--来定义。

事件:是一个瞬时的概念,表示某件事情发生了,一旦有关的事件发生了,势必要采取某种动作。

动作:表示一旦事件发生,采取何种处理方式,处理的结果就是另一个稳定的状态。

状态(等待事件)---》事件发生----》采取动作----》另一个状态。

状态机的概念是非常简单的,越是简单的东西越不容易处理,原因是简单则限制少,则灵活,状态机设计的好坏完全取决于编程者的水平,这不仅仅指LABVIEW编程的水平,更重要的是编程者的逻辑思维,一个好的状态机的设计,关键是如何定义状态,状态少了,则意味着每一个状态中要处理的事务多了,状态多了,则整个状态机就变的复杂了。

以一个简单的红绿灯控制来说,简单地说有两个状态,红色状态和绿色状态,事件是绿灯时间到和红灯时间到,绿色时间到触发的动作是,绿色灯灭,红色灯量,红色时间到触发的动作是红色灭,绿灯量。

我过去的文章中多次提到ACTION ENGINE的概念,它与状态机的区别是,它仅仅定义了ACTION,而没有定义STATE和EVENT,因此,它的ACTION完全取决于编程者,而状态机自己本身就可以根据内部或者外部条件的变化,自动采取相应的动作,转入其它的状态,实现控制自动化。

有多种形式的STATE MACHINE,我将在后续的文章中陆续介绍,先看一下红绿灯的实现过程,假如绿灯亮20秒,红灯亮10秒。

先定义三个基本状态:初始化(仅在第一次调用时发生),等待绿灯结束和等待红灯结束。
LABVIEW的严格枚举数据类型是LABVIEW状态机定义状态的最好工具,使用状态机时,必须要使用这种数据类型,好处是增加或者减少状态,程序可以自动更新。



关键字:labview  状态机  基本概念

编辑:什么鱼 引用地址:http://www.eeworld.com.cn/Test_and_measurement/2015/0825/article_12916.html
本网站转载的所有的文章、图片、音频视频文件等资料的版权归版权所有人所有,本站采用的非本站原创文章及图片等内容无法一一联系确认版权者。如果本网所选内容的文章作者及编辑认为其作品不宜公开自由传播,或不应无偿使用,请及时通过电子邮件或电话通知我们,以迅速采取适当措施,避免给双方造成不必要的经济损失。
论坛活动 E手掌握
微信扫一扫加关注
论坛活动 E手掌握
芯片资讯 锐利解读
微信扫一扫加关注
芯片资讯 锐利解读
推荐阅读
全部
labview
状态机
基本概念

小广播

独家专题更多

富士通铁电随机存储器FRAM主题展馆
富士通铁电随机存储器FRAM主题展馆
馆内包含了 纵览FRAM、独立FRAM存储器专区、FRAM内置LSI专区三大部分内容。 
走,跟Molex一起去看《中国电子消费品趋势》!
走,跟Molex一起去看《中国电子消费品趋势》!
 
带你走进LED王国——Microchip LED应用专题
带你走进LED王国——Microchip LED应用专题
 
电子工程世界版权所有 京ICP证060456号 京ICP备10001474号 电信业务审批[2006]字第258号函 京公海网安备110108001534 Copyright © 2005-2016 EEWORLD.com.cn, Inc. All rights reserved