关于labview状态机事件结构的疑问

2019-07-17 10:50发布

最近学习使用状态机事件结构
但是遇到点问题
举个简单例子,说明下我遇到的问题
前面板有两个按钮,按下1按钮灯亮,按下2按钮灯灭
newscreen9730780.jpg
因此将程序分为两个条件
分别为灯亮 和 灯灭
灯亮条件结构中有个事件结构,就是当1按钮按下灯亮。
QQ截图20140326104948.png
灯灭条件结构中也有个事件结构,是当2按钮按下灯灭。
QQ截图20140326105000.png
程序按照先按1,再按2。这样运行没有错
但是先按2,程序界面就被锁死
当我将事件结构中锁定屏幕去掉后,程序就不会被锁死
换句话说,其他条件中的事件结构被相应,但没有执行
但是逻辑上来说,这不符合实际,因为没有执行的条件,事件结构如何能够相应
这是BUG还是我事件结构的原理没搞清楚?
请大家帮忙解答

友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
19条回答
imelody
1楼-- · 2019-07-18 22:57
 精彩回答 2  元偷偷看……
wawhe
2楼-- · 2019-07-19 01:19
路过学习一下下。。
不二紫菜包饭
3楼-- · 2019-07-19 03:54
标记                                             
muz210
4楼-- · 2019-07-19 06:37
路过学习。。。。
koolin534
5楼-- · 2019-07-19 08:32
相信楼主已经解决了这个问题了。
刚好正在学状态机,说一下自己对这个问题的理解。
楼主说的锁定屏幕我没有看到,所以不对这个进行理解。
因为while循环外的移位寄存器初始化值是“灯亮”,所以程序一运行,就会进入到灯亮的条件结构中,而灯亮的条件结构中存在“1”值的事件结构,事件结构本身存在等待的动作,所以程序就一开始就一直处于“灯亮”条件结构内的事件结构外等待中。
另外,While循环外的移位寄存器赋值最好使用枚举的格式,While循环的停止条件不应该为空,应该随时保持赋值状态。以免出错。
dy7a1022
6楼-- · 2019-07-19 11:01
 精彩回答 2  元偷偷看……

一周热门 更多>