labview状态机
状态机主要由3部分组成,包括一个while循环,一个条件结构,以及while循环的移位寄存器,其中while循环用于保证程序的持续运行,条件结构用于处理不同状态的执行,移位寄存器用于实现从一个状态跳转到另外一个状态。
此外一个重要的变量构建是:枚举常量表示了两组成对的数据,一组是字符串,一组是数值,两者一一对应,在前面板上,能直观地看到字符串,在程序面板上则简单地表示为数值型数据,整个枚举型数据的值可以是预定义的多个数据中的任何一个值。
考虑到以后对状态机修改及维护的方便, 通常,我们将该枚举常量保存为一个自定义控件,将该自定义控件作为枚举常量引入状态机中,当我们需要对状态变量迚行修改的时候,只需要对这个自定义控件迚行一次修改,更新,就能对该状态机中任何位置的状态变量迚行统一的管理了。
状态机的状态转换:有5种方法
1、默认状态:无论这个状态执行如何,都无条件转入下一个状态
2、选择转换 :利用真假选择函数来实现,在逻辑子VI输出为真时,跳入真分支的状态,迚行State1,为假时,跳入假分支的状态,迚行State2,这个方式在两个可能状态的情况下非常简单和好用,但如果下一个状态的有可能是三个或三个以上的状态呢?
后两种方式就是处理这个情况的
3、条件结构转换 :条件结构的多个分支分别对应了不同的下一状态值,根据逻辑判断子VI输出的结果,跳入不同的分支以选择不同的状态,当子VI输出1是,跳入State1,
4、转换数组转换:条件结构虽然解决了多个状态选择的问题,但从结构上来看不太直观,管理不够方便,我们可以把所有待选择的状态放入数组中,通过逻辑判断子VI输出不同的索引值直接从数组中索引出下一个状态输出到移位寄存器
labview状态机的更多相关文章
- labview从入门到出家8(进阶篇)--简单好用的状态机
labview的状态机类似于一个软件框架的基本单元,好的软件框架和软件思路采用一个好的状态机,就如虎添翼了.这章给大家讲一个本人常用的一个状态机,基本上以前的项目都是建立在这个状态机上完成的,当然网上 ...
- LabVIEW设计模式系列——各种各样的状态机
- LabVIEW设计模式系列——状态机
标准:1.状态用枚举自定义类型,便于统一管理修改.2.一般地应该有:Initialize,Idle,Stop,Blank状态.3.Initialize进行一些初始化的操作:Idle一种过渡状态,用于和 ...
- LabVIEW之生产者/消费者模式--队列操作 彭会锋
LabVIEW之生产者/消费者模式--队列操作 彭会锋 本文章主要是对学习LabVIEW之生产者/消费者模式的学习笔记,其中涉及到同步控制技术-队列.事件.状态机.生产者-消费者模式,这几种技术在在本 ...
- NI Labview 将图形化系统设计用于肿瘤治疗
NI Labview 将图形化系统设计用于肿瘤治疗 - Jeff Stevens, Sanarus 挑战:在严格的规则条例范围内保持设计过程的情况下,为通过FDA认证的等级II医疗设备进行设计.原型并 ...
- LabVIEW有限状态机
顺序模式是我们最先接触,也是最基本的一种编程模式, 程序按照固定的顺序依次执行,结束(如图1) 但在很多情况下,静态的顺序模式并不能满足我们编程的要求,我们需要更有效地动态结构来实时改变程序的执行顺序 ...
- LabVIEW新手5大错误
虽然NI LabVIEW软件长期以来一直帮助工程师和科学家们快速开发功能测量和控制应用,但不是所有的新用户都会遵循LabVIEW编程的最佳方法. LabVIEW图形化编程比较独特,因为只需看一眼用户的 ...
- LabVIEW(九):程序结构中的分支结构和顺序结构
一.分支结构 1.创建分支结构:程序框图右键>结构>条件结构 2.Ctrl + I 会显示错误列表,双击错误列表会定位到该错误在程序框图中地方. 3.有的分支可以不连接分支内容. 在不连接 ...
- LabVIEW之生产者/消费者模式--队列操作
LabVIEW之生产者/消费者模式--队列操作 彭会锋 本文章主要是对学习LabVIEW之生产者/消费者模式的学习笔记,其中涉及到同步控制技术-队列.事件.状态机.生产者-消费者模式,这几种技术在在本 ...
随机推荐
- 100道Java面试题整理(助力2020面试!)
1.您对微服务有何了解? 微服务,又称微服务 架 构,是一种架构风格,它将应用程序构建为以业务领域为模型的小型自治服务集合 . 通俗地说,你必须看到蜜蜂如何通过对齐六角形蜡细胞来构建它们的蜂窝状物.他 ...
- JavaSE--for each
参考:http://blog.csdn.net/yasi_xi/article/details/25482173 学习多线程的时候实例化线程数组而挖掘出来的一直以来的理解误区 之前一直以为for ea ...
- goahead(web服务器)分析
一.参考网址 1.源码的github地址 二.网页是采用文件读写方式,还是转换为数组方式? 1)其通过宏定义“WEBS_PAGE_ROM”来区分,我是在websPageReadData()(page. ...
- Python合成GIF图片 -- imageio库
pip install imageio import imageio # 需要合在一起的图片 image_list = [r'C:\Users\Hlzy\Desktop\\' + str(x) + & ...
- TimeHelper
import java.time.Duration; import java.time.Instant; import java.time.OffsetDateTime; import java.ti ...
- 吴裕雄--天生自然C语言开发:内存管理
#include <stdio.h> #include <stdlib.h> #include <string.h> int main() { ]; char *d ...
- day36-进程操作实例,守护进程,方法,属性
#1.server端跟多个client端聊天: #异步操作,主进程负责接收client的连接,子进程负责跟client聊天. #每接收一个连接,就创建一个子进程,子进程之间的数据是隔离的,互不影响,所 ...
- LGOJ3975 TJOI2015 弦论
link:TJOI2015 弦论 题目大意: 给定一个字符串,输出在对该字符串所有的非空子串排序后第\(k\)个 另外的一个限制是\(T\):子串本质相同但位置不同算\(1\)或多个 \(|s| \l ...
- python 元祖参数和map参数
1.对于元组形参数, def func(a,b,c): pass 可以采用一个元组的形式调用, params = (1,2,'c') 如果直接传递运行会抛出异常,正确的调用形式为 func(*para ...
- locate及find查找命令
在文件系统上查找符合条件的文件: 实现工具:locate,find locate: 依赖于事先构建好的索引库: 系统自动实现(周期性任务): 手动更新数 ...