微波EDA网,见证研发工程师的成长!
首页 > 测试测量 > 测试测量技术文库 > LabVIEW程序设计模式(二)—基本状态机模式

LabVIEW程序设计模式(二)—基本状态机模式

时间:01-09 来源:互联网 点击:

      1. 。事实上,我们是可以对状态进行分类的,如数据采集、数据分析状态可以均属于对数据的操作。其实并没有统一的规定如何对状态进行分类,其目的在于使程序能够清晰明了。
      2. 缺乏数据共享和错误处理机制。例如在数据采集之后还需要增加一个数据分析的状态,那么如何将采集得到的数据提供给数据分析模块呢(使用局域变量、全局变量、共享变量或其它)?这一点并不能称为基本状态机的缺点,只是在上面的例程中没有实现,所以单独列出。
      3. 每一个状态分支只能够决定后面的一个状态,而无法决定一个状态序列(多个状态)。假如状态机有三个状态A、B、C,前面板上有三个按钮依次为B1、B2和B3。如果单击B1时需要使得三个状态按照A→B→C的顺序执行,当单击B2时需要使得三个状态按照B→A→C的顺序执行,当单击B3时需要使得三个状态按照C→A→B的顺序执行。这种情况是无法使用基本状态机模式解决的。
      4. 程序一直在占用CPU资源。即使在Idle状态下,仍然需要对前面板的控件值进行监控以确定对哪一个状态进行响应。
      5. 无法响应更多的前面板事件。如当单击窗口右上角的×时,弹出一个确认退出的对话框。当鼠标在前面板拖曳时,捕获这个事件。这种情况是无法使用基本状态机模式解决的。
      6. 任何时刻只能有一个状态在运行。如果用户需要在数据采集过程(acquire状态)中查看“关于&帮助”对话框(about状态),那么基本状态机模式只能暂停数据采集而显示对话框,却无法实现在查看“关于&帮助”对话框的同时仍然进行数据采集。

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

网站地图

Top