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

发布者:SereneHeart最新更新时间:2015-08-25 来源: eefocus关键字:labview  状态机  基本概念 手机看文章 扫描二维码
随时随地手机看文章
状态机不是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  状态机  基本概念 引用地址:labview的深入探索-----状态机的基本概念

上一篇:labview的深入探索-----状态机的基本类型顺序结构
下一篇:labview的深入探索----利用DDE实现进程间的数据交换之二

推荐阅读最新更新时间:2024-03-30 23:03

LabView学习笔记(2)图形的绘制
本例中设计采用独立的X、Y数组产生圆环,前面板如下: 程序框图如下: 总结:波形Graph指示器常用来显示数组中的数据,其可以自定义曲线显示格式,实现方法是在Graph或其组件上弹出菜单进行设置。
[测试测量]
labview串口数据保存_labview如何对串口数据缓存
LabVIEW是一种基于图形编程语言的开发环境。它与传统编程语言有着诸多相似之处,如相似的数据类型、数据流控制结构、程序调试工具等。但二者最大的区别在于:传统编程语言是用文本语言编程,而LabVIEW用图形语言(即各种图标、图形符号、连线等)编程。 编程简单方便,界面形象直观,具有强大的数据可视化分析和仪器控制能力。 Labview有丰富的文件操作函数库,可以方便地进行文件的读写。Labview可以读写文本文件、数据报表文件、二进制文件和测试文件。主程序中从VISAread的readbuffer端读上来的数据需要转换成表格数据进行保存,数据的保存分为两个阶段。第一阶段,通过表单形式(带时间头)显示在主程序界面,方便用户直观查看
[测试测量]
<font color='red'>labview</font>串口数据保存_<font color='red'>labview</font>如何对串口数据缓存
基于LabVIEW的便携式汽车仪表检测仪的研制----实验数据
  第五章仪表检测的实验数据   5.1车速表的检测   汽车车速检测的必要性:   车速表是提供汽车行驶速度信息的重要仪表,驾驶员在行车途中能够正确掌握车速,是提高运输生产力与保证安全行车的关键。驾驶员对行车速度的掌握,虽然可以依据主观估计来进行,但由于人对速度的估计往往会因错觉而造成误差,再加上车速表使用时间长后内部磁场减弱、车轮直径磨损减小等原因造成的误差,检验车速表对于保障行驶安全的意义也是非常重大的。   车速表的测试需要预先了解设定目标车型的特征参数,如车辆特征系数、车速传感器的传感系数等,然后通过数据通信卡(CAN总线信号)将特征参数下载到被测仪表,按照测试要求产生脉冲信号,信号的幅值、频率可以通过手动进行调
[测试测量]
基于<font color='red'>LabVIEW</font>的便携式汽车仪表检测仪的研制----实验数据
开发用于重型履带式汽车的双测功机道路负载仿真器
“通过高效利用SCXI模块,让我们可以只使用一个DAQ板卡就建立起一个极具成本效益的高通道数的数据采集系统。” 挑战: 对一个双测功机系统进行更新,为重型履带式车辆(如:推土机或如坦克等装甲军车)提供可重复、可靠的测试。 解决方案: 开发一个基于PC的采集和控制系统,使用由LabVIEW控制的SCXI和DAQ系统。 介绍 美国西南研究院(SWRI)的工程师正在着手安装和升级一个20世纪80年代的老式大功率动态车辆测试系统,可以复制履带式车辆的道路负载情况,包括转向阻力负载等。长久以来,履带式车辆的检测就有改进的需求了,因为大多数测试设备只能够测试单个组件,如动力部分的发动机、变速箱以及主减速器。而由于不同的天气条件或驾
[测试测量]
基于LabVIEW的STM32调试平台设计
0引言 ARM处理器是Acorn计算机有限公司面向低预算市场设计的第一款RISC微处理器。ARM处理器具有耗电少功能强、1 6位/32位双指令集和合作伙伴众多等特点。本设计采用STM32F103ZET6芯片进行研究。此芯片采用ARM 32位的Cortex-M3 CPU作为内核,芯片带有2通道12位的D/A转换器,12通道DMA控制器能支持外设:定时器、ADC、DAC、USART等,具有112个快速IO端口。同时此芯片具有多达13个通信接口,其中包括USB2.0全速接口 . LabVIEW是一种程序开发环境,采用图标代替文本行创建应用程序的图形化编程语言。LabVIEW是一种图形化的编程语言的开发环境,它广泛地被工业界、学术界和研究
[测试测量]
基于<font color='red'>LabVIEW</font>的STM32调试平台设计
基于LabVIEW 语言的信号采集与处理
  1 概述   实验室虚拟仪器工程平台(LabVIEW)是一种专门用于数据采集、分析及仪器控制的图形化软件,它所开发的虚拟仪器将计算机强大的数据处理能力与仪器的硬件测试控制能力很好地结合在一起。   LabVIEW 的图形化开发环境具有精确、高效、功能强大、开发简易、实时性强、界面友好等优点,为用户提供了强大功能和使用的灵活性, 非常适合用于进行仿真、实时检测和控制。目前,LabVIEW 已经成为测试领域应用最广泛和最有前途的软件开发平台之一,也是应用最广、发展最快、功能最强的图形化软件开发集成环境之一。   虚拟仪器可以利用高性能的模块化硬件, 结合高效灵活的软件来完成各种测试、测量和自动化应用,与传统的测量仪器相比,具
[测试测量]
基于<font color='red'>LabVIEW</font> 语言的信号采集与处理
LabVIEW数据流控制方法研究
0 引言    Labview (Laboratory Virtual Instrument Engineering Workbench)是 虚拟仪器 概念的首创者,是世界上最优秀的 虚拟仪器 软件开发平台 。它使用图形化 数据流 编程语言,这种新兴的编程方式给编 程人员带来了新的困难,主要体现于对 数据流 的控制上。 LabVIEW 编程人员遇到困难往往求助于C语言 。随着 虚拟仪器 的广泛应用,为提高编程效率, 真正理解并灵活掌握 LabVIEW 数据流 语言是必要的。 1 数据流 编程的特点    数据流 语言的每个节点在执行之前需要提供其所有输入端口的有效数据, LabVIEW 允许用户在一个图表上拥有任意数量的不同节
[测试测量]
<font color='red'>LabVIEW</font>数据流控制方法研究
用VHDL设计有限状态机的方法
    摘要: 以离心机定时顺序控制器的设计为例,阐述了用VHDL设计有限状态机的方法,讨论了如何消除状态机输出信号的“毛刺”。     关键词: VHDL 状态机 EDA 离心机 毛刺     现代数字系统的设计一般都采用自顶向下的模块化设计方法。即从整个系统的功能出发,将系统分割成若干功能模块。在自顶向下划分的过程中,最重要垢是将系统或子系统按计算机组成结构那样划分成控制器和若干个受控制的功能模块。受控部分通常是设计者们所熟悉的各种功能的电路,设计较为容易。主要任务是设计控制器,而其控制功能可以用限状态机来实现。因而有必要深入探讨有限状态机的设计方法。 1 状态机设计的一般方法
[应用]
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
最新测试测量文章
换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved