labview從入門到出家6(進階篇)--移位寄存器的使用


       前面介紹了如何熟悉和使用Labview自帶的庫函數以及調試方式,大家后期基本可以憑借這兩個方式從入門到出家了,哈哈,后面就靠各位同仁99%的努力了。這篇為啥要講移位寄存器呢,主要是之前做的項目和經驗告訴我,移位寄存器是個好東西,用得好,代碼量可以更加有效簡潔。老曹目前的程序基本就沒脫開過移位寄存器的使用。下面就簡單的講解一下移位寄存器的使用,各位不妨試一下用其他方式實現下面累加的功能,和移位寄存器對比一下就知道它好用在哪里了,不過要了解到好用的精髓,還是得在復雜一點的功能上,這個在后面的狀態機中可以稍微體現出來。

1、新建一個for循環,點擊循環邊框,右鍵添加移位寄存器。

2、添加以下代碼,實現從1加到10的功能,注意左上角填的是10,左下角的循環里面的i索引是從0開始的。寫完后運行以下看效果。大家可以使用高亮顯示,看一下移位寄存器是怎么操作的,移位寄存器其實就是將上一個值/變量/參數等移動到開頭的地方再執行,因為存儲了上一次的數據,並且移到了開頭繼續將變量帶入執行,因此叫移位寄存器(自己編的)。就這個一個小功能,卻解決了不少大麻煩,大家以后會發現它的好用之處。有興趣的,可以不使用移位寄存器,通過其他方式實現以下逐漸累加功能,看寄存器是不是高效簡潔了許多。

3、移位寄存器我還經常用來初始化一個數組,在C語言里面,數組要一開始就聲明,不能根據實際情況進行改變數組大小,在面向對象的語言中(C#等)是有提供動態數組的類型的,那labview有沒有呢?labview本身沒提供這種類型,但是卻可以通過移位寄存器實現。在編程->數組->數組常量 拖拉處一個未激活的數組常量,再編程->數值->數值常量,拖拉一個數值常量到數組常量中,它們會合並激活成一個可用的空數組,數組類型由我們拖拉進去的變量決定,可以放字符串,簇等,簇在編程->簇,類與變體 中可以找到,簇其實相當於C語言里面的結構體,類還是那個面向對象的類,變體相當於面向對象語言中的泛型,可以用一個變量表示所有變量,最后通過變量轉換,轉成目標變量。扯遠了,這里就是講一下語言之間的共通性,學好一個,確實可以舉一反三,融會貫通(又扯遠了)。

4、再拖拉一個 編程->數組->創建數組  ,用這個方法新建數組。

5、鼠標移到到它下方或者上方,進行拖拉。這里拖拉多一個就可以了。拉多少個,就能創建多大的數組,但是我們讓它根據我們的需要自動創建,不需要手動一個一個地添加。

6、按如下接線連接,i索引就是循環中的執行次數,從0開始的。右鍵創建一個輸出控件,運行后可以在前面板看到一個新建好的從1到9的數組。

當然還有其他方式,將創建數組函數去掉,用數組插入函數代替,可實現同樣的效果。

默認數組是往后面逐漸添加的。

將for循環代替為while循環,效果一致。但是要讓程序退出,需要執行完后給while循環中右下角的結束標記一個true,這樣運行完后就退出程序了。

慢慢的,你會喜歡上移位寄存器的,特別是后面的狀態機講解,砸門不急,再講一期進階篇--隊列的使用,就講狀態機了,到時候給大伙一個好用的狀態機,當然也可以從網上下載JKI之類的狀態機也可以,功能大同小異。

 

原創不易,一鍵三連拉!


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM