纠纷奇闻作文社交美文家庭
聚热点
家庭城市
爱好生活
创业男女
能力餐饮
美文职业
心理周易
母婴奇趣
两性技能
社交传统
新闻范文
工作个人
思考社会
作文职场
家居中考
兴趣安全
解密魅力
奇闻笑话
写作笔记
阅读企业
饮食时事
纠纷案例
初中历史
说说童话
乐趣治疗

LabVIEW编程基础:以实例学编程之事件结构

2月14日 火云谷投稿
  LabVIEW又称为G语言,简单易学、形象直观,采用图形化的编程方式,是专为测试、测量和控制应用而设计的系统工程软件。
  前面几篇文章依次讲解了LabVIEW中顺序顺序结构、条件结构及循环结构的编程方法,下面再讲一种与软件界面响应有关的事件结构的编程方法。
  事件结构框架特点
  在程序设计中,我们经常需要对用户界面的各种操作(如单击鼠标、按下键盘、改变控件的值等)作出响应,在早期的LabVIEW版本中,是采用轮询方式来检测的,其缺点是不够灵活,占用CPU资源较多,而且操作频率较快时可能会检测不到变化,从而漏掉某个事件的发生。
  在LabVIEW6系列版本后,引入了事件结构,这种程序处理结构克服了轮询方式结构的缺点,极大改善了界面处理的运行效率,同时也降低了CPU的占用,提高了软件用户的使用体验。严格意义上来说,事件结构不是纯粹的程序运行控制结构,它是一种监测GUI界面上各种事件发生并采取相应处理措施的一种机制。
  事件结构的框架样式如下图所示:
  上图中,事件结构框架中包括了事件类型、超时端口、事件附加数据及事件框等要素信息。
  下面通过简单的例子,演示LabVIEW中事件结构的编程方法。
  示例说明
  本例运行界面如下图所示:
  实现的功能是,在软件运行过程中监测键盘、鼠标等事件,在“事件信息”字符串显示控件中显示当前的各种运行信息。本例包括了如下事件处理:
  1。“键按下”事件:当按下键盘时在界面上显示当前按下的字符。
  2。“鼠标按下”事件:当鼠标按下时在界面上显示当前按下的是左、中、右哪个键及当前的鼠标位置信息。
  3。“值改变”事件:当点击退出按钮时程序退出运行。
  4。“超时”事件:每隔1s显示一次当前的日期时间信息。
  程序框图实现过程
  本例中涉及到了多种类型事件,主框架采用事件结构配合while循环的方式实现。在事件结构分支中添加各种事件,每响应一次事件执行一次while循环,直到执行退出按钮的值改变事件时退出整个程序,且在while循环中添加了一个移位寄存器,用以保存前面的提示信息。
  在程序开始运行时可以作一些初始化工作,本例中在最外层顺序结构的第一帧中初始化“事件信息”的值,其代码如下图所示:
  在顺序结构的第2帧中对各种事件分别进行处理,下面依次给出4个事件的处理程序框图代码。
  (1)“超时”事件
  程序框图代码如下图所示:
  “超时”事件中实现每隔1s显示一次当前的日期时间信息,超时时间设置为1000ms,使用“获取日期时间字符串”函数得到当前的日期时间,使用“连接字符串”函数与移位寄存器中已有的提示信息相连接,送到“事件信息”控件中显示即可。
  注意,若超时时间设置为1,则永不执行该分支代码,这也是其默认值。
  (2)“键按下”事件
  程序框图代码如下图所示:
  “键按下”事件中,当键盘上有按键按下时,可在其附加数据中得到当前按键的“I16”类型字符值,其对应的是该按键的ASCII码,将其转换为U8类型的变量,然后使用LabVIEW内置函数“强制转换类型”将其转换为字符串类型,就可得到该按键对应的具体字符。
  (3)“鼠标按下”事件
  程序框图代码如下图所示:
  “鼠标按下”事件中,当鼠标在窗口主界面上按下时,其附加数据中的“按钮”值包含了当前按下了哪个键的信息,其中1、2、3分别代表了按下了左键、右键及中键。附加数据中的“坐标”则给出了当鼠标按下时当前其所在窗口上的位置信息。
  (4)“值改变”事件
  程序框图代码分别如下图所示:
  “值改变”事件中实现了当按下前面板上的“退出”按钮时,退出该程序。
  总结
  本文举了一个很简单的例子演示LabVIEW中事件结构的编程方法,当然,在实际软件编程中,不同的事件源(如控件、VI本身等)会产生不同类型的事件,每种事件类型中又会给出其对应的附加数据,根据这些附加数据信息,就可以实现我们的处理目的,其编程方式完全是类似的。
  需要注意的是,不同于其它高级编程语言,在LabVIEW平台中事件结构一般不会单独出现,它通常是与while循环结构进行结合使用的。
  本文由编码那些事原创,请关注转发收藏点赞,带你一起长知识!
投诉 评论 转载

抖音带货产品怎么选?爆款产品都有哪些共性?如今的抖音已经成为了短视频的新风口,也成为了营销界的新宠儿。抖音不同于过去传统的硬植入,而是讲究对广告的创意,使得商品内容与广告能更好的结合,使得用户不至于感到厌烦。那我……【扫盲】如何区分人工智能,机器学习和深度。。。原作者CalumMcClelland编译CDA编译团队本文为CDA数据分析师原创作品,转载需授权我们都熟悉“人工智能”这一概念。毕竟,这个词常常在热……为什么你学完了68个Python函数,却依旧做不。。。作者Gam本文为CDA数据分析师原创作品,转载需授权数据分析老鸟都知道,相比于自己作出好的数据分析报告,“教别人如何入门数据分析”这事情简单多了……win10上如何给时间加上秒数显示?win10默认任务栏上显示的时间是精确到分钟的,对于大部分人来说已经够了,但是有些情况下我们希望时间能够按秒来计时。下面就来介绍一下。一、如果不做任何操作,win10右下……SolidWorks锥齿轮装配为何很多设计师不会?。。。SolidWorks锥齿轮装配效果SolidWorks锥齿轮装配动画SolidWorks锥齿轮的生成1、这里能给大家推荐两个齿轮生成插件,一个是迈迪工具集,一……PythonPyQt架构:如何设置窗口背景色及分割。。。对于软件开发者来讲,基于Python语言,配合Qt界面库编写软件界面程序,应该说是最经典的一种程序架构了,这种PythonPyQt的程序框架结构即考虑了程序的开发时间效率,也兼……手机上也可以写代码了,c4droid安装教程C4droid是一个简单的CCIDECC编译器,使用简单,对于想在手机上写代码的同学很有用处,小编在学C语言的时候会用这个软件写写老师上课讲讲的题再练练,感觉对学习C语言很有用……免费的网速提升?DNS的力量前段时间房租上涨,我们便搬了新家,当一切都妥当之后却迎来了致命问题网络状况奇差,无论上什么网站响应都慢得跟电动车没电了一样。没错,今天我们要说的并不是下载速度的“速”,而……LabVIEW数据可视化:如何实现多图游标的联动。。。LabVIEW平台中提供了波形图控件用于二维数据的可视化功能,在这个控件中提供了游标工具,使用游标可读取波形图曲线中任意一点x、y坐标的数据。单幅波形的数据游标读数比较简单,但……LabVIEW编程基础:以实例学编程之事件结构LabVIEW又称为G语言,简单易学、形象直观,采用图形化的编程方式,是专为测试、测量和控制应用而设计的系统工程软件。前面几篇文章依次讲解了LabVIEW中顺序顺序结构、……别慌,误删的手机图片还能恢复一个致力于为大家的生活、工作、学习提供更多价值的公众号!手机内存越来越大,大家手机里的照片也越来越多,然而在清理手机空间的时候稍不注意手残了,会把一些重要的照片删除!那么……利用pxssh暴力破解ssh密码在前面我们利用Pexpect实现了SSH登录。不过这种方式已经有一个现成的包做好了。它叫Pxssh首先用一个小例子来感受一下它的用法:frompexpectimportp……
电脑蓝屏别只会关机重启!读懂这些代码,轻。。。几年前的笔记本电脑该怎么处理?都开不了机。。。教你简单制作电脑关机自动清理垃圾程序,时。。。1分钟学会电脑高手必备的八大技巧,从此跟电。。。小白必看:超级实用的电脑维护小常识买了新电脑之后,记得调整这5个设置,可以帮。。。办公室计算机常见故障处理,学会这些,不用。。。电脑自动重启故障的21种维修方法,学会了,。。。修电脑不求人最实用办公室电脑故障及解决。。。电脑系统无法启动,引导损坏,如何解决电脑变慢卡死怎么办【解决方法】这样清理C盘,一下子多出几十个G
张杰的唱功为何褒贬不一?生活忙碌四处奔波句子销售部的工作计划浅谈生儿育女为何有些孩子做事拖延懒散?这个ampampquot锅ampa招摇林子豫结局怎么样了林子豫对厉尘澜表白招摇却突留在记忆深处的味道反季豆角种植坐荚技巧中国特色新型城镇化建设路径解析唐朝政治家魏征是如何辅佐李世民的?枕上书凤九恢复记忆与东华圆房了吗?俞永福创业经验:做个好司机选好副驾驶

友情链接:中准网聚热点快百科快传网快生活快软网快好知文好找美丽时装彩妆资讯历史明星乐活安卓数码常识驾车健康苹果问答网络发型电视车载室内电影游戏科学音乐整形