[Labview资料] labview事件结构学习

 


编程的主要目的是为了实现用户的某种功能,用户经过用鼠标、键盘、程序内部等触发某种程序动做,从而达到某种结果,这些操做都被称做为事件,LabVIEW中相应这些事件最经常使用的结构就是“事件结构”。事件结构内容丰富,基本上大的程序结构都须要用到事件结构,下面将详细介绍事件结构。
    事件结构在程序不可以单独响应各类事件,必须与循环结构一同使用,以下图
      <ignore_js_op> 
    事件添加方式很简单,鼠标右键事件框弹出菜单如上图,有添加、删除、复制、编辑事件等选项,按照操做便可。以下图,为事件结构添加Stop事件,布尔控件触发事件的方式有多种,鼠标按下、通过、离开、进入等,这里咱们选择“值改变”。肯定后,stop事件就被添加进去了,以下图,当咱们运行程序后,点击前面板的stop按钮,触发事件使while循环中止然后程序也中止。 
    <ignore_js_op> 
    同一事件分支只能添加一种事件吗?固然不是!有的时候有不少不一样操做却会执行相同代码,怎么编程才不会让代码冗余呢?看个例子,以下图2个按钮stop1,stop2点击后均可以让程序中止,咱们怎么为其添加事件呢?
       <ignore_js_op> 
    咱们先添加一个事件stop1的,方法上面已经描述了。因为stop2的执行代码和stop1同样,咱们在事件stop1上右键->弹出菜单->编辑本事件分支(Edit Event Handled by This Case)会弹出已添加事件stop1的编辑框,这是左侧有2个按钮以下截图
       <ignore_js_op> 
    咱们点击Add Event左侧事件列表会出现以下变化 

       <ignore_js_op> 
    选中这个后,右侧列表选中stop2的Value Change事件后,点击肯定在看该事件分支以下,2个事件就添加在同一个分支当中了,运行程序后,点击stop1或stop2都可让程序中止。
    <ignore_js_op> 

    超时


    超时是事件结构特有的,看名字就知道是怎么回事,即超过必定时间没有触发事件则执行超时事件。若是超时时间设置<=-1,则永远也不执行超时事件,循环处于空闲等待状态。以下图,若是设置超时时间为100,则超过100ms无任何事件触发,则执行超时事件。
    <ignore_js_op> 
    因此若是程序事件功能很少,又须要定时执行一段代码,能够考虑用此方式来完成;若是程序操做频繁,则不建议用此事件来定时执行代码。 
    添加事件方法学会了,有的人在编程时发现点击按钮下去后,发现前面没法响应其余事件了,彷佛前面被锁住了同样,这是为何呢?咱们知道添加事件是会有个事件编辑框,上面已经截图了,那你有没有注意在框体下边有个
选项呢
    <ignore_js_op> 
这个选项的意思是:若是本事件框没有执行完毕前锁定前面板。看到这你就应该明白上述问题所在了吧,因此有的时候咱们果断去掉这个选项。OK,问题解决了。
相关文章
相关标签/搜索