微波EDA网,见证研发工程师的成长!
首页 > 测试测量 > 测试测量技术文库 > 基于Labview的虚拟仪器人机界面模式设计

基于Labview的虚拟仪器人机界面模式设计

时间:01-12 来源:互联网 点击:
  1 前言

Lebview现在已经越来越广泛地应用于测量、控制、教学、科研等领域,它采用图形化编程方式,内置大量功能,能够很方便地完成数据采集分析显示、仪器控制、测量测试、工业过程仿真及控制等多种操作,并具有良好的可扩展性。

在应用Lebview进行实际项目开发时往往要求程序能够实现多功能集成化,这时程序界面的统一化、便于操作等要求就十分重要。本文以虚拟信号发生器的开发过程为例,对使用Labview开发虚拟仪器时人机界面模式的设计与实现进行了研究。

2 虚拟信号发生器的系统要求及分析

2.1 系统要求

虚拟信号发生器的总体设计要求如下1、实现多功能信号发生,能够产生常用波形(正弦波、三角波、方波、齿锯波等)、用户自定义函数波形、加噪波形等。2、可进行参数调节、并完成波形的数字存储功能。3、要求良好的人机交互界面,易于操作。

2.2 设计分析

在Lebview中实现单一功能的信号发生较为简单,只需在前面板放置相应的控件进行波形参数设置、波形显示及数据存储路径选择,然后在框图程序窗口选择合适的功能节点,并完成各节点及端点的逻辑连接即可达到要求。

按照系统设计要求,程序不但需要实现多种功能,同时还应该具有能让用户便捷地进行操作的特点,而简单地将多个子功能程序放在一起并不能满足要求。

我们针对"便于操作、良好的人机交互界面"这个系统要求进行了综合分析,设计了三种具有不同特点的人机界面模式:整体界面模式、弹出式界面模式、动态调用界面模式。

3 虚拟信号发生器的人机界面设计

3.1整体界面模式设计

整体界面模式的特点:所有功能模块的参数设置及实现均在同一界面下,不同的功能对应不同的功能按钮。当按下某一按钮时,将实现相应的功能操作。

3.1.1 前面板设计

在前面板设计中,我们将公共参数放在一组,以免出现重复控件;将各子功能的特征参数分在不同的组中,以方便用户操作。波形的显示由一个graph控件完成,数据存储也共用同一功能区。用互锁按钮实现各子功能之间的切换。该模式下的前面板如图1所示。

图1 整体界面模式的前面板

3.1.2 框图程序设计要点

我们选用了选择结构来完成整体界面模式的实现:将常用信号模块、用户函数信号模块、加噪信号模块分别作为选择结构的三个分支。当按下所需功能按钮时,执行所选的子框图程序,完成相应操作。这里需要注意的是各子功能按钮应该设置为互锁关系,即在任一时刻只允许有一个按钮被按下。当另一按钮被按下时,原先在按下状态的按钮将自动弹起。

我们将各子功能按钮放入一个数组中,则该数组内容对应各按钮的开关状态。然后设置一个while循环结构,利用循环结构的移位寄存器比较本次循环中的按钮数组内容和上次循环中的按钮数组内容,若相等,则说明没有按下其他按钮;若不等,说明有另外的按钮按下,此时需要将按钮数组的内容重写:原来按下的按钮逻辑值应该改为"false",而新按下的按钮逻辑值应变为"true".可将当前按钮状态内容与前一次的按钮状态内容进行异或运算来实现这两步功能。更新后的按钮状态通过局部变量对原按钮数组内容进行重写完成。互锁逻辑的框图程序如图2所示。

图2 互锁逻辑框图程序

整体界面模式的优点在于所有子功能模块均在同一界面下,整体可视性、可操作性较好。但当子模块类型较多时,将出现界面过于臃肿而不易操作、编程过于繁杂的问题,此时我们可以通过Tab控件进行功能模块的分类,以达到简化前面板界面的目的。

3.2 弹出式界面模式

弹出式界面模式的特点:在主程序面板按下子功能按钮时,将弹出相应功能的子程序面板,子面板运行完毕后将返回主面板。

3.2.1 前面板设计

我们将各子功能模块做成多个子程序,为调用方便与主程序放置在同一路径下。主程序的前面板只需实现相应功能的调用按钮配置。当需要使用某项功能时,按下对应的按钮即可将子程序界面调出,执行完毕后关闭子程序则可退回主程序界面,进行其他功能的调用。虚拟信号发生器运行过程中的弹出式界面如图3所示(调用"常用波形发生"子功能程序)。

图3 弹出式界面模式下的前面板架构

3.2.2 框图程序设计要点

利用Labview的事件驱动功能可以较容易地实现弹出式界面的设计要求,因此我们选择事件结构来实现虚拟信号发生器的弹出式界面的程序设计。

在主程序的事件结构中,为每个功能按钮的事件发生指定相应子功能程序的调用。这样,每次当某一功能按钮按下时,Labview会自动通知程序所发生的事件,然后按照为这个事件指定的程序代码对事件进行响应。主程序的框图设计如图4所示。

图4 弹出式界面模式的主框

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

网站地图

Top