<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁(yè) > 測(cè)試測(cè)量 > 設(shè)計(jì)應(yīng)用 > LabVIEW關(guān)于定時(shí)的研究

          LabVIEW關(guān)于定時(shí)的研究

          作者: 時(shí)間:2012-09-07 來源:網(wǎng)絡(luò) 收藏

          對(duì)于中用于的兩個(gè)最常用的vi就是Wait (ms).vi 以及 Wait Until Next ms Multiple,本文將用實(shí)際例子來講述這兩個(gè)vi的區(qū)別。不想看后面的詳細(xì)討論的可以只看下面幾個(gè)結(jié)論即可:

          1. 如果想實(shí)現(xiàn)定周期While循環(huán)時(shí),需要用Wait(ms).vi而不是Wait Until Next ms Multiple.vi
          2. Wait(ms).vi在與代碼并行時(shí)可以保證整個(gè)運(yùn)行時(shí)間為設(shè)定值,這個(gè)功能一般都會(huì)以為是Wait Until Next ms Multiple.vi的特性
          3. Wait Until Next ms Multiple.vi 并非想象中那么好用,它會(huì)造成不少的問題,至少第一次的運(yùn)行時(shí)間無法保證為設(shè)定值。
          4. 在代碼執(zhí)行時(shí)間沒超過設(shè)定值時(shí),兩者可以通過編程實(shí)現(xiàn)大致相同的功能,但是當(dāng)代碼執(zhí)行時(shí)間很大時(shí),兩者的處理方法是截然不同的。

          一.Wait (ms)


          對(duì)于Wait (ms) 這個(gè)vi來說需要分兩部分來討論,即它是被順序地放入代碼中還是并行地放入代碼中,這兩種方式的不同將導(dǎo)致它起的作用完全不同。
          (1)順序模式
          看一下附帶程序中的Wait Sequence Demo 1.vi ,在一個(gè)While循環(huán)中,首先用Time Delay.vi延時(shí)0.05s,然后順序地使用Wait (ms).vi,設(shè)為20ms。

          最后運(yùn)行后的結(jié)果如下圖,循環(huán)的周期在70ms左右。

          從結(jié)果中可以得知,在順序模式中,Wait (ms).vi是實(shí)打?qū)嵉匮訒r(shí)了所設(shè)定的時(shí)間,如果其他順序中的代碼耗了時(shí)間后,那整個(gè)循環(huán)的時(shí)間就是代碼時(shí)間+延時(shí)的時(shí)間。即使在此例中將Time Delay換成一些其他消耗一間的code后結(jié)果也是一樣。

          (2)并行模式
          當(dāng)在并行模式時(shí),在不是跑Real-Time時(shí),Wait (ms)這個(gè)vi竟然是能保證整個(gè)循環(huán)周期是所設(shè)定的值,我們看下面的例子(Wait Parallel Demo 1.vi),程序如下:

          循環(huán)中有n多Wait(ms).vi,運(yùn)行后的結(jié)果是循環(huán)周期是20ms,因此可以初步得出結(jié)論,對(duì)于Wait(ms).vi與其他代碼并行時(shí),它會(huì)保證整個(gè)部分的運(yùn)行時(shí)間是所設(shè)定的值(millisecondes to wait)。

          如果還不很確定的話可以看下面一個(gè)例子(Wait Parallel Demo 2.vi):整個(gè)程序的循環(huán)中有一個(gè)Code.vi這樣一個(gè)小vi,它的作用就是運(yùn)行一堆代碼從而占據(jù)一段時(shí)間(可調(diào))。Results中有兩條曲線,白線表示的是代碼的運(yùn)行時(shí)間,紅線表示的是整個(gè)循環(huán)的運(yùn)行時(shí)間。

          運(yùn)行后,我們將Loop Num設(shè)小一點(diǎn),比如5,以保證代碼的執(zhí)行時(shí)間小于20ms,得到下面的結(jié)果曲線,可以看到,當(dāng)代碼時(shí)間不大于設(shè)間值時(shí),整個(gè)循環(huán)周期保證為設(shè)定值。

          我們?cè)賹oop Num增大,使代碼執(zhí)行時(shí)間大于20ms,從而得到下面的結(jié)果曲線,即循環(huán)周期跟著代碼的時(shí)間走了。

          那么我們大致知道了Wait(ms).vi在并行時(shí)的特性了,那么在下面的框圖中可以很明顯地推斷出循環(huán)周期是50ms。


          上一頁(yè) 1 2 下一頁(yè)

          關(guān)鍵詞: LabVIEW 定時(shí)

          評(píng)論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();