Labview移位寄存器理解(例子说明)
引言
Labview的while循環(huán)里面有移位寄存器,看了很多例子才搞懂,把自己的理解簡單記錄一下。
還是用例子來說明比較好,下面文字摘自博客[1]
- 如下圖,上面循環(huán)對移位寄存器進行過初始化,下面的循環(huán)未對寄存器進行初始化。運行第一次結(jié)果都為5。但是第二次運行后上面的數(shù)值依然為5,下面的結(jié)果為10。這是因為第二個循環(huán)沒有對移位寄存器進行初始化,所以運行結(jié)果會從上次運行的結(jié)果5開始繼續(xù)往下運行,所以運行完結(jié)果變?yōu)?0。
- 在沒有關(guān)閉VI前,未初始化的移位寄存器會保留上一次的循環(huán)值。
但是最初看到他的描述感覺有點懵,主要不理解的地方有兩個:
- 移位寄存器的值和N、i有關(guān)系嘛?
- 第一次第二次是循環(huán)到i=1和i=2的時候嘛?
我的答案:
- 沒有直接關(guān)系,不會等于N,也不會等關(guān)于i,但是和循環(huán)次數(shù)N有一定關(guān)系,可以理解是存在其他地方的一個數(shù),具體多少要看內(nèi)部的程序是什么樣的
- 不是,指的是第一次和第二次運行程序,對應(yīng)的是按下面這個按鈕:
什么意思聽我后面的講解。
解釋
首先我們知道循環(huán)次數(shù)是N為5,那么添加了移位寄存器以后循環(huán)5次加1(看上面的程序),所以每次循環(huán)結(jié)束以后移位寄存器的數(shù)就加5。
上面的圖初始化了移位寄存器為0,第一次運行循環(huán)時0加5等于5,第二次循環(huán)時以為寄存器又被初始化為0,所以第二次運行循環(huán)時還是0加5等于5,這樣每次運行輸出的顯示的數(shù)都是5.
下面的圖沒有對移位寄存器進行初始化,第一次運行默認初值是0,0加5輸出顯示的數(shù)是5,第二次由于沒有初始化,保留了上一次移位寄存器的數(shù)5,所以第二次運行循環(huán)時5+5等于10,如果一直運行循環(huán)程序,也會一直累加,所以這就是說為什么和循環(huán)次數(shù)有關(guān)。
另外,這個博主寫的也很好[2],圖片很直觀,可以進一步加深理解。
參考資料
1.小白自學(xué)習(xí)Labview筆記(三)-------循環(huán)結(jié)構(gòu)
2.LabVIEW循環(huán)結(jié)構(gòu)之移位寄存器
總結(jié)
以上是生活随笔為你收集整理的Labview移位寄存器理解(例子说明)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 旋转编码器c语言程序,【E课堂】旋转编码
- 下一篇: 2018工控网络安全发展趋势分析