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

发布者:pcwg最新更新时间:2015-07-20 来源: dzsc关键字:Labview  虚拟仪器  人机界面 手机看文章 扫描二维码
随时随地手机看文章
  1 前言

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

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

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

  2.1 系统要求

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

  2.2 设计分析

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

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

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

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

  3.1整体界面模式设计

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

  3.1.1 前面板设计

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

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

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

  3.1.2 框图程序设计要点

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

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

图2 互锁逻辑框图程序

图2 互锁逻辑框图程序

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

  3.2 弹出式界面模式

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

  3.2.1 前面板设计

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

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

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

  3.2.2 框图程序设计要点

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

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

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

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

  弹出式界面模式的优点在于界面及程序结构清晰,所有子模块单独编程,由主程序按需调用,这样可以大大减少编程的复杂程度。

  3.3 动态调用模式

  动态调用模式的特点:子功能程序仅在被调用时动态加载入内存,调用结束后即释放。

  3.3.1前面板设计

  我们将程序界面分为左右两个区域:左边区域设置各功能按钮,可按需调用子功能;右边区域由子面板控件subpanel构成,在子功能被调用时显示和运行相应界面及功能。图5所示的是程序调用"函数信号发生"子功能程序时的界面情况。

图5 动态调用模式的前面板

图5 动态调用模式的前面板

  3.3.2 框图程序设计要点

  为了方便调用子功能程序,将主程序和各子功能程序保存在同一路径下。

  主程序运行时,当需要调用某一子功能程序时,首先应该知道该子程序的整体路径:可以先使用cur-renl VI'S Poih函数和Stdp Path函数获取主程序的路径,将此路径与需要调用的子程序名合成子程序的整体路径。然后由loodondRun函数将已知路径的子程序加载并启动,最后在subponel控件对应的调用节点中使用Insert VI方法将子程序的面板插入子面板控件中。

  不同子功能程序的选择要求由选择结构实现。

  动态调用界面模式的优点在于子模块单独编程,结构清楚,编程的复杂程度低;程序动态加载,占用内存少,加载速度快。

  4 总结

  我们基于虚拟信号发生器的设计对Labview编程中常用的三种人机界面模式:整体界面模式、弹出式界面模式、动态调用界面模式进行了详细的分析和研究,在实际项目开发中可以根据具体情况直接选用这些模式进行界面设计,也将它们综合使用,以达到更高的设计要求。

  另外需要指出的是,每种模式的实现方法也是灵活多变的,比如2.1中涉及到的互锁按钮也可以用枚举(Enum)控件实现相同的功能。而互锁逻辑的实现也能使用事件结构结合设置控件属性节点的方法实现:当某一功能按钮(如"常用波形"按钮)按下时,执行相应程序代码:将自身的逻辑值置为lrue,同时使其他功能按钮的值为false.

关键字:Labview  虚拟仪器  人机界面 引用地址:基于Labview的虚拟仪器人机界面模式设计

上一篇:LabVIEW在智能虚拟仪器仿真中的应用
下一篇:基于LabVlEW太阳能路灯充放电监测系统

推荐阅读最新更新时间:2024-03-30 23:00

LabVIEW使用For循环
目的:用For循环和移位寄存器计算一组随机数的最大值。 1.打开一个新的前面板,按照下图创建对象。 a.将一个数字显示对象放在前面板,设置它的标签为 最大值 。 b.将一个波形图表放在前面板,设置它的标签为 随机数 。将图表的纵坐标范围改为0.0到1.0。 c.在图表的快捷菜单中选择Visible Items Scrollbar和Digital Display,并隐藏Plot Legend。 d.用移位工具修改滚动栏的大小。 练习五 的前面板和流程图 2.按照上图画流程图。 3.在流程图中放置一个For循环(Functions Structures)。 4.在For循环的边框处单击鼠标右键,在快捷菜单中选择Add
[测试测量]
<font color='red'>LabVIEW</font>使用For循环
浅析基于虚拟仪器的温湿度监控系统设计方案
1 引言 虚拟仪器简称VI是具有虚拟面板的PC机仪器,由硬件设备与接口、PC机、设备驱动软件和虚拟仪器面板组成。其中,硬件设备与接口可以是各种以PC机为基础的内置功能卡如DAQ、通用接口总线GPIB接口卡、串行口和VXI总线仪器接口等,或者其他可程控的外部测试设备设备驱动软件是直接控制各种可控制硬件接口的驱动程序。虚拟仪器通过低层设备驱动软件与真实的仪器系统进行直接通信,并通过虚拟仪器面板的形式在计算机屏幕上显示真实仪器操作元素相对应的各种控件虚拟仪器面板应用程序负责对采集来的数据进行数据分析、图像显示、数据存储以及数据打印等操作,面板上的按钮对应各种功能,并伴有动态帮助,这样不仅充分实现单键操作和OSD,而且用户对虚拟仪器面的
[测试测量]
LabVIEW程序设计模式(三)—消息队列型状态机模式
针对基本状态机模式的第(1~3)个问题,需要对模式进行改进。本节将一一分析这些问题对应的解决方案,并最终形成一种新的状态机模式 消息队列型状态机模式。 状态的分类不清晰。 这是一个涉及各个状态分类管理的问题,是一个组织问题。我们可以做一个类比,在一个书桌上有许多种类的书籍(通信、计算机、机械、法律等),这些书都摆放在书桌上很整齐。但是我们在寻找一本书时并不会觉得很迅速和随意,因为书籍的摆放是无序的,每次寻找书籍我们不得不从第一本开始浏览直至找到我们想要的书籍。或许可以做一些改变,我们设置一些书立,将不同种类的书使用书立分开。并且在书立上标明这些书籍表示的种类。这样我们在寻找某一种书籍时就不需要从第一本书开始寻找了,只需要找到对
[测试测量]
<font color='red'>LabVIEW</font>程序设计模式(三)—消息队列型状态机模式
labview-tcp通信总结
1、波形图是每次将久数据清空,然后显示新数据,而波形图表是将新数据接到旧数据的后面。趋势图可以将新的数据添加到曲线的尾端,从而反映实时数据的变化趋势,主要用于显示实时的数据。而图表在画图之前会自动清空当前图表,然后把输入的数据画成曲线。 2、字符串常量中的\r\n这里是算四个字符,而不是指转义字符。 3、通过stop按钮来停止程序的运行,可以采用while循环和事件结构,事件触发条件改为值改变,然后按键机械动作改为保持转换直到释放,保持转换直到释放相当于两次改变事件stop的值。 4、while循环是首先读入stop的值,然后在执行一次后在根据这个值来判断,当while里含有将stop改为true的语句,这个值将写入判断条件,再
[测试测量]
LabVIEW是一种通用的编程语言吗?
作者自传 Jeff Kodosky,1976年NI的合作创始人而且从那时起一直担任总经理。他在1978年被任命为公司的副董事长。从1980年到2000任R%26;amp;D部门的副董事长,而且最近被任命为NI 商业和技术伙伴。他之所以闻名是因为他创建了LabVIEW,即公司的图形化仪器技术软件包。在1976年之前,他任职于UT Austin 的ARL。Jeff从Rensselaer理工学院获得物理学士学位。 我经常听到,甚至有时关注于对LabVIEW的争论,即LabVIEW是一种通用的语言还是一种用于测量和自动化的特定应用程序的开发环境。一方面,有经验的程序员指出了LabVIEW缺乏的流行编程语言所具有的特性,但是另一
[应用]
基于NI LabVIEW平台快速开发医疗电子设备
  针对 医疗设备 行业的投资最近几年一直处于上升阶段,在过去两年,针对医疗设备的风险投资几乎翻倍,2007年更是达到了40亿美元。无论从全球角度还是在中国市场,小型的、未上市的医疗设备制造商在具备产品、市场和创新的元素下,正逐步成为投资新宠。对于这些小型公司来说,如何从激烈的市场竞争中站稳脚跟并脱颖而出是非常困难的事情。他们的核心技术人员也许是生物医学领域的专家,掌握了一定的专利或研究成果,但如何在团队人员非常有限的情况下,快速的将专利或研究成果转化成产品、并保证产品的可靠性和稳定性是很大的难点。通过NI所提供的图形化开发环境LabVIEW和商业化 嵌入式 原型平台,领域专家或研发人员可以无缝集成硬件I/O与算法,在有限的团队人
[测试测量]
基于LabVIEW的虚拟万用表的设计与实现
1.引言 LabVIEW是 美国国家仪器 公司(NationalInstrument, NI )推出的一门图形化编程语言,同时也是着名的 虚拟仪器 开发平台,它担当了 软件即仪器 这一虚拟仪器关键理念中的主角。它结合了图形化编程方式的高性能与灵活性,以及专为测试测量与 自动化 控制应用设计的高端性能与配置功能,能为 数据采集 、仪器控制、测量分析与数据显示等各种应用提供必要的开发工具。LabVIEW的表现形式和功能类似于实际的仪器,但LabVIEW程序很容易改变设置和功能。因此,LabVIEW特别适用于实验室以及需要经常改变仪器和设备的参数及功能的场合。本设计是基于LabVIEW平台环境来构建虚拟万用表。虚拟万用表的旋钮是按照现
[测试测量]
基于<font color='red'>LabVIEW</font>的虚拟万用表的设计与实现
PLC工控组态软件有哪些?
01 组态软件:一般英文简称有三种分别为HMI/MMI/SCADA,对应全称为Human and Machine Interface、Man and Machine Interface 、Supervisory Control and Data Acquisition,中文翻译为:人机界面、监视控制和数据采集软件。 目前组态软件的发展迅猛,已经扩展到企业信息管理系统,管理和控制一体化,远程诊断和维护以及在互联网上的一系列的数据整合。 组态软件的应用领域很广,它可以应用于电力系统、给水系统、石油、化工等领域的数据采集与监视控制以及过程控制等诸多领域。在电力系统以及电气化铁道上又称远动系统(RTU System Remote Te
[嵌入式]
PLC工控组态软件有哪些?
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
最新测试测量文章
换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved