完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
扫一扫,分享给好友
|
請教大家一個問題,在一個程序框圖中:假如在一個While循環中,程序執行的時間需要100ms,且我在該while循環中加了一個500ms的延時程序,那么程序執行一次while循環用的時間是500ms還是600ms呢?多謝指教。那如果我加的延時不是500ms,而是50ms,那執行一次循環所用的時間是100ms還是150ms呢?為什麽?多謝指教
![]()
|
|
相关推荐
17个回答
|
|
|
延时时间是指程序完成一次后才执行延时,那么程序執行一次while循環用的時間是100ms 加500ms延时 显示到结果输出是:程序开始执行到输出显示结果是600ms
|
|
|
|
|
|
循环延时是指从上一次循环开始到下一次循环开始之间所用的时间,所以你设的500ms,在一次循环里执行完你的程序100ms后,剩余的400ms变为等待,直到下一次循环开始;若设的50ms,程序执行100ms,运行一个循环时间以50ms计,但CPU利用率会变高,你可以打开任务管理器自己试一下。
|
|
|
|
|
|
这就是等待和等待到下一个整倍数毫秒数的区别:
1. 等待:如果连入vi的输入为10ms,如果循环运行时间是3ms,那么每次循环时间是10ms;如果循环运行时间是14ms(大于10ms),那么每次循环的时间是14ms。 2.等待到下一个整数倍毫秒:比如设定1000ms,对于第一次运行,无论当前时间是50ms还是850ms,都将在下一次1000ms的整数倍时间第二次运行该代码,那么实际间隔的时间分别为950ms和150ms |
|
|
|
|
|
和樓下有衝突,剛好相反 |
|
|
|
|
|
和樓上有衝突,我該信誰啊? |
|
|
|
|
|
个人认为答案是500ms和100ms。延时有什么特殊的的么,不就是多线程?将多个线程框起来,结果当然是运行时间较长的。再加一个线程-时间函数中的已经运行时间,就可以知道一个循环的时间了
|
|
|
|
|
|
|
|
|
|
|
|
多謝指教!!那么如果我將時間分成多片,假如吧:我將1 Sec分成3份,然後在每個時間片裡面執行不同程序,如1sec中前0.5S采集數據,再0.2S數據處理,后0.3S控制儀器。由於較難確定執行程序需用多少時間,故也較難確定延時多少時間?那么我要實現上述功能,該如何做呢?多謝您的指教!!! ![]() |
|
|
|
|
|
在每个程序中都加一个“已用时间”,不加延时,看每个程序运行需要多少时间 然后再处理。 |
|
|
|
|
|
謝謝!!!多謝指教了!!! ![]() |
|
|
|
|
|
这种思想 采集,太不好了
|
|
|
|
|
|
你这样实验了吗?cup占用率会不会很高。
|
|
|
|
|
|
|
|
|
|
|
|
楼主这问题我也非常困惑,我自己单步执行了一下,感觉延时应该是指第一次循环结束至下一次循环开始中间等待的时间,3楼纯属误认子弟
|
|
|
|
|
|
问题得到解决了吗?
|
|
|
|
|
|
请不要在自己没有亲自验证过的情况下下结论,这是我测试的结果 |
|
|
|
|
vib001 发表于 2013-11-22 12:32 labview程序是靠数据流运行的,但未连线的程序是并行运行,所以循环内的代码和延时VI是同时开始运行,所有线程运行结束,才是一个while循环,所以循环时间由并行任务中最长的时间决定。 |
|
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
211 浏览 0 评论
请教大神,在labview里面对实时扫描资源中的C系列模块NI9234进行配置发生非预期错误
1709 浏览 0 评论
1585 浏览 0 评论
LABVIEW 2023 Q1调用python后一直报错1671
1960 浏览 2 评论
5207 浏览 3 评论
/9
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2025-12-2 14:41 , Processed in 1.119339 second(s), Total 110, Slave 90 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191

淘帖
3067