labview事件结构学习
编程的主要目的是为了实现用户的某种功能,用户通过用鼠标、键盘、程序内部等触发某种程序动作,从而达到某种结果,这些操作都被称作为事件,LabVIEW中相应这些事件最常用的结构就是“事件结构”。事件结构内容丰富,基本上大的程序结构都需要用到事件结构,下面将详细介绍事件结构。
事件结构在程序不能够单独响应各种事件,必须与循环结构一同使用,如下图
事件添加方式很简单,鼠标右键事件框弹出菜单如上图,有添加、删除、复制、编辑事件等选项,按照操作即可。如下图,为事件结构添加Stop事件,布尔控件触发事件的方式有多种,鼠标按下、经过、离开、进入等,这里我们选择“值改变”。确定后,stop事件就被添加进去了,如下图,当我们运行程序后,点击前面板的stop按钮,触发事件使while循环停止而后程序也停止。
同一事件分支只能添加一种事件吗?当然不是!有的时候有很多不同操作却会执行相同代码,怎么编程才不会让代码冗余呢?看个例子,如下图2个按钮stop1,stop2点击后都可以让程序停止,我们怎么为其添加事件呢?
我们先添加一个事件stop1的,方法上面已经描述了。由于stop2的执行代码和stop1一样,我们在事件stop1上右键->弹出菜单->编辑本事件分支(Edit Event Handled by This Case)会弹出已添加事件stop1的编辑框,这是左侧有2个按钮如下截图
我们点击Add Event左侧事件列表会出现如下变化
选中这个后,右侧列表选中stop2的Value Change事件后,点击确定在看该事件分支如下,2个事件就添加在同一个分支当中了,运行程序后,点击stop1或stop2均可让程序停止。
超时
超时是事件结构特有的,看名字就知道是怎么回事,即超过一定时间没有触发事件则执行超时事件。如果超时时间设置<=-1,则永远也不执行超时事件,循环处于空闲等待状态。如下图,如果设置超时时间为100,则超过100ms无任何事件触发,则执行超时事件。
所以如果程序事件功能不多,又需要定时执行一段代码,可以考虑用此方式来完成;如果程序操作频繁,则不建议用此事件来定时执行代码。
添加事件方法学会了,有的人在编程时发现点击按钮下去后,发现前面无法响应其他事件了,似乎前面被锁住了一样,这是为什么呢?我们知道添加事件是会有个事件编辑框,上面已经截图了,那你有没有注意在框体下边有个
选项呢
这个选项的意思是:如果本事件框没有执行完毕前锁定前面板。看到这你就应该明白上述问题所在了吧,所以有的时候我们果断去掉这个选项。OK,问题解决了。
学习了,感谢分享~~
学习了 谢谢
好东西
很不错,事件结构和中断类似吧
学习学习!
谢谢啦,恍然大悟,哈哈
顶一下
谢谢
谢谢,会一些了!
学习了,感谢小编分享。
我也要著手~~~下去研究研究~~~
学习了 谢谢~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
蛮不错的,要是更详细点儿就好了,谢谢
对我这样的初学者来说真的很不错,多谢……
不错,分析的也比较清楚,多谢了。。
有没有事件案例的电子资料呀,大家一起学习学习
讲得真详细!谢谢!
介绍的非常详细,比一般教科书上介绍的更实用。
谢谢分享,谢谢分享
不错,分析的也比较清楚,多谢了。
今天才知道有这个功能,结果上论坛来就看到这样的帖子了,真是应该多在论坛学习学习
学习了,非常感谢,要死能多添加些练习例子就更好了。
学习一下
先顶了,我就是要找一下,看不懂树上的
不错 值得收藏起来慢慢研究
什么事件啊 。、
我要积分啊》》》》》》》》》》》》》》
初学者,过来学习一下
很好。学习了。
讲得详细 学习了 谢谢小编
超时原来还蛮有用的啊
学习了,不错,谢谢
感谢小编的精彩分享!
很好的例子,谢谢小编啊
谢谢分享,通了
转载自网络沐风:
编程的主要目的是为了实现用户的某种功能,用户通过用鼠标、键盘、程序内部等触发某种程序动作,从而达到某种结果,这些操作都被称作为事件,LabVIEW中相应这些事件最常用的结构就是“事件结构”。事件结构内容丰富,基本上大的程序结构都需要用到事件结构,下面将详细介绍事件结构。
事件结构在程序不能够单独响应各种事件,必须与循环结构一同使用,如下图
事件添加方式很简单,鼠标右键事件框弹出菜单如上图,有添加、删除、复制、编辑事件等选项,按照操作即可。如下图,为事件结构添加Stop事件,布尔控件触发事件的方式有多种,鼠标按下、经过、离开、进入等,这里我们选择“值改变”。确定后,stop事件就被添加进去了,如下图,当我们运行程序后,点击前面板的stop按钮,触发事件使while循环停止而后程序也停止。
同一事件分支只能添加一种事件吗?当然不是!有的时候有很多不同操作却会执行相同代码,怎么编程才不会让代码冗余呢?看个例子,如下图2个按钮stop1,stop2点击后都可以让程序停止,我们怎么为其添加事件呢?
我们先添加一个事件stop1的,方法上面已经描述了。由于stop2的执行代码和stop1一样,我们在事件stop1上右键->弹出菜单->编辑本事件分支(Edit Event Handled by This Case)会弹出已添加事件stop1的编辑框,这是左侧有2个按钮如下截图
我们点击Add Event左侧事件列表会出现如下变化
选中这个后,右侧列表选中stop2的Value Change事件后,点击确定在看该事件分支如下,2个事件就添加在同一个分支当中了,运行程序后,点击stop1或stop2均可让程序停止。
超时
超时是事件结构特有的,看名字就知道是怎么回事,即超过一定时间没有触发事件则执行超时事件。如果超时时间设置<=-1,则永远也不执行超时事件,循环处于空闲等待状态。如下图,如果设置超时时间为100,则超过100ms无任何事件触发,则执行超时事件。
所以如果程序事件功能不多,又需要定时执行一段代码,可以考虑用此方式来完成;如果程序操作频繁,则不建议用此事件来定时执行代码。
添加事件方法学会了,有的人在编程时发现点击按钮下去后,发现前面无法响应其他事件了,似乎前面被锁住了一样,这是为什么呢?我们知道添加事件是会有个事件编辑框,上面已经截图了,那你有没有注意在框体下边有个
选项呢
这个选项的意思是:如果本事件框没有执行完毕前锁定前面板。看到这你就应该明白上述问题所在了吧,所以有的时候我们果断去掉这个选项。OK,问题解决了。
学习了,感谢分享~~
学习了 谢谢
好东西
很不错,事件结构和中断类似吧
学习学习!
谢谢啦,恍然大悟,哈哈
顶一下
谢谢
谢谢,会一些了!
学习了,感谢小编分享。
我也要著手~~~下去研究研究~~~
学习了 谢谢~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
蛮不错的,要是更详细点儿就好了,谢谢
对我这样的初学者来说真的很不错,多谢……
不错,分析的也比较清楚,多谢了。。