目录
LabVIEW状态机是由事件结构、条件结构和一个While循环组成。
本教程对LabVIEW状态机编程每一步关键的地方都进行了讲解和截屏,保证各位亲能够实战操练。
一、要求:
前面板有三个按钮“事件1”、“事件2”和退出按钮。
1、我们点击“事件1”按钮,会弹出对话框“按钮1已点击”对话框。
2、我们点击“事件2”按钮,会弹出对话框“按钮2已点击”对话框。
3、点击“退出”按钮,结束程序运行。
二、前面板设计
新建VI,在前面板添加3个按钮。
三、程序面板上添加While循环、条件结构和事件结构
1、先添加一个While循环
2、While循环内添加1个条件结构
3、条件结构内添加一个事件结构
四、创建枚举型常量
1、创建枚举型常量
函数路径:【编程】->【数值】-> 【枚举型常量】。
枚举型常量有4个值,依次为:Wait_For_Status,Btn1,Btn2,Exit
在状态机中我们会在枚举型常量添加一个元素,目的是实现事件的监听
2、将创建好的枚举型常量连接到条件结构的选择器接线端
五、条件结构增加分支
条件结构默认只有2个分支:真和假。当初将枚举型常量连接到条件结构的选择器接线端后,条件结构的真和假会自动变成Wait_For_Status和Btn1,参见下图:
在条件结构上右击,选择“为每个值添加分支”
当执行“为每个值添加分支”后,条件结构就会自动有4个选项:Wait_For_Status,Btn1,Btn2,Exit,参见下图。
六、将隧道替换为移位寄存器
1、右击枚举型变量与While循环的交点
2、点击“替换为移位寄存器”
七、事件结构添加事件
由于在前面板定义了3个按钮,【事件1】按钮对应枚举型常量Btn1事件,【事件2】按钮对应枚举型常量Btn2事件,【退出】按钮对应枚举型常量Exit事件。
1、添加Btn1事件
(1)、右击事件结构,选择”添加事件分支“
(2)、事件源中选择控件1,事件选择”值改变“
2、添加Btn2事件
(1)、右击事件结构,选择”添加事件分支“
(2)、事件源中选择控件2,事件选择”值改变“
3、添加Exit事件
(1)、右击事件结构,选择”添加事件分支“
(2)、事件源中选择控件3,事件选择”值改变“
八、事件结构添加状态机切换
前面我们添加了3个事件,事件1事件、事件2事件和退出事件。
- 前面板点击【事件1】按钮,则跳转到Btn1事件。
- 前面板点击【事件2】按钮,则转到Btn2事件。
- 前面板点击【退出】按钮,则转到Exit事件。
1、Btn1事件状态机切换
(1)、事件结构切换到【1】"1"值改变
(2)、添加分支引导:选中添加的枚举型变量,按住“Ctrl”键,使用鼠标拖动到对应的事件分支中,并将其连线到右边移位寄存器上,同时事件结构中的枚举型变量选择为"Btn1"。
2、Btn2事件状态机切换
(1)、事件结构切换到【2】"2"值改变
(2)、添加分支引导:选中添加的枚举型变量,按住“Ctrl”键,使用鼠标拖动到对应的事件分支中,并将其连线到右边移位寄存器上,同时事件结构中的枚举型变量选择为"Btn2"。
3、Exit事件状态机切换
(1)、事件结构切换到【3】"3"值改变
(2)、添加分支引导:选中添加的枚举型变量,按住“Ctrl”键,使用鼠标拖动到对应的事件分支中,并将其连线到右边移位寄存器上,同时事件结构中的枚举型变量选择为"Exit"。
九、条件结构监听事件
当对应的按钮事件(添加事件和事件状态机切换)完成之后,需要回到条件结构监听事件状态,如果发现是Btn1事件,则进行事件1动作处理;如果发现是Btn2事件,则进行事件1动作处理;如果发现是Exit事件,则退出LabVIEW的运行。
1、条件结构监听Btn1事件
(1)、条件结构切换到"Btn1"
(2)、添加分支引导:选中添加的枚举型变量,按住“Ctrl”键,使用鼠标拖动到对应的条件分支中,并将其连线到右边移位寄存器上,同时条件结构中的枚举型变量选择为"Wait_For_Status"。
(3)、添加对话框和对话框的提示信息
2、条件结构监听Btn2事件
(1)、条件结构切换到"Btn2"
(2)、添加分支引导:选中添加的枚举型变量,按住“Ctrl”键,使用鼠标拖动到对应的条件分支中,并将其连线到右边移位寄存器上,同时条件结构中的枚举型变量选择为"Wait_For_Status"。
(3)、添加对话框和对话框的提示信息
3、条件结构监听Exit事件
(1)、条件结构切换到"Exit"
(2)、添加分支引导:选中添加的枚举型变量,按住“Ctrl”键,使用鼠标拖动到对应的条件分支中,并将其连线到右边移位寄存器上,同时条件结构中的枚举型变量选择为"Wait_For_Status"。
(3)、退出事件只需要在右下角接上布尔真值即可
十、编译
系统发现3个错误,即:
(1)、Btn1条件结构监听While循环的隧道未赋值。
(2)、Btn2条件结构监听While循环的隧道未赋值。
(3)、事件结构【1】"1"值改变While循环的隧道未赋值。
1、Btn1条件结构监听While循环的隧道赋值
2、Btn2条件结构监听While循环的隧道赋值
3、事件结构【1】"1"值改变While循环的隧道赋值
十一、测试
十二、源程序
本教程提供源程序,参见链接:
(2条消息) LabVIEW编程基础:状态机入门傻瓜教程(事件结构+条件结构+While循环组成)源程序.zip-互联网文档类资源-CSDN下载