【LabVIEW学习篇 - 23】:简单状态机

news/2024/11/13 5:34:55/

文章目录

  • 简单状态机
    • 状态机的创建和了解

简单状态机

一个优秀的应用程序离不开好的程序框架,不仅要很好满足用户的功能需求,还要考虑到系统的稳定性、实时性、可扩展性、可维护性,执行效率等方面。借用一些成熟的设计框架,可以帮助开发人员很容易地完成一些复杂系统的设计和开发,并且在满足需求的同时还保证程序的性能。

有限状态机(FSM-Finite State Machine),即用有限确定数量的状态来描述一个系统的运行,统称称此为状态机。状态机的概念很早就有了,它不是LabVIEW特有的概念,而是LabVIEW比较适合设计框架之一。

状态机包括三个基本要件:状态、事件(转换条件)、动作。

状态机简单灵活,状态机设计的好坏取决于设计者的编程水平和逻辑思维。太少,会使得每个状态中要处理的任务太多;太多,又会使得状态机太复杂,不便于维护。

状态机的创建和了解

  1. 创建项目-简单状态机Main.vi中就是简单状态机的模板。
    在这里插入图片描述
    在这里插入图片描述
  2. 简单状态机。
    在这里插入图片描述
    在这里插入图片描述
  3. 状态机的执行过程:
    程序框图中最外层是一个while循环,内层是一个条件结构。条件结构主要根据移位寄存器也就是状态寄存器,用来保存当前系统的一个状态,从而在下次循环的时候将系统跳转到对应的状态去执行。
    Step1:首先,系统最初始的状态就是Initialize,进入循环后其状态存入移位寄存器中,然后进入条件分支结构,执行对应的操作,操作执行完之后就会跳转到下一个状态Wait for EventWait for Event就会赋值给移位寄存器。
    在这里插入图片描述
    Step2:当进入下一次循环,就会从移位寄存器中拿到Wait for Event的状态,Wait for Event中有一个事件结构,分别有三个事件分支,其中有两个事件分支有按钮,按下对应的按钮可触发该事件。
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    Step3:当在Wait for Event分支中触发事件,将User State 1存入移位寄存器中,在下一次循环时切换到移位寄存器中,将字符串以对话框的形式显示,然后又切换到Wait for Event分支中。同理,其余的状态切换也相同。
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
  4. 运行结果:
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

http://www.ppmy.cn/news/1523911.html

相关文章

java读取MultipartFile文件excel文件内容

java读取MultipartFile文件excel文件内容 PostMapping("/importData") public AjaxResult importData(RequestPart(name "file", value "file") MultipartFile file) throws Exception {ExcelUtil<CarModelVo> util new ExcelUtil<…

智能交通系统如何利用大数据、云计算和物联网技术优化交通流量、减少拥堵|智能交通系统|大数据|云计算|物联网|交通流量优化|减少拥堵

目录 1. 智能交通系统的定义与构成 1.1 智能交通系统的组成 1.2 智能交通系统的目标 2. 大数据技术在智能交通中的应用 2.1 交通数据采集与分析 2.2 实时交通监控与预测 3. 云计算在智能交通中的作用 3.1 云平台的数据处理能力 3.2 云计算的弹性扩展 4. 物联网技术在…

ant-design-vue中实现a-tree树形控件父子关联选中过滤的算法

在使用ant-design-vue的框架时&#xff0c;a-tree是比较常用的组件&#xff0c;比较适合处理树形结构的数据。 但是在与后台数据进行授权交互时&#xff0c;就不友好了。 在原生官方文档的例子中&#xff0c;若子项被勾选&#xff0c;则父级节点会被关联勾选&#xff0c;但这勾…

网络安全基础—加解密原理与数字证书

目录 1&#xff09; 对称加密和非对称加密 Ⅰ 对称加密算法 Ⅱ 非对称加密算法 Ⅲ 对称和非对称加密比较: 2&#xff09;数据加密--数字信封 3&#xff09;数据验证 - 数字签名 4&#xff09;数字证书 Ⅰ 数字证书格式 Ⅱ 证书的颁发 Ⅲ 证书验证&#xff1a; .验证…

vue3开发uniapp转字节小程序注意事项

vue3开发uniapp转字节小程序注意事项 1.provide-inject 跨层通信不支持问题2.不能自定义头部&#xff0c;需要去申请 开发相关地址 1.抖音开放平台 2.开发者平台 项目本身是vue3tsuniapp写的微信小程序&#xff0c;因产品需求要转换成抖音小程序 1.provide-inject 跨层通信不支…

P3275 [SCOI2011] 糖果(差分约束 + tarjan + 缩点 + 拓扑排序 + dp)

P3275 [SCOI2011] 糖果 放一个传送门 https://www.luogu.com.cn/problem/P3275 这道题看起来很像是差分约束 s p f a spfa spfa 的模板题目&#xff0c;但是我们可以从数据范围发现&#xff0c;最坏情况下 N K 1 0 10 N \times K 10^{10} NK1010 。所以显然是不能用 s…

sliding window 滑动窗口——从LeetCode题海中总结常见套路

滑动窗口开山鼻祖:LeetCode3.无重复字符的最长子串 以前只会暴力瞎几把模拟,看一下心酸又励志的优化过程: 还有通过所有测试用例的超时: class Solution { public:int lengthOfLongestSubstring(string s) {if (s.empty())return 0;// if (s.size() == 1)// return 1;/…

各种无人机飞行服务技术详解

随着科技的飞速发展&#xff0c;无人机&#xff08;Unmanned Aerial Vehicles, UAVs&#xff09;技术已成为推动多个行业变革的重要力量。从军事侦察到商业应用&#xff0c;再到日常生活中的娱乐拍摄&#xff0c;无人机的身影无处不在。本文将详细解析无人机飞行服务所涉及的关…