0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

Lebview编程中虚拟仪器人机界面的整体模式设计

电子设计 2018-09-04 09:28 次阅读

以虚拟信号发生器为例,介绍了Lebview编程中人机界面的整体模式、弹出式模式及动态调用模式的设计与实现方法,并分析比较了各自的应用特点。

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 弹出式界面模式的主框图程序

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

3.3 动态调用模式

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

3.3.1前面板设计

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

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

3.3.2 框图程序设计要点

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

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

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

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

4 总结

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

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

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • LabVIEW
    +关注

    关注

    1918

    文章

    3619

    浏览量

    317008
  • 人机界面
    +关注

    关注

    5

    文章

    499

    浏览量

    43726
  • 信号发生器
    +关注

    关注

    28

    文章

    1277

    浏览量

    107773
收藏 人收藏

    评论

    相关推荐

    人机界面组态监控可视化 #人机界面 #组态软件 #可视化 #组态

    人机界面可视化
    阿梨是苹果
    发布于 :2024年04月01日 09:55:51

    触控显示模组和触摸屏有啥区别?#模组 #触控 #人机界面

    人机界面模组
    东莞市雨菲电子科技有限公司
    发布于 :2024年03月18日 13:47:18

    工业化设备人机界面解决方案

    工业化设备人机界面解决方案工业化设备人机界面连接应用--插拔式接线端子连接器,在简便连接、安全性、可靠性更保障!工业人机界面(IndustrialHuman-machineInterface或简称
    的头像 发表于 11-16 08:26 299次阅读
    工业化设备<b class='flag-5'>人机界面</b>解决方案

    在没有人机界面的情况下,应如何配置设备?

    我们越来越依赖可穿戴和互联技术,但在没有人机界面的情况下,应如何配置设备?
    的头像 发表于 11-03 11:10 238次阅读
    在没有<b class='flag-5'>人机界面的</b>情况下,应如何配置设备?

    基于NXP i.MX RT117H智能人机界面方案

    基于NXP i.MX RT117H智能人机界面方案
    的头像 发表于 10-30 18:22 355次阅读
    基于NXP i.MX RT117H智能<b class='flag-5'>人机界面</b>方案

    什么是人机界面人机界面跟触摸屏有什么区别?

    人机界面与人们常说的“触摸屏”有什么区别?从严格意义上来说,两者是有本质上的区别的。因为“触摸屏”仅是人机界面产品中可能用到的硬件部分,是一种替代鼠标及键盘部分功能,安装在显示屏前端的输入设备
    的头像 发表于 10-25 08:07 1177次阅读
    什么是<b class='flag-5'>人机界面</b>?<b class='flag-5'>人机界面</b>跟触摸屏有什么区别?

    如何可以应用TouchGFX进行人机界面设计?

    产品中会用到人机界面,有个电容触摸屏。 想请教,如何应用TouchGFX进行界面设计,完成比较好看的人机交互界面,是工业数据采集方面的应用。
    发表于 10-24 06:26

    Arduino人机界面及接口技术入门

    Arduino人机界面及接口技术入门
    发表于 10-23 09:19 0次下载

    干货 | 安富利人机界面方案特色

    当下,人机界面(HMI)正在以前所未有的速度进化。从以鼠标键盘为代表的按键式物理交互界面,到丰富的图形化交互界面,再到如今处于科技前沿的手势、语音等自然交互界面,随着人工智能技术的不断
    的头像 发表于 10-11 15:45 204次阅读
    干货 | 安富利<b class='flag-5'>人机界面</b>方案特色

    人机界面的功能及工作原理

    人机界面最基本的功能是显示现场设备(通常是plc)中的开关量状态和存储器中数字变量的值,用监控画面向 PLC 发出开关量命令,以及修改 PLC 存储器中的参数。
    的头像 发表于 10-05 09:43 1222次阅读
    <b class='flag-5'>人机界面的</b>功能及工作原理

    如何创建一个更有效的电容式触摸人机界面

    触控的互动式人机界面(HMI)接口将更吸引人且更简便操作。通过这个技术,HMI设计者可以意识到,保持产品的一致性,以及整体的美观,将大幅提升使用者的观感。下面的文章将介绍如何创建一个更有效的电容式
    的头像 发表于 08-29 15:29 622次阅读

    如何编写人机界面

    很多人在编写人机界面的时候很苦恼,不知道具体需要哪些内容,最后编写出来的界面会很凌乱,让人操作起来很吃力。
    的头像 发表于 08-25 13:58 670次阅读
    如何编写<b class='flag-5'>人机界面</b>

    新唐即插即用人机界面显示模块可提升终端产质量感

    即插即用人机界面显示模块
    的头像 发表于 08-21 10:51 495次阅读

    人机界面是什么意思

    人机界面是什么意思 anputerterface,简称HCI)是指人与计算机之间进行信息交互的方式和技术,是计算机科学、人类学、心理学等交叉学科的研究领域之一。 人机界面的特征包括以下几个方面 1.
    发表于 07-03 14:13 879次阅读

    人机界面和触摸屏的区别?

    。凡参与人机信息交流的领域都存在着人机界面。触摸屏是PLC人机界面的一种。人通过触摸屏幕上的按钮等就可以调整参数或监视参数。
    的头像 发表于 05-10 09:38 981次阅读
    <b class='flag-5'>人机界面</b>和触摸屏的区别?