LabVIEW的Framework(5):状态机

本文介绍了LabVIEW中使用Standard State Machine模板创建状态机的过程,阐述了状态机的基本原理和工作机制,通过LED亮灭控制的例子进行说明。状态机在接收到输入状态变化时,根据内部条件切换执行路径。此外,提出了一项作业,要求实现一个数据记录程序,用以对比非状态机解决方案的效果。
摘要由CSDN通过智能技术生成

在LV的模板里,用Standard State Mechine可以创建一个标准的状态机,可以试着创建一个看看状态机是啥样子的。
    我对状态机的理解:首先最基本的,状态机实际上是一个包含很多代码分支的代码集合,决定具体执行哪条代码分支则是由输入的状态所决定的;其次,状态机的输入状态是可以改变的,在LV的状态机里,状态的改变是由内部的临界条件来完成的。
    状态机的工作机制有一点类似与我们前面讨论过的消息队列,但是两者又有很大的不同。消息队列用于完成一系列设定好的执行步骤;状态机也可以完成一系列设定好的执行步骤,但状态机可以根据每个步骤执行的结果在步骤间跳转。(消息队列也可以通过一些变通来完成步骤间的跳转,但是我怎么看都觉得不如状态机爽 -_-!!)比如,有A、B、C三个步骤,当执行到步骤B时出错了,B的出错导致C不能执行,那么在状态机里我可以回去重新执行步骤B,直到执行正确之后再执行步骤C。
    说了这么多,我都差点把自己给绕晕了,来看个例子吧。在例子里面,我们要实现一个小灯的亮灭控制,同时,还要控制亮灭的频率。虽然直接用一个While循环就可以搞定,但是这里我们先试着用状态机来实现。
    LED就是我们的小灯,Loop用来控制小灯亮灭的频率,stop用来控制程序停止。

状态机有两个状态:On和Off。当处于On状态时,控制LED亮;当处于Off状态时&#

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值