LabVIEW状态机

状态机是由事件结构、条件结构和一个While循环组成。

 

案例:

1. 要求:

前面板上有三个按钮“事件1”、“事件2”和退出按钮,我们点击“事件1”弹出对话框“按钮1已点击”,点击“事件2”弹出对话框“按钮2已点击”,点击“退出”按钮结束程序运行。

 

2. 详细步骤

1) 新建VI,在前面板上添加按钮如下

计算机生成了可选文字:公未命名1前面板”口阵.回文件(日编辑(E)查看阴项目(P)操作(0)工具m窗D(W)帮助(H)困回回川17Pt胡程·序字体,一医」匾」…普入口姗图2「.2一!l!l!!!十L塑母}‘巨~-_川引,

 

2) 进入程序面板,将按钮的“显示为图标”去除勾选

计算机生成了可选文字:显示项卜查找输入控件制作自定义类型隐藏输入控件转换为显乐控件转换为常量说明和提示…布尔选板卜创建卜数据操作卜高级卜1国筐3一国}瑟为图标、

 

3) 在程序面板上添加While循环、条件结构和事件结构

计算机生成了可选文字:j.......口口口口口口口口.口口口口口口口口口口口口口口口口洲一’洲点’一’"~娜~~~~~几堕口犷~~~~~感户~朴~价…补谁厅喇口源·举型·时间·口口口口口口口口口口口口口口口口口口口『

4) 创建枚举型常量(函数路径:编程 -- 数值 -- 枚举型常量)

计算机生成了可选文字:口枚举常量属性亚.~~~画信息项WaitBtnlBtnZ团值ForStatus0jl,一性」r禁用项

在状态机中我们会在枚举型常量添加一个元素,目的是实现事件的监听

 

5) 将创建好的枚举型常量连接到条件结构的选择器接线端

计算机生成了可选文字:。*WaitForStatus,

 

6) 在条件结构上右击,选择“为每个值添加分支”(当值与分支一一对应时是不会出现此选项的)

计算机生成了可选文字:显乐项帮助范例说明和提示…断点卜卜结构选板J自动扩展?取消整理程序框图替换为层叠式顺序删除荆牛洁构在后面添力叱廿支在前面添加分支复制分支卜谈笋加劝含蕊孚加众二劝〕燕劝含燕劝二月月龙心奋

 

7) 右击枚举型变量与While循环的交点,点击“替换为移位寄存器”

计算机生成了可选文字:。*WaitForStatus,l夕111启用索弓数值选板创建卜卜属性

 

8) 右击事件结构,选择”添加事件分支“

计算机生成了可选文字:.WaitForStatu'"帮助说明和提示…断点卜事中险查器窗口生刮勾选板卜J自动扩展?取消整理程序框图州除孰用右构编辑本分支所处理能事件…

 

9) 对相应按钮添加事件分支

计算机生成了可选文字:事牛分支[1】”2":值改变事牛说明符事幸原事牛一区rr月口目峨叠盛勿口口口口一,事伶源}人二护口<应用程序》》田一拖曳勺3口口口口硬口口口口口口

 

10) 添加分支引导:选中添加的枚举型变量,按住“Ctrl”键,使用鼠标拖动到对应的事件分支中,并将其连线到右边移位寄存器上

计算机生成了可选文字:月口口口口口口口口口口口口口口口.WaitForStatus.,默认,只l]"r:值改变,。*WaitForStatus甲卜毛日一七,*Btnl,口

 

11) 当对应的按钮事件处理完成之后,需要回到监听状态

计算机生成了可选文字:日...............................'一Btnl"。*WaitForStatu、,卜毛甸一书。。Wa;tForStatus,月卜.口口口口口口口p.口口口口口口口口口口口口口口一,回鬓。一口口口口口.

 

12) 退出事件则不需要回到监听状态

计算机生成了可选文字:一Exit-.*WaitForStatu,,卜毛曰一七,*Exit,J卜匕.

 

13) 事件实现:添加一个单按钮对话框

计算机生成了可选文字:一Btnl-;画通i一一图.*WaitForStatu,甲卜毛曰一书。*WaitForStatus,J卜坦咸.回......自口

 

14) 退出事件只需要在右下角接上布尔真值即可

计算机生成了可选文字:』口口口口口口口口口口口口曰尸口口口口口口口口

3. 测试

1) 运行程序

 

2) 点击事件1、事件2和退出

计算机生成了可选文字:几未命名1文件旧编辑(E)查看阴项目(P)操作(0)工具m窗口囚门双帮助(H)..*图廖厄国画lr匕{​

 

  • 14
    点赞
  • 79
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
LabVIEW状态机是一种常用的编程工具,用于管理软件系统中的控制流程。它采用有限状态自动机的概念,将整个系统划分为不同的状态,通过状态之间的转换来描述系统的行为。 在LabVIEW中,状态机通过使用状态图、状态迁移和状态事件来实现。状态图是状态机的核心,用于表示系统中所有可能的状态以及状态之间的转换。每个状态代表系统中某个特定的行为和状态;状态之间的转换表示系统从一个状态切换到另一个状态的条件。 在状态机中,状态迁移是状态之间的转换规则。它定义了系统如何从一个状态切换到另一个状态,以及切换的触发条件。例如,当系统满足某个特定条件时,状态机将从一个状态切换到另一个状态。 状态事件是触发状态迁移的事件,它可以是用户的输入、传感器的信号等。当状态机接收到某个特定的事件时,它会根据当前的状态和状态迁移规则来判断是否需要进行状态切换。 LabVIEW状态机的优点是能够清晰地描述系统的行为,使得程序的结构更加模块化和可维护。通过将系统划分为不同的状态和状态之间的转换,可以降低系统的复杂度,并且能够更好地应对系统的变化和扩展。 总之,LabVIEW状态机是一种有效的编程工具,可以帮助开发者更好地管理系统的控制流程,实现复杂系统的控制和管理。它的使用可以提高程序的可读性、可维护性和可扩展性,是LabVIEW编程中常用的技术。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值