发 帖  
原厂入驻New
[经验]

事件结构超时连线和软触发讨论

2011-8-10 19:40:56  10968
分享
6
本帖最后由 eehome 于 2013-1-5 09:58 编辑

今天第一次来论坛,发个东东,大家认识一下~~

事件结构,是LV编程结构的精髓所在。它类似于单片机的中断功能,优点在于不占用CPU资源。比如按键按下串口发送数据,以及设置键盘快捷键等等功能,事件结构比查询结构要节省很多系统资源。下面我介绍一下利用事件结构的关键点,基础的自己去看帮助吧。
1,关于事件结构超时连线的问题:事件结构有一个超时事件的输入,当不连接时代表永不超时。这点要十分注意,因为有时候你的事件就够会和其他结构放在一个while循环里,比如下图:
1.jpg
我们理想的情况是,其他服务程序正常循环运行(小灯闪烁),而鼠标按下后,处理事件结构。但是如果这样写的话,由于事件结构永不超时,while循环只会运行一次,只有当鼠标按键按下后,才会开始第二次循环。这个程序的运行结果是,按一下鼠标,小灯变化一次。
要解决这个问题有两个办法:一个是给事件结构的延时输入处添加延时时间,比如5ms,这样循环就会5ms运行一次,不会影响其他服务程序的正常运行。二个就是把其他服务程序放到另外一个while循环中,事件结构单独一个循环。个人建议选择第二个方法。
2.jpg
2,关于事件结构软触发的问题:前面板有一个按钮,按下后触发很简单,也很常用。不过有时候要涉及到软触发的问题,就是利用程序(而不是前面板的控件)去触发一个事件。先看下面这个例子:
"服务程序"软件改变“软触发”的值,我们的理想目标是,每次改变服务程序的值为真时,标志小灯会改变一次。但是实际程序运行结果是,无论按多少次,小灯都不变。因为直接赋值只能改变变量的值,而不能引起次变量的事件触发。

解决办法就是:要软件触发事件,必须对变量右键->创建->属性节点->值(信号)进行赋值,这样才能触发事件结构。例如下图。

3.jpg
(事件结构设置时要把锁定前面板勾掉)程序运行结果:当“服务程序”弹起时,小灯不变,但是事件会一直触发,用高亮模式可以看见,连续两次给“软触发”赋F,事件同样会触发,换句话说,只要赋值,就会触发事件,而不是值改变才会触发。所以在事件结构里加了一个条件结构。当“服务程序”按下时,不停的给“软触发”赋T,事件结构不停运行,小灯闪烁。


了解更多labview事件结构请进入bbs.elecfans.com/topic-labviewevent.html








金工 2011-8-10 20:38:44
博客的图片弄不过来...
回复

举报

jozail 2011-8-15 16:04:11
截个图过来啊
回复

举报

wangjiliang 2011-9-7 21:13:59
好帖,截个图发过来
回复

举报

hufenge 2012-6-14 18:14:09
事件结构
回复

举报

刘晓龙 2012-9-1 20:23:59
好贴 谢谢
回复

举报

保密 2012-9-10 23:16:29
谢谢分享
回复

举报

YZ1990 2012-12-27 11:13:20
很好。。。
回复

举报

戴晓辉 2012-12-28 10:16:55
非常不错的设计
回复

举报

章则林 2012-12-28 12:22:14
学习
回复

举报

hai 2013-1-19 13:56:25
好东西
回复

举报

谭建军 2013-2-3 11:56:18
正在学习事件结构
回复

举报

chen 2013-2-3 12:32:06
“事件结构软触发” 讲的好哦,学心啦
回复

举报

chen 2013-2-3 12:57:00
“它类似于单片机的中断功能”很好理解!我现在的工作就是写单片机软件。
回复

举报

曹龙 2013-2-21 20:09:35
遇到这个问题啦 ,学习谢谢
回复

举报

王俊恩 2013-2-21 20:49:24
学习了
回复

举报

刘洋 2013-3-4 23:08:18
顶一个
回复

举报

吕永福 2013-5-22 11:46:41
{:3学习了
回复

举报

陈辉1991 2013-6-2 00:28:45
好贴,正好用的上
回复

举报

王春晨 2013-9-13 07:48:39
你把 "i"接个显示控件看看,巳不是事件结构.呵呵
回复

举报

评论

高级模式
您需要登录后才可以回帖 登录 | 注册

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容图片侵权或者其他问题,请联系本站作侵删。 侵权投诉
12下一页
发经验
关闭

站长推荐 上一条 /8 下一条

快速回复 返回顶部 返回列表