微波EDA网,见证研发工程师的成长!
首页 > 测试测量 > 测试测量技术文库 > LabVIEW程序设计模式(五)—生产者/消费者模式(1)_前言

LabVIEW程序设计模式(五)—生产者/消费者模式(1)_前言

时间:01-09 来源:互联网 点击:
再次回顾“基本状态机模式”的6个缺点,只剩下第6个缺点无法在上述的“状态机和事件结构的结合模式”中被解决。
  1. 任何时刻只能有一个状态在运行
这个问题也许有些多余,但是在实际的应用中往往又是最常见的。大多数比较复杂的应用至少应该有“菜单”和“采集”两个状态,如果数据采集程序在运行时仍然希望系统能够处理菜单的事件,这是在传统的状态机或者事件结构中无法实现的。因为无论是状态机结构还是事件结构,都是由一个循环组成的,不同的状态是无法同时被响应和处理的。
解决这个问题的方式也比较简单,LabVIEW本身就是一种多线程的程序设计语言,可以再加一个循环或者另外开一个程序独立运行。但是这样也会带来一些新的问题,比如:
  1. 两个循环(程序)之间如何交换和共享数据。
  2. 两个循环(程序)都有着独立的错误处理系统,它们之间是如何协调的。
  3. 两个循环如何分工呢?应该以哪种方式对状态进行分类以将不同的状态放置在不同的循环(程序)中?
  4. 一个程序如何控制另一个程序的运行和停止。
在上面提出的4个问题中,对循环和程序这两个解决方案而言,第(1)~(3)个问题的解决方式是一样的。只有第(4)个问题是专门针对两个程序而言的,在LabVIEW中这种不同程序之间的相互调用称为“程序的动态调用”。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top