谁有权利的权利游戏第三季百度云七季百度云啊?给我发一个吧

基于LabVIEW状态机的程序设计_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
基于LabVIEW状态机的程序设计
上传于|0|0|暂无简介
阅读已结束,如果下载本文需要使用1下载券
想免费下载本文?
定制HR最喜欢的简历
下载文档到电脑,查找使用更方便
还剩2页未读,继续阅读
定制HR最喜欢的简历
你可能喜欢&&&&&&正文
第四期:LabVIEW状态图(Statechart)(上)
作者:不详阅读人次:发布时间:
【文章来自】
相关技术文章
米尔自动化网 () 版权所有&&&&&Copyright By MIR&&&&米尔自动化网Q群:&&&&米尔自动化网微博:LabVIEW设计模式系列——各种各样的状态机
> LabVIEW设计模式系列——各种各样的状态机
LabVIEW设计模式系列——各种各样的状态机
分享给小伙伴们:
我来说两句……
最新技术贴
微信公众号二
微信公众号一labview的深入探索-----状态机的基本类型之标准状态机
09:51:40来源: eefocus
状态机机的之
标准状态机是使最为广泛的状态机,也称为古典状态机或者经典状态机。LV的标准状态机VI模板用的就是这种。
我把标准型状态机理解成条件跳转型状态机,也就是在一个状态中,根据不同的条件,跳转到另一个状态。标准型状态机非常适合用图形方式来描述,PLC的SFC流程图就是我们说的标准状态机。
NI提供了一个状态机的组件,它就是典型的标准状态机。看看它的用法。
NI 状态图组件,提供一个状态图编辑器,在编辑器中,可以设计各种状态和状态之间的转换条件,如图
上面是我模拟了提款机做的示意程序,根据我们绘制的状态图,LV可以自动生成状态机,可以选择两种方式.做为连续运行的VI和单次运行的子VI
上面的图是连续运行模式.
这是单步运行方式,可以做为一个子VI,由上一级VI调用
NI的状态图组件显得比较烦琐,比较适合状态很多,条件跳转比较复杂的情况.
常用的标准状态机,自己编写用的比较多.下面已常用方式演示一下这种类型的状态机
标准类型状态机使用非常广泛,它的状态和转换条件都是可以预期的,而不随机的,对于类似于WINDOWS消息驱动的情况,由于状态是不可预期的,比如我们预料和控制用户对人机交互界面操作的
先后次序,这种情况下,使用队列状态机是最为合适的,后续文章将专门介绍队列状态机
关键字:&&&&
编辑:什么鱼
引用地址:
本网站转载的所有的文章、图片、音频视频文件等资料的版权归版权所有人所有,本站采用的非本站原创文章及图片等内容无法一一联系确认版权者。如果本网所选内容的文章作者及编辑认为其作品不宜公开自由传播,或不应无偿使用,请及时通过电子邮件或电话通知我们,以迅速采取适当措施,避免给双方造成不必要的经济损失。
微信扫一扫加关注 论坛活动 E手掌握
微信扫一扫加关注
芯片资讯 锐利解读
大学堂最新课程
TE工程师帮助将不可能变成可能,通过技术突破,使世界更加清洁、安全和美好。
TTI携TE传感器样片与你相见,一起传感未来
馆内包含了 纵览FRAM、独立FRAM存储器专区、FRAM内置LSI专区三大部分内容。 
热门资源推荐
频道白皮书2.8.2 状态机模式
本文所属图书&>&
全书共分为6章。第1章和第2章分别介绍了Arduino和LabVIEW的基础知识;第3章讲解了如何连接Arduino与LabVIEW;第4章通过15个基础实验深入介绍了如何使用LabVIEW Interface for Arduino;最后,在第5章和第6章中&&
状态机是最高级的LabVIEW设计模式,种类非常多,大多数采用在While循环中包含一个条件结构,并带有移位寄存器或者连接事例选择器端子的消息架构。条件结构的每一个分支都包含与应用程序的一个状态相对应的下级框图。分支选择器是一个整型的字符串,或者是确定状态的枚举数据类型。移位寄存器或消息架构从之前的事例将下一个状态选择传递到下一个循环迭代的选择器端子。经典的状态机形式如图2-130所示,在一个典型的应用程序中,状态选择是由一个用户界面的事件、测试序列的一个步骤和测试例程来确定的,或者来自于以前状态的结果。
状态机具有极大的灵活性和可扩展性,状态机的移位寄存器或消息架构允许程序框图从任意一个状态跳到另一个状态,每个状态可以决定While循环的执行条件,并且可以使循环在任何状态之后停止。另外,可以很容易地加入更多的程序框图,只需简单地在条件结构中添加分支而不增加框图的总体大小。
由于其具有很高的复杂性,因此不能错误使用状态机。如果要使用一个状态机,必须将应用程序划分为一系列的状态,可以在规划阶段使用一个适当的需求说明或设计文档,也可以在执行阶段通过经验和直觉来实现这样的划分。
有时,一个应用程序的功能状态不能准确地转换为适合状态机的多个子程序框图。在编写源代码时会显示实现的细节,这可能会导致进入不同的状态。例如,当前给定的功能状态可能与其他几个功能状态拥有一样的任务。同样,如果对应一个事例的状态代码规模过大,则需要创造更多的分支。因此可以使用多个分支中的多个子框图来实现一个功能状态。将代码模块化为子VI并为得到最大的可重用性来定义状态。结合规划、经验和直觉,通常会得到最佳的效果。
枚举类型可以提供丰富的说明文档并且提高可维护性。当在条件结构的选择器端子使用一个枚举类型,枚举类型的文本项就会在条件结构的选择器区域中以标签的形式出现,可以为每个状态选择设计一个简洁而直观的名称并保存为枚举项。任何根据类型定义创建的常量都与其名称的类型定义保持一致。因此,在每一个分支中,枚举常量用来指定下一个状态。当从枚举类型定义中增加或者删除项时,对应的常量也都将自动更新。在使用条件结构的状态机设计模式时,建议所有的变量都采用枚举类型定义。
大多数应用程序需要一些常用的内部清空代码,如初始化和关闭例程,也可能在没有任何程序运行时才会运行一个特定的例程。例如,一些控件的值和属性在其他状态执行之前被初始化。此外,事件处理器或资源轮询可能需要在不处理其他状态的情况下运行。需要关闭例程正常地关闭任何与硬件设备的连接、数据文件及远程应用程序。因此,应该创建相应的Initialize(初始化)状态、Idle(空闲)状态和Shutdown(关闭)状态。通过在状态机中集成这些状态而不是使用外部代码来最大限度地利用状态机。最后,创建一个为实现复制目的而包含移位寄存器传递的Blank(空白)状态。通过复制Blank状态来新建状态,以达到节省开发时间的效果。
您对本文章有什么意见或着疑问吗?请到您的关注和建议是我们前行的参考和动力&&
您的浏览器不支持嵌入式框架,或者当前配置为不显示嵌入式框架。

我要回帖

更多关于 权利的游戏4季百度云 的文章

 

随机推荐