日本a√视频在线,久久青青亚洲国产,亚洲一区欧美二区,免费g片在线观看网站

        <style id="k3y6c"><u id="k3y6c"></u></style>
        <s id="k3y6c"></s>
        <mark id="k3y6c"></mark>
          
          

          <mark id="k3y6c"></mark>

          新聞中心

          EEPW首頁 > 測試測量 > 設計應用 > LabVIEW關于定時的研究

          LabVIEW關于定時的研究

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

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

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

          一.Wait (ms)


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

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

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

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

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

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

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

          我們再將Loop Num增大,使代碼執(zhí)行時間大于20ms,從而得到下面的結果曲線,即循環(huán)周期跟著代碼的時間走了。

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


          上一頁 1 2 下一頁

          關鍵詞: LabVIEW 定時

          評論


          相關推薦

          技術專區(qū)

          關閉