NI LabVIEW,CVI,数据采集等产品讨论区

取消
显示结果 
搜索替代 
您的意思是: 

While循环的问题

我做了个While练习。按我的理解当按下停止按钮循环里的程序都会停止,但实际上只有循环数是停止,计数器一直没有停,想不明白a1.png

0 项奖励
1 条消息(共 4 条)
2,510 次查看

您好,

因为移位寄存器没有初始化,所以会保留之前的数据。 如果在移位寄存器前放 ‘0’, 那计数每一次运行都会从 0 开始。

 

0 项奖励
2 条消息(共 4 条)
2,506 次查看

这只是说明停止按下后会把数值重置为0,但里面的循环并没有停止,用下面的例子可以更清楚,就算停止按钮为真,这个连加数值一直在加,那个毫秒显示也是一直在变

az.jpg

0 项奖励
3 条消息(共 4 条)
2,473 次查看

你好,

 

While 循环已经停止了。连加数值一直在加因为你用了反馈节点, 它会储存上次的数据。 

 

希望用这个解释可以让你了解:

1。 平铺式顺序结构: 在第一个帧,Millisecond timer 会返回一个数值。While loop 也会执行。

2。 当停止按钮为真,While loop 会停止并执行下一个帧的函数. 那我放了一个对话框 “Exit While Loop”。所以While Loop 停止后才会有对话框出现。

3。在第二个帧也有一个Millisecond timer。所以减第一个Millisecond Timer 的数值就可以得到整个program所执行的时间 (in Milliseconds).

4。你可以尝试用不同的时间长短执行,留意不一样的 Time Taken。 所以并没有一直在 Looping

While.PNG

* 如果Millisecond Timer 在 While Loop 里面,它会每 200 ms 返回数值,因为你的Wait 放了200 ms。

Millisecond timer 不会从零开始,它也没有一个固定的Start Value。

 

0 项奖励
4 条消息(共 4 条)
2,467 次查看