示例說明
先看下完成后的軟件界面運行圖,如下所示:
這個流水燈小程序共包括了8個小燈,其主要功能包括:
可設(shè)置每個小燈初始的亮滅狀態(tài);
可設(shè)置流水燈的移動方向;
可設(shè)置流水燈每次向左或向右移動的位數(shù);
可設(shè)置流水燈移動的速度;
可控制流水燈的開始/暫停狀態(tài)。
在LabVIEW中編程實現(xiàn)這么多功能是不是很難啊?其實還是比較簡單的,下面看看怎么實現(xiàn)吧。
文末最后有動態(tài)圖演示哦,不要錯過。
代碼實現(xiàn)
代碼實現(xiàn)主要關(guān)鍵點:
主要程序結(jié)構(gòu):使用while循環(huán)結(jié)構(gòu)+事件結(jié)構(gòu)+移位寄存器,在事件結(jié)構(gòu)的超時事件中完成流水燈狀態(tài)的顯示,在移位寄存器中存儲上次流水燈狀態(tài)對應(yīng)的數(shù)值;
主要功能函數(shù):布爾數(shù)組(流水燈數(shù)組的值)與數(shù)值(需要移位的值)之間的轉(zhuǎn)換函數(shù),循環(huán)移位函數(shù);
為簡化程序代碼的設(shè)計,將前面板上所有的流水燈控件放到一個U8類型的一維數(shù)組控件中。
其中,超時事件代碼框圖如下圖所示:
這是這個程序功能實現(xiàn)的主要代碼,在超時事件中,通過移位寄存器中讀取上次流水燈狀態(tài)對應(yīng)的數(shù)值,然后根據(jù)前面板上的控件設(shè)置決定流水燈是否移動、左移或右移及移動的位數(shù),其關(guān)鍵函數(shù)是循環(huán)移位函數(shù),該函數(shù)參數(shù)接口意義如下,通過給定y值的正負號控件其左移或右移:
當在前面板上改變流水燈初始值狀態(tài)時,需重新給移位寄存器賦初值,其代碼如下:
在前面板上點擊退出程序按鈕時,在事件結(jié)構(gòu)的值改變事件中退出程序的運行,代碼如下:
至此,程序的主要代碼實現(xiàn)就完成了。
總結(jié)
可能大家會想,如果一開始讓你在LabVIEW中實現(xiàn)一個這么花哨的多種控制功能的流水燈小程序,你可能會覺得這太難了,甚至無從下手,實際上,通過上面的實現(xiàn)代碼可看出程序也并不是太難,關(guān)鍵是要熟悉如事件結(jié)構(gòu)、移位寄存器、循環(huán)移位及布爾數(shù)組與數(shù)值之間的轉(zhuǎn)換等幾個小知識點,把任務(wù)分解清楚,花不了幾分鐘也就可以做出來了。
好了,大家照著這個例子做一遍吧,如果還做不出來的話,大家可以加關(guān)注并私信回復(fù):LabVIEW065,可獲取該文章對應(yīng)的LabVIEW原程序下載。
最后再看下這個小例子的動態(tài)運行效果圖吧:
責任編輯人:CC
-
LabVIEW
+關(guān)注
關(guān)注
1970文章
3654瀏覽量
323311 -
labview編程
+關(guān)注
關(guān)注
2文章
8瀏覽量
14114
發(fā)布評論請先 登錄
相關(guān)推薦
評論