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

2019-07-17 10:50发布

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

友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
19条回答
ZHZJK
1楼-- · 2019-07-18 10:00
 精彩回答 2  元偷偷看……
ZHZJK
2楼-- · 2019-07-18 11:58
lijiuxiong 发表于 2014-3-26 20:12
还没听说有这样一个“状态机事件结构”。你一运行程序,因为你的初始值是“灯亮”,相对应是“灯亮”的条件 ...

我说的是按下后程序被锁死
2按钮按下没反应我可以理解
可是界面被锁死是什么原因?
事件结构执行了?没有吧。
那为什么锁死,你可以解释一下吗

cy2009203150
3楼-- · 2019-07-18 14:03
在labview帮助文档,事件结构中说“避免在同一个循环中放置两个事件结构”,这样容易造成前面板锁死,楼主可以参考一下。
sushu
4楼-- · 2019-07-18 16:55
ZHZJK 发表于 2014-3-26 21:42
我并不是想要问如何点亮灯和熄灭灯,而是程序架构需要
我只是将灯的熄灭与闪烁当个列子,真正使用不是这么 ...


可以看看JKI的state machine    ;JKI官网可以下载的,VIPM里面也可以下载的,
CareZhu
5楼-- · 2019-07-18 20:20
lijiuxiong 发表于 2014-3-26 20:12
还没听说有这样一个“状态机事件结构”。你一运行程序,因为你的初始值是“灯亮”,相对应是“灯亮”的条件 ...

很简单,因为你初始状态定义为灯亮,所以只能执行先执行CASE结构中的真条件,所以你点先点灯灭,肯定不行的,因为在CASE结构的假分支里,不可能执行的
jsxz2144
6楼-- · 2019-07-18 21:34
{:1:}{:1:}{:1:}{:1:}{:1:}

一周热门 更多>