您的位置 首页 芯闻

LabVIEW程序设计形式(三)—音讯行列型状态机形式

针对基本状态机模式的第(1~3)个问题,需要对模式进行改进。本节将一一分析这些问题对应的解决方案,并最终形成一种新的状态机模式——消

针对根本状况机办法的第(1~3)个问题,需求对办法进行改善。本节将逐个剖析这些问题对应的处理方案,并终究构成一种新的状况机办法——音讯行列型状况机办法。

  1. 状况的分类不明晰。

这是一个触及各个状况分类管理的问题,是一个安排问题。咱们能够做一个类比,在一个书桌上有许多品种的书本(通讯、计算机、机械、法令等),这些书都摆放在书桌上很规整。可是咱们在寻觅一本书时并不会觉得很敏捷和随意,因为书本的摆放是无序的,每次寻觅书本咱们不得不从榜首本开端阅览直至找到咱们想要的书本。或许能够做一些改动,咱们设置一些书立,将不同品种的书运用书立分隔。并且在书立上标明这些书本表明的品种。这样咱们在寻觅某一种书本时就不需求从榜首本书开端寻觅了,只需求找到对应的书立,在这些书立中寻觅即可。
让咱们回到程序,并给程序的状况设置一些“书立”。如图 4所示,体系共有9个有用状况(UI Initial、Data Initial、Instr Initial、Temperature、Power、FFT、JTFA、Data Clean、Exit)。假如把这些状况混在一同,咱们需求找到某一个状况时会比较困惑和费事。好像上面所述,将这些状况分为4类并设置了4个“书立”(Initial、Acquire、Analyse、System)分隔这些状况。在实践的状况操控中,需求保证程序只会进入实践的状况中运转而不会进入到“书立”分支中,因而对每个“书立”加入了“——-”以示差异。


图 4 状况分类
虽然咱们仅仅进行了少数的修正,可是这确实有利于程序状况的安排和阅览,尤其是当程序具有很多个状况的时分。

  1. 缺少数据同享和错误处理机制。

在层叠式的次序结构中,数据在帧之间的传递是靠“次序局域变量”完成的。那么假如在case结构中怎么传递不同分支的数据呢?这个问题好像很简单处理,运用局域变量,全局变量或同享变量都能够处理,可是这些并不是最优的处理方案。因为上述的办法会显着体系运转的内存空间和时间。因为状况机的根本组成元素除了case结构之外还有循环,因而能够运用移位寄存器来传递数据。如图 5所示。


图 5 状况机中的数据传递
图 5运用移位寄存器进行数据同享和传递,将一切的数据封装在一个簇中并对每个数据命名,这样在运用数据时就能够运用“Unbundle by name”或“bundle by name”。需求阐明的是,即便运用一个数据需求同享,依然期望选用簇的封装办法,这样当后续需求添加扩展数据的时分并不会影响现有的数据引证。

  1. 每一个状况分支只能够决议后边的一个状况,而无法决议一个状况序列(多个状况)。

在根本状况机中之所以存在这个问题是因为状况的传递运用的是Scalar(标量)办法,假如需求传递一个状况序列,很显着能够运用行列或数组进行状况的传递。在LabVIEW程序规划办法中将这种具有处理状况序列的状况机称为“音讯行列型状况机”,它是在根本状况机基础上的改善。
望文生义,这种办法就像银行处理事务时排队相同选用行列的办法。当储户进入银行时,首先到叫号机处收取号码进行排队(进入行列)并等候。然后,当时面的储户处理完事务后就能够到相应的窗口处理事务(退出行列)。事实上,这种办法在现代生活中随处可见。
在LabVIEW中至少有两种完成音讯行列的办法。如图 6所示。前者运用数组函数完成行列元素的入列和出列;后者运用行列函数完成行列元素的入列和出列。二者都能够完成行列的有序操作和状况的序列改变。


图 6 音讯行列型状况机办法
本节处理了根本状况机办法中的(1)~(3)个问题,为了更好地比较和运用这些特色,特运用一个实例阐明音讯行列型状况机的运用进程。
【运用2】

本例要模仿一个主动贩卖机的作业进程。它的一次正常买卖进程为:投币→挑选需%&&&&&%买的产品→找币,当币值缺乏或产品现已出售结束时则无法购买。

程序的前面板如图 7所示。在贩卖机的左上侧有4个按钮。

  1. 1USD:单击时表明投入1美元的钱银,2USD和5USD类同;
  2. Change Back:表明找零,也便是将现在剩下的钱银退还给用户。

程序的右侧是5个按钮,表明5种不同类别的可乐(这儿均运用了可口可乐的图标),每种可乐的价格均是1美元。可乐的下面数字表明贩卖机中剩下的该产品的数量,初始为每种20瓶。Current money显现贩卖机中剩下的钱银数,你能够持续购买可乐或许挑选退回。单击Stop按钮将退出运用程序。
本例将运用本节介绍的音讯行列状况机办法处理这个运用(也能够运用其它的规划办法)。体系的功用并不杂乱,关键是要判别贩卖机中的剩下钱数和剩下的货品数以决议买卖是否成功。


图 7 主动贩卖机前面板
程序背面板如图 8所示。体系分为5个状况,并分为2大类。

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/news/xinwen/212300.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部