
【基本介紹】
LabVIEW是專為測試、測量和控制應(yīng)用而設(shè)計(jì)的系統(tǒng)工程軟件,可快速訪問硬件和數(shù)據(jù)信息。LabVIEW提供了一種圖形化編程方法,可幫助您可視化應(yīng)用程序的各個(gè)方面,包括硬件配置、測量數(shù)據(jù)和調(diào)試。 這種可視化可幫助用戶輕松集成來自任何供應(yīng)商的測量硬件,在程序框圖上表現(xiàn)復(fù)雜的邏輯,開發(fā)數(shù)據(jù)分析算法,并設(shè)計(jì)自定義工程用戶界面。
LabVIEW包含專業(yè)的嵌入式控制和監(jiān)測IP以及經(jīng)過驗(yàn)證且可定制的硬件架構(gòu),可幫助您降低風(fēng)險(xiǎn),自信地進(jìn)行創(chuàng)新。 LabVIEW的開放性使其易于與其他環(huán)境(如Eclipse和CODESYS)集成,可通過各種支持的工業(yè)通信協(xié)議(如EtherCAT、以太網(wǎng)/IP和Modbus)復(fù)用現(xiàn)有代碼和第三方設(shè)備。
【軟件特點(diǎn)】
無縫集成硬件快速將NI硬件和第三方設(shè)備集成到一個(gè)開發(fā)環(huán)境中,以滿足應(yīng)用需求
集成分析函數(shù)和IP,可節(jié)省大量時(shí)間
利用內(nèi)置函數(shù)或調(diào)用現(xiàn)有IP,更快速獲取有用信息。
可視化數(shù)據(jù),以便管理系統(tǒng)
采用拖放方法設(shè)計(jì)用戶界面,以查看數(shù)據(jù)、制定決策和管理已部署的系統(tǒng)。
【改進(jìn)內(nèi)容】
1.對創(chuàng)建類型定義的改進(jìn)在LabVIEW 2018中,您有更多的創(chuàng)建類型定義的方式,它將自定義控件或指示器的所有實(shí)例鏈接到保存的自定義控件或指示器文件。您可以通過以下方式之一創(chuàng)建新的類型定義:選擇文件?新建并在其他文件下選擇類型定義。在項(xiàng)目瀏覽器窗口中右鍵單擊我的電腦,然后從快捷菜單中選擇新建類型定義。
2、改進(jìn)并行循環(huán)中的錯(cuò)誤處理
LabVIEW 2018引入了錯(cuò)誤寄存器來簡化啟用了并行迭代的For循環(huán)的錯(cuò)誤處理。錯(cuò)誤寄存器取代并行For循環(huán)中錯(cuò)誤簇的移位寄存器。錯(cuò)誤寄存器自動(dòng)合并來自并行迭代的錯(cuò)誤
3、NXG風(fēng)格控件和指示器
控件選板包含新型NXG前面板控件和指示器樣式。使用NXG風(fēng)格的控件和指示器來創(chuàng)建與LabVIEW NXG風(fēng)格相同的前面板。這些控件和指示符的外觀根據(jù)最終用戶運(yùn)行VI的平臺(tái)而變化。如果您將VI遷移到LabVIEW NXG,使用這些控件和指示器可以最大限度地減少前面板的失真。
【軟件特性】
使用經(jīng)驗(yàn)證且可定制的硬件,快速進(jìn)行設(shè)計(jì)迭代LabVIEW可與NI現(xiàn)成即用且可定制的硬件緊密集成,無需使用中間件。 統(tǒng)一的開發(fā)環(huán)境為NI FPGA和NI Linux Real-Time OS提供經(jīng)驗(yàn)證的完整軟件堆棧,幫助您在整個(gè)設(shè)計(jì)周期中快速進(jìn)行迭代。
使用高級(jí)控制和分析程序,縮短開發(fā)時(shí)間
LabVIEW包含了1,000多個(gè)高級(jí)控制和分析庫以及針對智能機(jī)器和工業(yè)系統(tǒng)的專用函數(shù)。您可以復(fù)用使用The MathWorks, Inc. MATLAB、Eclipse和CODESYS 軟件或VHDL、C/C ++/C#和Python等編程語言創(chuàng)建的代碼,從而專注于執(zhí)行,而不是集成。
無縫連接第三方設(shè)備和監(jiān)控系統(tǒng)
NI可定制的現(xiàn)成嵌入式硬件和LabVIEW可以充當(dāng)網(wǎng)關(guān),通過各種可支持的工業(yè)通信協(xié)議(如EtherCAT、以太網(wǎng)/IP、Modbus、OPC UA)集成各種現(xiàn)有設(shè)備、儀器和基礎(chǔ)設(shè)施。
快速創(chuàng)建基于web的用戶界面
LabVIEW NXG Web模塊通過拖放式工程UI設(shè)計(jì)、直觀的通信機(jī)制和安全的托管選項(xiàng),簡化了基于Web的用戶界面的設(shè)計(jì)和部署,可讓用戶遠(yuǎn)程查看過程數(shù)據(jù)。
簡化分布式系統(tǒng)的部署和復(fù)制
LabVIEW提供了直觀的API和復(fù)制工具,可對連接的設(shè)備、軟件部署和系統(tǒng)診斷進(jìn)行大規(guī)模協(xié)調(diào),在開發(fā)環(huán)境中直接簡化了部署和系統(tǒng)管理任務(wù)。
更快學(xué)習(xí),加速開發(fā)
您可以自學(xué),也可以讓有資質(zhì)的教員指導(dǎo)您學(xué)習(xí)如何使用LabVIEW提高生產(chǎn)力。 NI通過標(biāo)準(zhǔn)服務(wù)項(xiàng)目(SSP)提供了在線培訓(xùn),或者您可以報(bào)名所在地區(qū)的現(xiàn)場培訓(xùn),獲得設(shè)計(jì)嵌入式控制和監(jiān)測系統(tǒng)的動(dòng)手實(shí)踐經(jīng)驗(yàn)。
【軟件功能】
1、測試測量:LABVIEW最初就是為測試測量而設(shè)計(jì)的,因而測試測量也就是現(xiàn)在LABVIEW最廣泛的應(yīng)用領(lǐng)域。經(jīng)過多年的發(fā)展,LABVIEW在 測試測量領(lǐng)域獲得了廣泛的承認(rèn)。至今,大多數(shù)主流的測試儀器、數(shù)據(jù)采集設(shè)備都擁有專門的LabVIEW驅(qū)動(dòng)程序,使用LabVIEW可以非常便捷的控制這 些硬件設(shè)備。同時(shí),用戶也可以十分方便地找到各種適用于測試測量領(lǐng)域的LabVIEW工具包。這些工具包幾乎覆蓋了用戶所需的所有功能,用戶在這些工具包 的基礎(chǔ)上再開發(fā)程序就容易多了。有時(shí)甚至于只需簡單地調(diào)用幾個(gè)工具包中的函數(shù),就可以組成一個(gè)完整的測試測量應(yīng)用程序。
2、控制:
控制與測試是兩個(gè)相關(guān)度非常高的領(lǐng)域,從測試領(lǐng)域起家的LabVIEW自然而然地首先拓展至控制領(lǐng)域。LabVIEW擁有專門用于控制領(lǐng)域的模塊 ----LabVIEWDSC。除此之外,工業(yè)控制領(lǐng)域常用的設(shè)備、數(shù)據(jù)線等通常也都帶有相應(yīng)的LabVIEW驅(qū)動(dòng)程序。使用LabVIEW可以非常方便 的編制各種控制程序。
3、仿真:
LabVIEW包含了多種多樣的數(shù)學(xué)運(yùn)算函數(shù),特別適合進(jìn)行模擬、仿真、原型設(shè)計(jì)等工作。在設(shè)計(jì)機(jī)電設(shè)備之前,可以先在計(jì)算機(jī)上用LabVIEW搭 建仿真原型,驗(yàn)證設(shè)計(jì)的合理性,找到潛在的問題。在高等教育領(lǐng)域,有時(shí)如果使用LabVIEW進(jìn)行軟件模擬,就可以達(dá)到同樣的效果,使學(xué)生不致失去實(shí)踐的 機(jī)會(huì)。
4、兒童教育:
由于圖形外觀漂亮且容易吸引兒童的注意力,同時(shí)圖形比文本更容易被兒童接受和理解,所以LabVIEW非常受少年兒童的歡迎。對于沒有任何計(jì)算 機(jī)知識(shí)的兒童而言,可以把LabVIEW理解成是一種特殊的“積木”:把不同的原件搭在一起,就可以實(shí)現(xiàn)自己所需的功能。著名的可編程玩具“樂高積木”使 用的就是LabVIEW編程語言。兒童經(jīng)過短暫的指導(dǎo)就可以利用樂高積木提供的積木搭建成各種車輛模型、機(jī)器人等,再使用LabVIEW編寫控制其運(yùn)動(dòng)和 行為的程序。除了應(yīng)用于玩具,LabVIEW還有專門用于中小學(xué)生教學(xué)使用的版本。
5、快速開發(fā):
根據(jù)筆者參與的一些項(xiàng)目統(tǒng)計(jì),完成一個(gè)功能類似的大型應(yīng)用軟件,熟練的LabVIEW程序員所需的開發(fā)時(shí)間,大概只是熟練的C程序員所需時(shí)間的1/5左右。所以,如果項(xiàng)目開發(fā)時(shí)間緊張,應(yīng)該優(yōu)先考慮使用LabVIEW,以縮短開發(fā)時(shí)間。
6、跨平臺(tái):
如果同一個(gè)程序需要運(yùn)行于多個(gè)硬件設(shè)備之上,也可以優(yōu)先考慮使用LabVIEW。LabVIEW具有良好的平臺(tái)一致性。LabVIEW的代碼不需 任何修改就可以運(yùn)行在常見的三大臺(tái)式機(jī)操作系統(tǒng)上:Windows、Mac OS 及 Linux。除此之外,LabVIEW還支持各種實(shí)時(shí)操作系統(tǒng)和嵌入式設(shè)備,比如常見的PDA、FPGA以及運(yùn)行VxWorks和PharLap系統(tǒng)的 RT設(shè)備。
【安裝教程】
LabVIEW2018中文安裝環(huán)境點(diǎn)擊setup.exe,彈出對話框后,點(diǎn)擊Next;

選擇install NI LabVIEW 2018。

開始初始化,初始完成后,點(diǎn)擊下一步。

輸入全名和單位,點(diǎn)擊下一位。

輸入如下產(chǎn)品的序列號(hào):
LabVIEW 2018(基礎(chǔ)版/完整版/專業(yè)版)**;
應(yīng)用程序生成工具-用于labview2018,如激活labview專業(yè)版則保留空白**;
Report Generation工具包-用于labview2018,如激活labview專業(yè)版則保留空白**;
Database工具包-用于labview2018,如激活labview專業(yè)版則保留空白**。
然后點(diǎn)擊下一步。

點(diǎn)擊瀏覽,選擇安裝NI軟件的文件夾;
點(diǎn)擊瀏覽,選擇安裝NI LabVIEW 2018軟件的文件夾;
然后,點(diǎn)擊Next。

選擇安裝的組件(NI LabVIEW2018,Database Connectivity Toolkit-工具包,Report Generation 工具包,軟件包生成支持,用于labview的NI命令行接口,VI Package Manger 2018,附加組件,NIMeasurement&Automation Explorer ,NI設(shè)備驅(qū)動(dòng)程序),點(diǎn)擊下一步。

取消勾選-為正在安裝的Nationl Instruments產(chǎn)品搜索重要消息和更新,如執(zhí)行搜索,則Nationl Instruments將在遵循報(bào)名條款的前提下搜集你的IP地址),然后點(diǎn)擊下一步

選擇-我接受上述2條許可協(xié)議。

選擇-我接受上述2條許可協(xié)議。

核實(shí)一下如下信息是否正確:升級(jí),添加或修改,安裝程序提示。如果有問題點(diǎn)擊上一步重新設(shè)置,如果沒有問題點(diǎn)擊下一步。

開始安裝。


安裝過程中,彈出如下對話框,選擇-不需要支持。

安裝完成,點(diǎn)擊下一步。

選擇重新啟動(dòng)。

【函數(shù)教程】
選擇函數(shù)依據(jù)s的值,返回連線至t輸入或f輸入的值。s為TRUE時(shí),函數(shù)返回連線至t的值。s為FALSE時(shí),函數(shù)返回連線至f的值。
連線板可顯示該多態(tài)函數(shù)的默認(rèn)數(shù)據(jù)類型。
選擇函數(shù)位于:程序框圖-函數(shù)選版-編程-比較-選擇。

t(接線端):如s傳遞的值為TRUE,則值為函數(shù)的返回值。 t和f的類型必須相同,但數(shù)值表示法可以不同。
s(接線端):確定函數(shù)返回s? t:f中的t或f。 如連線錯(cuò)誤簇至s,發(fā)生錯(cuò)誤時(shí),錯(cuò)誤簇可向函數(shù)傳遞TRUE。否則,錯(cuò)誤簇向函數(shù)傳遞FALSE。
f(接線端):如s傳遞的值為FALSE,函數(shù)可返回該值。 t和f的類型必須相同,但數(shù)值表示法可以不同。
s(接線端):的值為TRUE時(shí),s? t:f的值為t;s的值為FALSE時(shí),s? t:f的值為f。

范例1,輸入的t和f為數(shù)值類型。其他數(shù)據(jù)類型依次類推。


范例2,輸入的t和f為數(shù)值數(shù)組類型。其他數(shù)據(jù)類型數(shù)組依次類推。


范例3,輸入的t和f為簇類型。其他簇類型依次類推。


隊(duì)列函數(shù)
隊(duì)列操作函數(shù)位于:程序框圖-函數(shù)選板-函數(shù)-編程-同步-隊(duì)列操作,隊(duì)列操作函數(shù)用于創(chuàng)建同一個(gè)VI不同線程之前或者不同VI間進(jìn)行數(shù)據(jù)通信的隊(duì)列,隊(duì)列函數(shù)可緩沖數(shù)據(jù);

“獲取隊(duì)列引用”函數(shù):返回隊(duì)列的引用。
隊(duì)列最大值(接線端):是隊(duì)列要保持的元素的最大數(shù)量。 默認(rèn)值為–1,表示隊(duì)列的元素?cái)?shù)量沒有限制。
名稱(接線端):包含要獲取或創(chuàng)建的隊(duì)列的名稱。 默認(rèn)值為空字符串,用于創(chuàng)建無名稱的通知器。
元素?cái)?shù)據(jù)類型(接線端):是需要隊(duì)列包含的數(shù)據(jù)類型。 該輸入端是變體可連線任意數(shù)據(jù)類型。
如未找到是否創(chuàng)建?(接線端):指定名稱指定的隊(duì)列不存在時(shí),是否創(chuàng)建新的隊(duì)列; 如值為TRUE(默認(rèn)值),指定名稱的隊(duì)列不存在時(shí),函數(shù)可創(chuàng)建新的隊(duì)列。
隊(duì)列輸出(接線端):是對已有隊(duì)列或函數(shù)創(chuàng)建的新隊(duì)列的引用。
新建?(接線端):函數(shù)創(chuàng)建新的隊(duì)列時(shí),值為TRUE。

“元素入隊(duì)列”函數(shù):隊(duì)列后端添加元素。
隊(duì)列是隊(duì)列引用(接線端): 通過獲取隊(duì)列引用函數(shù)獲取隊(duì)列引用。
元素(接線端):是添加至隊(duì)列末尾的元素, 數(shù)據(jù)類型可匹配隊(duì)列的子類型。
超時(shí)毫秒(接線端):指定隊(duì)列滿時(shí),函數(shù)等待隊(duì)列可用的時(shí)間,以毫秒為單位; 默認(rèn)值為–1,永不超時(shí)。如函數(shù)的等待時(shí)間超過超時(shí)毫秒時(shí)隊(duì)列仍然是滿的,超時(shí)?輸出的值為TRUE。
隊(duì)列輸出(接線端):是對未改動(dòng)隊(duì)列的引用。
超時(shí)?(接線端):如函數(shù)超時(shí)并且隊(duì)列中無可用空間或出現(xiàn)錯(cuò)誤,則值為TRUE。

“預(yù)覽隊(duì)列元素”函數(shù):返回隊(duì)列前端的元素且不刪除該元素。
隊(duì)列是隊(duì)列引用(接線端): 通過獲取隊(duì)列引用函數(shù)獲取隊(duì)列引用。
超時(shí)毫秒(接線端):指定隊(duì)列為空時(shí),函數(shù)等待隊(duì)列可用元素的時(shí)間,以毫秒為單位。 默認(rèn)值為–1,永不超時(shí);如函數(shù)的等待時(shí)間超過超時(shí)毫秒時(shí)隊(duì)列仍為空,超時(shí)?的值為TRUE。
隊(duì)列輸出(接線端):是對未改動(dòng)隊(duì)列的引用。
元素(接線端):是隊(duì)列前部的元素。 數(shù)據(jù)類型可匹配隊(duì)列的子類型。
超時(shí)?(接線端):如函數(shù)等待超時(shí)而隊(duì)列中仍然沒有出現(xiàn)可用元素或出現(xiàn)錯(cuò)誤,參數(shù)值為TRUE。

“獲取隊(duì)列狀態(tài)”函數(shù):返回隊(duì)列的當(dāng)前狀態(tài)信息(例如,當(dāng)前隊(duì)列中的元素個(gè)數(shù)),也可使用該函數(shù)檢查隊(duì)列是否為有效的隊(duì)列引用句柄,如隊(duì)列為無效的隊(duì)列引用句柄,函數(shù)可返回錯(cuò)誤代碼1。
隊(duì)列(接線端):是隊(duì)列引用。 通過獲取隊(duì)列引用函數(shù)獲取隊(duì)列引用。
返回元素?(接線端):表明是否返回隊(duì)列中的元素。 如值為FALSE(默認(rèn)值),函數(shù)不返回隊(duì)列中的元素。
隊(duì)列最大值(接線端):是隊(duì)列能包含的元素?cái)?shù)量的最大值。如隊(duì)列最大值為-1,隊(duì)列可包含任意數(shù)量的元素。
隊(duì)列名稱(接線端):是隊(duì)列的名稱。
隊(duì)列輸出(接線端):是對未改動(dòng)隊(duì)列的引用。
待處理刪除數(shù)量(接線端):是“元素出隊(duì)列”或“預(yù)覽隊(duì)列元素”函數(shù)當(dāng)前等待從隊(duì)列中刪除的元素。 更多信息,見元素出列和預(yù)覽隊(duì)列元素函數(shù)。
待處理插入數(shù)量(接線端):是當(dāng)前等待使元素插入隊(duì)列的函數(shù)的數(shù)目, 元素入隊(duì)列或隊(duì)列最前端插入元素函數(shù)可用于使元素插入隊(duì)列,如隊(duì)列最大值為–1,待處理插入數(shù)量為0。
隊(duì)列中元素?cái)?shù)量(接線端):返回當(dāng)前隊(duì)列中元素的數(shù)目。
元素(接線端):返回但并不刪除當(dāng)前隊(duì)列中的所有元素。 如返回元素?的值為FALSE,數(shù)組為空。數(shù)據(jù)類型可匹配隊(duì)列的子類型。

“釋放隊(duì)列引用”函數(shù):釋放隊(duì)列引用。
隊(duì)列(接線端):是隊(duì)列引用, 通過獲取隊(duì)列引用函數(shù)獲取隊(duì)列引用。
強(qiáng)制銷毀?(接線端):表明是否需要銷毀隊(duì)列。 如值為FALSE(默認(rèn))并且需要銷毀隊(duì)列,可調(diào)用“釋放隊(duì)列引用”函數(shù),調(diào)用次數(shù)與獲取引用的次數(shù)相等,或停止使用隊(duì)列引用的所有VI。如值為TRUE,可由該函數(shù)銷毀隊(duì)列,用戶無需多次調(diào)用“釋放隊(duì)列引用”函數(shù)或停止所有使用該通知器引用的VI。銷毀隊(duì)列可使所有指向隊(duì)列的引用無效。
隊(duì)列名稱(接線端):是隊(duì)列的名稱。
剩余元素(接線端):該數(shù)組由函數(shù)釋放隊(duì)列前隊(duì)列中包含的元素組成。 數(shù)組中的第一個(gè)元素是隊(duì)列前部的元素,最后一個(gè)元素是隊(duì)列后部的元素,數(shù)據(jù)類型可匹配隊(duì)列的子類型。

"有損耗元素入隊(duì)列 "(函數(shù)):在隊(duì)列中添加元素。如隊(duì)列已滿,函數(shù)可通過刪除隊(duì)列前端的元素使新元素入隊(duì)。不同于元素入隊(duì)列函數(shù),該函數(shù)可立即執(zhí)行元素入隊(duì)操作。通過獲取隊(duì)列函數(shù)可設(shè)置隊(duì)列的最大尺寸。
隊(duì)列(接線端):是隊(duì)列引用。 通過獲取隊(duì)列引用函數(shù)獲取隊(duì)列引用。
元素(接線端):是添加至隊(duì)列末尾的元素。 數(shù)據(jù)類型可匹配隊(duì)列的子類型。
隊(duì)列輸出(接線端):是對已有隊(duì)列的引用。
溢出元素(接線端):是隊(duì)列已滿時(shí)LabVIEW從隊(duì)列前端刪除的元素。
溢出?(接線端):如隊(duì)列已滿且LabVIEW通過刪除元素獲得該空閑位置,則值為TRUE。如隊(duì)列存在空閑位置且元素已插入隊(duì)列,則溢出?的值為FALSE。

"隊(duì)列最前端插入元素" (函數(shù)):在隊(duì)列前端添加元素。
隊(duì)列隊(duì)列(接線端):是隊(duì)列引用。 通過獲取隊(duì)列引用函數(shù)獲取隊(duì)列引用。
元素隊(duì)列(接線端):是要加入隊(duì)列前部的元素。 數(shù)據(jù)類型可匹配隊(duì)列的子類型。
超時(shí)毫秒隊(duì)列(接線端):指定隊(duì)列滿時(shí),函數(shù)等待隊(duì)列可用的時(shí)間,以毫秒為單位。 默認(rèn)值為–1,永不超時(shí)。如函數(shù)的等待時(shí)間超過超時(shí)毫秒時(shí)隊(duì)列仍然是滿的,超時(shí)?輸出的值為TRUE。
隊(duì)列輸出隊(duì)列(接線端):是對未改動(dòng)隊(duì)列的引用。
超時(shí)?隊(duì)列(接線端):如函數(shù)超時(shí)并且隊(duì)列中無可用空間或出現(xiàn)錯(cuò)誤,則值為TRUE。

"元素出隊(duì)列" (函數(shù)):刪除隊(duì)列前端的一個(gè)元素并返回該元素。如隊(duì)列為空,則函數(shù)在超時(shí)前等待超時(shí)毫秒。如等待期間隊(duì)列中出現(xiàn)剩余元素,函數(shù)可清除該元素且超時(shí)?為FALSE。如隊(duì)列無效(例如,釋放隊(duì)列引用),則函數(shù)停止等待并返回錯(cuò)誤代碼1122。
隊(duì)列(接線端):是隊(duì)列引用。 通過獲取隊(duì)列引用函數(shù)獲取隊(duì)列引用。
超時(shí)毫秒(接線端):指定隊(duì)列為空時(shí),函數(shù)等待隊(duì)列可用元素的時(shí)間,以毫秒為單位。 默認(rèn)值為–1,永不超時(shí)。如函數(shù)的等待時(shí)間超過超時(shí)毫秒時(shí)隊(duì)列仍為空,超時(shí)?的值為TRUE。
隊(duì)列輸出(接線端):是對未改動(dòng)隊(duì)列的引用。
元素(接線端):是隊(duì)列前部的元素。 數(shù)據(jù)類型可匹配隊(duì)列的子類型。
超時(shí)?(接線端):如函數(shù)等待超時(shí)而隊(duì)列中仍然沒有出現(xiàn)可用元素或出現(xiàn)錯(cuò)誤,參數(shù)值為TRUE。

清空隊(duì)列 (函數(shù)):刪除隊(duì)列中的所有元素并通過數(shù)組返回元素,該函數(shù)不釋放隊(duì)列引用。使用釋放隊(duì)列函數(shù)可釋放引用。
隊(duì)列(接線端):是隊(duì)列引用。 通過獲取隊(duì)列引用函數(shù)獲取隊(duì)列引用。
隊(duì)列輸出(接線端):是對未改動(dòng)隊(duì)列的引用。
剩余元素(接線端):該數(shù)組包含從隊(duì)列中刪除的元素。 數(shù)組中的第一個(gè)元素是隊(duì)列前部的元素,最后一個(gè)元素是隊(duì)列后部的元素。數(shù)據(jù)類型可匹配隊(duì)列的子類型。

實(shí)例
概述:演示使用隊(duì)列函數(shù)以不同的速率入隊(duì)列和出隊(duì)列數(shù)據(jù),可能導(dǎo)致上溢或下溢。操作步驟:1. 運(yùn)行VI。2. 注意,當(dāng)入隊(duì)列速度等于出隊(duì)列速度時(shí),隊(duì)列中的元素值保持為常量。3. 設(shè)置“入隊(duì)列速度”為快速。注意,一旦隊(duì)列被填滿,入隊(duì)列循環(huán)必須等待才能繼續(xù)將元素輸入隊(duì)列。4. 設(shè)置“入隊(duì)列速度”為慢速,“出隊(duì)列速度”為快速。注意,一旦隊(duì)列被清空,出隊(duì)列循環(huán)必須等待才能將元素移出隊(duì)列。5. 單擊停止中止VI。


獲取隊(duì)列引用函數(shù)設(shè)置隊(duì)列的數(shù)據(jù)類型,并將隊(duì)列最大值設(shè)置為50。入隊(duì)列循環(huán)使用元素入隊(duì)列函數(shù)將數(shù)據(jù)輸入隊(duì)列。出隊(duì)列循環(huán)使用元素出隊(duì)列函數(shù)將數(shù)據(jù)移出隊(duì)列。
1)當(dāng)隊(duì)列循環(huán)運(yùn)行速度等于出隊(duì)列循環(huán),入隊(duì)列和出隊(duì)列持續(xù)進(jìn)行。2)如入隊(duì)列循環(huán)運(yùn)行速度高于出隊(duì)列循環(huán),隊(duì)列將被填滿。由于隊(duì)列固定大小為50,因此入隊(duì)列循環(huán)必須等待隊(duì)列空間,才能繼續(xù)輸入隊(duì)列元素。3)同理,如出隊(duì)列循環(huán)運(yùn)行速度高于入隊(duì)列循環(huán),出隊(duì)列循環(huán)必須等待直至隊(duì)列中包含元素。隊(duì)列狀態(tài)循環(huán)通過獲取隊(duì)列狀態(tài)函數(shù)顯示隊(duì)列中的當(dāng)前元素。
用戶單擊停止時(shí),隊(duì)列狀態(tài)循環(huán)停止執(zhí)行,并調(diào)用釋放通知器引用函數(shù)。這將使通知器引用無效,并導(dǎo)致入隊(duì)列循環(huán)和出隊(duì)列輸出錯(cuò)誤并結(jié)束執(zhí)行。



【使用教程】
LabVIEW的主界面如何隱藏筆者在此首先創(chuàng)建兩個(gè)vi,一個(gè)主界面.vi和一個(gè)子界面.vi,主界面中有一個(gè)按鈕,點(diǎn)擊該按鈕實(shí)現(xiàn)子界面的調(diào)用,子界面.vi的VI屬性——窗口外觀——自定義——“調(diào)用時(shí)顯示前面板”和“如之前未打開則在運(yùn)行后關(guān)閉”。其他按照默認(rèn)。

在這種情況下,如果不作任何的其他屬性設(shè)置,則點(diǎn)擊主界面中的按鈕,打開子界面的時(shí)候,主界面還是沒有關(guān)閉;

要解決隱藏主界面的情況,需要在主界面.vi中和子界面.vi中的VI屬性進(jìn)行分別設(shè)置:主界面.vi的VI屬性——窗口外觀——窗口動(dòng)作——浮動(dòng),并勾選“LabVIEW處于非活動(dòng)狀態(tài)時(shí)隱藏”,但是要注意盡量不要讓該選項(xiàng)與“允許用戶最小化”同時(shí)勾選;子界面.vi的VI屬性——窗口外觀——窗口動(dòng)作——模態(tài),這樣在子界面運(yùn)行的時(shí)候始終是保持在最前端的;


再次運(yùn)行主界面,并點(diǎn)擊按鈕,情況就不一樣了。
運(yùn)行主界面,點(diǎn)擊按鈕之前;

點(diǎn)擊按鈕之后,子界面彈出,同時(shí)主界面隱藏;

點(diǎn)擊子界面中的停止,則子界面退出,返回主界面,主界面顯現(xiàn)。

LabVIEW中如何創(chuàng)建圖標(biāo)
如圖所示,首先打開一個(gè)LabVIEW工程項(xiàng)目,用于今天的經(jīng)驗(yàn)演示。

如圖所示,右鍵點(diǎn)擊工程右上角上面的儀器圖標(biāo),在下拉菜單里面選擇“編輯圖標(biāo)”選項(xiàng),進(jìn)入今天編輯圖標(biāo)的對話框。

如圖所示,為編輯圖標(biāo)的對話框。在編輯的下拉菜單里面先選擇“選擇全部”,在選擇“清除所有”,把原有的默認(rèn)圖標(biāo)清楚。

如圖所示,右側(cè)是清楚后的圖標(biāo),已經(jīng)什么也沒有了。通過最右側(cè)的各種繪圖工具,進(jìn)行圖標(biāo)的繪制,這個(gè)一般就看個(gè)人自己想繪制成什么樣了,但是最好和項(xiàng)目本身有聯(lián)系。

如圖所示,我在這里繪制了一個(gè)比較雷人的水壺,大家不要見笑,哈哈。

如圖所示,繪制完成后,點(diǎn)擊確定按鈕,右上角的圖標(biāo)變成了這個(gè)樣子。




































