急!求助!为什么子VI单独运行正常,主程序调用就不对了?

2019-07-17 17:11发布

我是一个新手,刚接触labview,做了一个简单的子VI,    用2个点动按钮(释放时触发)启动、停止,控制一个指示灯,子VI运行正常,按启动,灯亮,并保持,按停止,灯灭。但在主程序里调用该子VI,按启动,灯不亮。后来把“启动”换成单击时转换,单击“启动”(=1),灯亮,再次单击“启动”(=0),灯灭了,不能保持。搞了几天都不行,实在不明白,为什么不行?求那位前辈帮忙看看。谢谢!刚开通论坛,只有1分的积分感谢。实在不好意识。附上图片。
TP3.jpg
TP1.jpg
TP2.jpg
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
15条回答
wuxzy
1楼-- · 2019-07-18 05:02
急!求高手帮助!
sailfish11397
2楼-- · 2019-07-18 09:08
子VI中,启动和停止为Fale时的框图???
wuxzy
3楼-- · 2019-07-18 11:05
sailfish11397 发表于 2016-5-24 13:49
子VI中,启动和停止为Fale时的框图???

为fale时空着。是这儿有问题吗?
aurora66
4楼-- · 2019-07-18 13:30
wuxzy 发表于 2016-5-24 16:43
为fale时空着。是这儿有问题吗?

这只是其中一个问题。
两个问题:
1.你的子程序只对=1有响应,这会导致你点第一下(=1)灯亮或灭,点第二下(=0)是无用的操作。
2.子程序中两个框图是并列的,两个按键会互相影响,达不到你想要的效果。比如你点了开启,但是上个循环中的关闭仍然为真,你的灯会先亮后灭。

这种控制思路,最好用事件结构。
wuxzy
5楼-- · 2019-07-18 14:26
 精彩回答 2  元偷偷看……
sailfish11397
6楼-- · 2019-07-18 20:11
我的版本低,打不开。
原因应该是:
在主循环中,每次调用子vi,输入输出均会设置为默认值。
因此,如果第一次循环启动了,输出点亮。第二次调用时,输入输出又为低,输出为默认的值-熄灭。 与期望相悖。
如上,最好采用事件结构。

一周热门 更多>