labview的深入探索-----状态机的基本类型顺序结构

2015-08-25 10:01:06来源: eefocus
前文介绍了LV编程的重要概念---状态机,状态机是个基本概念或者说理论,其具体表现形式多种过样,很难具体分类,我根据个人在编程实践中的体会,归纳几种常见类型.


一、顺序结构

LV本身是有顺序结构的,而且有两种方式,STACKED (堆叠)和FLAT FRAME(平铺)。

顺序结构的状态机更象是堆叠顺序结构,不过二者的区别在于LV本身的顺序结构是强制的,无法中间退出的,而状态机的顺序结构是采用的循环扫描的方式.我举一个例子来说明一下:
 
一个加工零件的程序,过程如下:

等待启动按钮--->主轴启动--->滑台快进---->滑台工作进给--->终点延时--->滑台快速返回原位-------->等待启动按钮(下一次循环)

这里的启动按钮可以是界面上的按钮也可以是操作台上的按钮.用普通顺序结构应该是(我们用平铺更容易理解)



我们注意到,每个动作(FRAME)内部都是一个循环结构,需要等待一定条件后,如果条件满足,转入下一个FRAME,我们没有任何办法改变它,比如我们有一个急停按钮,则需要在每一个FRAME中检测急停,如果急停生效,退出本FRAME,转入下一个FRAME,依然要判断急停,直到所有的FRAME都完成才能退出,
在这个过程中,外层循环需要所有动作完成后才执行下一循环,对它改造一下,就可以形成顺序状态机结构.

我曾经提到过,严格类型的枚举是状态机的核心要素,我们先构造一个严格类型的枚举.枚举变量有一个特点,当最后的元素执行加一操作时返回第一个元素.



这个状态机的功能和上面的顺序结构完成的功能是相同的,区别在于每个CASE不存在循环等待了,

整个循环过程都是在外层循环中实现的,外层循环不断地更新,如果转换条件(事件未发生),下一次循环仍然执行前一个CASE(状态不变),如果转换条件满足(事件发生),采取加一的动作(ACTION),转入下一个状态.

这样做和上面的顺序结构比较,好处是显而易见的,整个过程只有一个循环,而上面的顺序结构实际每个FRAME都是一个循环,这样,如果有急停按钮,我们可以在CASE外面检测急停,如果急停,可以马上停止循环,而在顺序结构中,需要在每个FRAME检测,并逐个退出.

顺序结构的状态机是非常简单的,但是实际控制中又是比较常见的,后续我将介绍其他类型的状态机

关键字:labview  状态机  基本类型  顺序结构

编辑:什么鱼 引用地址:http://www.eeworld.com.cn/Test_and_measurement/2015/0825/article_12915.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