Labview事件结构学习

    由于疫情的原因只能在家办公,所以有了时间研究之前的问题,但是还是希望疫情快点过去吧,致敬奋战在一线的所有人!

    之前在研究labview的事件结构时,遇到了如下的问题:应用前面板的控件响应事件结构,如下图搭建一个简单的状态机。

    假如要在条件结构中进行一系列初始化操作,完事之后通过前面板的打开按钮进行下一步,使其跳转到idel状态中进行其他操作,我这里只是为了验证,所以只在idel中放置了停止按钮使程序退出。

    之前我配置事件结构时也是参考一些资料,右键添加事件分支,然后选择控件按钮,类型选择值改变,然后确定

    如此配置之后事件结构基本可以运行了,仿真测试一下,前面板的确定按钮确实可以触发事件结构,然后状态机会跳转条件结构到idel。但是这个时候我如果再次触发了前面板的确定按钮,那么这个时候会发现其他按钮操作就被禁止了,如此一来对于用户来说软件就是死掉了。原因其实很简单,是因为事件结构在触发之后就跳转到了另一个条件结构下,这个时候如果事件再次产生的时候,程序不会做出相应的操作,而前面板默认是锁死状态直至事件分支被执行完,所以会出现前面板无法进行任何操作的现象。查找编辑事件分支页面发现在下面有"锁定前面板....."的选项,将对勾去掉,

再次运行程序,发现,刚才前面板挂起的现象消失,问题解决。

    如果我们在编写程序的时候遇到需要确定触发次数的时候,在刚刚的选项下面就可以配置,按钮触发的次数。同样我们可以选择这个“限制时间队列中改事件的最大实例数”,然后保持默认最大为1,同样可以让问题消失。

    当然如果熟悉动态事件调用,也可以用如下的程序解决,通过触发玩事件分支之后,取消用户事件,取消注册事件,来控制事件再次触发,从而也避免了前面板的锁定。有关于事件注册和产生用户事件的用法可以百度理解一下,我之后也会整理学习的笔记。

   

发布了15 篇原创文章 · 获赞 7 · 访问量 2378

猜你喜欢

转载自blog.csdn.net/weixin_42232769/article/details/104414103