网站大量收购闲置独家精品文档,联系QQ:2885784924

LabVIEW事件结构的妙用(1).pdfVIP

  1. 1、本文档共8页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
LabVIEW 网络讲坛出品 LabVIEW 事件结构的妙用 首先,我们回顾一下上期节目:LabVIEW 网络讲坛乊悬案迷思中关于事件结构的 几个重要知识点。 事件结构的基本组成部分: 事件结构五大基本组成部分 事件结构由——事件选择器、超时接线端、事件数据节点、事件过滤节点和动态事 件接线端5 个基本部分组成。 事件结构编程的3 条黄金原则: 在使用 LabVIEW 事件结构迚行编程的时候,我们应该注意:1.不要将事件结构放 置在 while 循环乊外,而应该放置在 while 循环的内部;2.不要在事件结构的内部 使用循环处理事件,可选择采用生产者消费者结构,在生产者循环中放置事件结构, 在消费者循环中处理事件;3.记得为事件结构添加一个单独处理停止按钮的分支。 遵守以上三条原则将使我们的程序更加健壮,避免在使用事件结构的时候出现前面 板死锁等问题。 过滤事件与通知事件: /china/labviewtips LabVIEW 网络讲坛出品 在 LabVIEW 中,以问号结束的事件被称为过滤事件,其余的事件被称为通知事件。 对于通知事件,程序可以感知事件的发生并且响应该事件,然后再处理在事件结构 中定义的任务;而对于过滤事件,程序感知事件发生后,首先处理在事件结构中定 义的任务,然后根据事件过滤节点的值 (Discard?)来决定是否响应该事件或是 否改变事件数据。 因此我们建议,在希望参与处理用户操作时使用过滤事件,因为过滤事件可以放弃 事件或修改事件数据。如果仅需要知道并响应用户执行的某一特定操作,则应使用 通知事件。 在本期节目中,我们着重介绍动态注册事件的用法。 静态和动态两种事件注册模式: 静态注册指定了事件结构的每个分支具体处理哪些事件。一旦 VI 开始运行, LabVIEW 将自动注册这些事件,并且在VI 运行的整个过程中无法改变事件结构所 处理的事件。 而动态事件注册与 VI 服务器相结合,允许在程序运行时使用控件、VI 或应用程序 的引用来动态地指定和改变产生事件的对象。动态注册在控制 LabVIEW 产生何种 事件和何时产生事件等方面更为灵活。 Demo 1 和Demo 2 帮助大家更好地理解动态注册事件编程方法。 Demo 1 :动态注册事件_阿拉丁神灯.vi Demo 概述: 在这个 VI 中,用严格自定义的方式将一个布尔类型的控件做出神灯的样子,并为 这个布尔控件动态注册了”鼠标按下”的事件。这个事件执行的任务是显示神灯神仙, 并弹出一个对话框。由于该事件采用的是动态注册的方式,所以可以通过一个按钮 取消对该事件的注册。并通过另一个按钮再次注册该事件。这就是动态事件的使用 效果,它可以在程序运行的过程中,动态地控制何时注册事件和注册什么样的事件。 程序实现: /china/labviewtips LabVIEW 网络讲坛出品 1.当我们选择动态注册事件的时候,首先需要在程序框图上放置一个“注册事件” 函数;该函数位于:函数面板》对话框与用户界面》事件》注册事件。 2.接下来,在“注册事件”函数的事件源输入端上连接一个引用,该引用可以是控件、 VI 或应用程序的引用。在阿拉丁神灯的程序中,事件源就是神灯所对应的布尔控 件,所以我们为注册事件函数连接该布尔控件的引用。 3.单击事件源的向下箭头,可以选择该引用对应注册事件,例如:鼠标按下、鼠标 迚入、值改变等等。调整“注册事件”函数的大小,还可以选择另一个事件,从而为 一个或多个引用注册多个事件。 4.在程序框图上“注册事件”函数的右侧是一个While 循环,在循环中放置一个事件 结构。右键单击事件结构的边框,从快捷菜单中选择显示动态事件接线端。动态 事件接线端的左侧与“注册事件”函数的事件注册引用句柄相连,右侧与“取消注册 事件”函数的事件注册引用句柄相连。“取消注册事件”的作用是彻底停止对事件的 响应,并释放相应的内存资源。 5.接下来,我们需要编辑事件结构的分支,以处理动态事件。应该注意的是,要将 某个事件分支配置为可

文档评论(0)

188****6743 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档