当前位置:首页 > 测试测量 > 测试测量
[导读]画好状态转换图,我们就可以清晰的看到程序要实现的所有状态以及状态之间的关系。下面的工作就是用LabVIEW来实现这个状态机。 状态机是由一个While循环、一个条件结构和一个移位寄存器组成的。其中While循环用来保证

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

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

在嵌入式系统与底层软件开发中,C语言的枚举类型(enum)因其强大的语义表达能力,成为状态机设计和位域操作的核心工具。本文将从底层原理出发,解析枚举类型在状态机实现中的优化策略,并探讨其与位域(bit-field)的协同...

关键字: C语言 嵌入式系统 状态机

在SIP终端在同一个函数中同时作为主叫方和被叫方的情况。即在RequestINVITE函数中,这个SIP终端需要能够构造INVITE请求(作为主叫方),同时还需要处理作为被叫方时的各种响应,比如发送100 Trying、...

关键字: INVITE 状态机

下面的项目包括一个机器人完成各种任务。这是通过在机器人上使用和实现各种传感器来完成的。机器人能够在一个封闭的区域内移动,收集球,并在最后的一个点上放下球。机器人将绘制出它去过的位置和该区域内的障碍物。

关键字: 传感器 机器人 LabVIEW

在嵌入式系统开发中,有限状态机(FSM)是一种强大的工具,它能够帮助开发者以清晰、结构化的方式管理复杂的状态转换逻辑。FSM通过将系统行为划分为一系列状态和状态之间的转换,简化了系统的设计和调试过程。在第一部分中,我们已...

关键字: 嵌入式系统 状态机 FSM C++

自动饮料售卖机作为一种自助式零售设备,近年来在国内外得到了广泛应用。本文将详细介绍一款功能完善、操作简便的自动饮料售卖机的设计与实现过程,包括有限状态机(FSM)的设计、Verilog编程、以及设计工程中可使用的工具及大...

关键字: Verilog 状态机 FSM

在现代电子系统中,同步信号处理和模式识别是至关重要的。特别是在通信、数据处理和控制系统等领域,对输入信号进行实时分析以检测特定模式或字符串是常见的需求。本文将介绍如何使用Verilog语言设计一个有限状态机(FSM),以...

关键字: Verilog 状态机

在数字电路与系统设计领域,有限状态机(Finite State Machine,FSM)是一种重要的设计工具。FSM能够基于输入信号和当前状态,通过状态转移和输出逻辑,实现复杂的时序控制功能。Moore状态机和Mealy...

关键字: Moore Mealy 状态机

状态机的全称是有限状态自动机,自动两个字也是包含重要含义的。给定一个状态机,同时给定它的当前状态以及输入,那么输出状态是可以明确地运算出来的。

关键字: 状态机 自动门

在数字电路与系统设计的广阔天地中,Verilog HDL(硬件描述语言)以其强大的描述能力和灵活性,成为了设计师们不可或缺的利器。而在Verilog的众多特性中,状态机(Finite State Machine, FSM...

关键字: Verilog 状态机

在这篇文章中,小编将为大家带来FPGA三段式状态机设计的相关内容。如果你对本文即将要讲解的内容存在一定兴趣,不妨继续往下阅读哦。

关键字: FPGA 状态机
关闭