LabVIEW设计模型——状态机之编程实现

2016-08-03 12:56:34来源: eefocus 关键字:LabVIEW  设计模型  状态机  编程实现
      画好状态转换图,我们就可以清晰的看到程序要实现的所有状态以及状态之间的关系。下面的工作就是用LabVIEW来实现这个状态机
      状态机是由一个While循环、一个条件结构和一个移位寄存器组成的。其中While循环用来保证程序可以连续的运行;条件结构的各种分支中的代码用来描述状态机的各种状态,以及下一状态的选择;移位寄存器用来将之前状态所作出的选择传递到下一次循环的选择端子。
      下面我们就一步一步的实现这个状态机。
      首先,新建一个工程,并且在工程中建立“控件”和“子VI”两个虚拟文件夹来放置自定义控件和子VI。在“控件”文件夹中新建一个控件。
      在控件的编辑面板上放置一个枚举类型的控件,并且编辑枚举类型控件的项目,输入所有状态装换图中的状态的名称。如下图所示。
      可以看到,上图中的项目比状态转换图中多了一个“空白”状态。这只是为了修改程序方便才添加的,具体情况会在下文中提到。
      编辑完成之后,将控件的类型更改为严格自定义类型(Strict Type Define),然后保存。建立这样一个严格自定义类型控件用来控制状态的转换有很大的好处,就是在我们万一要添加新的状态或者要删除一些无用的状态时,只要修改我们建立的控件就可以了,不用在程序中一处一处的寻找、修改,可以节省很多时间,且不易出错
      做好以上控件后,就要在工程中新建一个状态机VI。我们可以先新建一个空白VI,然后在里面添加状态机所需要的While循环、条件结构和移位寄存器。而更方便的方法是,点击“文件-->新建”,然后在弹出的“新建”对话框中选择“标准状态机”(Standard State Machine),来建立一个状态机VI。如下图所示。
 
 
      在利用模版建立了状态机VI后,我们要删除其中的介绍性文字,因为这些文字是用来介绍模版功能和提醒编程者某些注意事项的。在最终程序中保留这些文字是非常不专业的。
      接下来就是把我们事先建立好的严格自定义类型的枚举控件拖入程序框图中,来获得它所对应的常量,用来替换原模版中的枚举类型常量。然后,在条件结构中加入足够的分支来放置不同状态下的代码;添加足够的移位寄存器来在各个状态之间传递参数;在各个状态(分支)下添加代码,包括实现状态功能的功能代码以及确定下一个状态的流程代码。如下图所示。
     
 
  
  
      大家可以看到,程序在执行时是不会进入最后一个“空白”状态的,添加这个状态的目的就是为了在添加新的状态时,可以通过复制空白状态来得到,可以大大提高编程效率
      以上所说的状态机叫做标准状态机,是最常用也是最基本的状态机。其实状态机还有一些变种的形式,以后再介绍吧。

关键字:LabVIEW  设计模型  状态机  编程实现

编辑:什么鱼 引用地址:http://www.eeworld.com.cn/Test_and_measurement/article_2016080316521.html
本网站转载的所有的文章、图片、音频视频文件等资料的版权归版权所有人所有,本站采用的非本站原创文章及图片等内容无法一一联系确认版权者。如果本网所选内容的文章作者及编辑认为其作品不宜公开自由传播,或不应无偿使用,请及时通过电子邮件或电话通知我们,以迅速采取适当措施,避免给双方造成不必要的经济损失。

上一篇:LabVIEW设计模型——状态机之状态转换图
下一篇:基于LabVIEW的弹道解算软件设计

论坛活动 E手掌握
关注eeworld公众号
快捷获取更多信息
芯片资讯 锐利解读
微信扫一扫加关注
芯片资讯 锐利解读
推荐阅读
全部
LabVIEW
设计模型
状态机
编程实现

小广播

独家专题更多

东芝在线展会——芯科技智社会创未来
东芝在线展会——芯科技智社会创未来
2017东芝PCIM在线展会
2017东芝PCIM在线展会
TI车载信息娱乐系统的音视频解决方案
TI车载信息娱乐系统的音视频解决方案
汇总了TI汽车信息娱乐系统方案、优质音频解决方案、汽车娱乐系统和仪表盘参考设计相关的文档、视频等资源
电子工程世界版权所有 京ICP证060456号 京ICP备10001474号 电信业务审批[2006]字第258号函 京公海网安备110108001534 Copyright © 2005-2017 EEWORLD.com.cn, Inc. All rights reserved