培训三-状态机_第1页
培训三-状态机_第2页
培训三-状态机_第3页
培训三-状态机_第4页
培训三-状态机_第5页
已阅读5页,还剩14页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、主要内容:状态机及其相关概念动手实现状态机演示程序经典状态机消息状态机JKI State Machine队列的概念队列状态机事件驱动的队列状态机主讲人:陆俊成时间: 2014.10.12中级培训三状态机构架及复杂程序框架基础NI LabVIEW主要内容:状态机及其相关概念动手实现状态机演示程序经典状态机消息状态机JKI State Machine队列的概念队列状态机事件驱动的队列状态机状态机的概念状态机(State Machine)是一种程序设计模式,通常包括一个嵌入循环的条件结构,允许循环依据不同的条件每次执行不同的代码。不同的状态,不同的行为设计模式的概念设计模式(Design patte

2、rn)是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结。为什么需要设计模式?使用设计模式是为了可重用代码、让代码更容易被他人理解、保证代码可靠性。设计模式使代码编制真正工程化,它是软件工程的基石脉络,如同大厦的结构一样。状态机演示程序设计要求:让五个指示灯依次点亮,持续时间均为1s(程序依次执行五种状态,间隔时间为1s)开始-状态1-状态2-状态3-结束动手实现状态机提示:设计要求:让五个指示灯依次点亮,持续时间均为1s(程序依次执行五种状态,间隔时间为1s)开始-状态1-状态2-状态3-结束动手实现状态机Shift Register状态量:数字量、字符串、枚举变量等经典状态

3、机相比我们编写的状态机:1、状态为工程上通用的初始化、执行、空闲、停止2、状态中有对下一状态的判断选择3、增加错误处理经典状态机缺陷:移位寄存器每次记录一个状态,即只会执行一个状态中对应的行为。如果由于某种原因,在代表该状态的程序代码尚未执行之前,移位寄存器的值被改变了,该框架对此情况是无能为力的,仅能运行最后一次状态所对应的代码,可能会导致程序出错!解决此问题需要建立缓冲机制缓冲机制字符串数组消息状态机字符串JKI State Machine队列队列状态机消息状态机消息状态机Last InFirst Out类似堆栈,有着后进先出(LIFO)的特点。可以将所需执行的状态一次性压入堆栈,并且可以保证状态依次执行不丢失数据。队列的概念对日常生活中排队现象的抽象,通常是一种先入先出的数据结构,可用于同步控制。函数选板同步队列操作队列状态机使用专门的队列操作函数替代数组操作,操作起来更加方便可靠。事件驱动的队列状态机(常用)加入事件结构,可提高用户界面响应的效率,避免了上述状态机对用户界面上控件的“轮询”,减少资源占用。小试牛刀练习事件驱动的队列状态机,熟悉队列操作函数的用法(待修改)要求:1、使用队列实现状态机2、数据结构采用枚举变量与变体相结合的簇结构3、依次执行状态:初

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论