您或許未曾了解的LabVIEW 8.5的五大特性
類(lèi)數據訪(fǎng)問(wèn)函數的自動(dòng)創(chuàng )建
本文引用地址:http://dyxdggzs.com/article/193745.htm利用面向對象的動(dòng)態(tài)分配子VI與迭代處理
混合復選框
MathScript調試功能
指針與互操作性的改進(jìn)
基于客戶(hù)與用戶(hù)的需求,NI LabVIEW 8.5軟件引入了多項新的特性與改進(jìn)。許多時(shí)常提及的特性被添加到了LabVIEW項目瀏覽器,這些工具幫助您管理大量的VI并防止交叉連接等常見(jiàn)問(wèn)題。NI還在8.5版本中添加了一些您或許尚未意識到的其他特性,其中包括對于面向對象編程的改進(jìn)和對于DLL的互操作性。
類(lèi)數據訪(fǎng)問(wèn)函數的自動(dòng)創(chuàng )建
LabVIEW類(lèi)中的數據是私有的,這意味著(zhù)該數據除非通過(guò)接口發(fā)布,否則任何外部函數都不能對其進(jìn)行操作。由于防止了對一個(gè)實(shí)例化對象中數據的直接操作,并要求您為之創(chuàng )建一個(gè)訪(fǎng)問(wèn)函數,這促成了良好的編程習慣?,F今在LabVIEW 8.5中自動(dòng)實(shí)現了創(chuàng )建這些訪(fǎng)問(wèn)函數的過(guò)程,節省了您在處理大規模、復雜類(lèi)時(shí)所需的開(kāi)發(fā)時(shí)間。
圖1.“創(chuàng )建訪(fǎng)問(wèn)函數”對話(huà)框自動(dòng)實(shí)現了創(chuàng )建數據訪(fǎng)問(wèn)函數的過(guò)程。
如欲自動(dòng)創(chuàng )建成員數據訪(fǎng)問(wèn)函數,右擊LabVIEW項目資源管理器中的類(lèi)并選中“創(chuàng )建新的訪(fǎng)問(wèn)函數”,接著(zhù)是“成員數據訪(fǎng)問(wèn)VI…”該類(lèi)的所有數據成員將展示在窗口中,您可以選擇需要為之創(chuàng )建訪(fǎng)問(wèn)函數的數據成員(詳見(jiàn)圖1)。您也可以設置訪(fǎng)問(wèn)模式為讀、寫(xiě)或讀寫(xiě)。對于復雜的數據類(lèi)型,如數組,您可以選擇指向整個(gè)數組或是該數組中的一個(gè)特定元素。如果指向一個(gè)特定元素,您的VI將需要一個(gè)指定該元素的索引的參數。
利用面向對象的動(dòng)態(tài)分配子VI與迭代處理
動(dòng)態(tài)分配子VI可以調用LabVIEW類(lèi)層級中的任一個(gè)VI。LabVIEW根據輸入自動(dòng)態(tài)分配終端的類(lèi)數據類(lèi)型,確定運行時(shí)所調用的子VI的實(shí)現方式。如欲創(chuàng )建一個(gè)動(dòng)態(tài)分配成員VI,將連接端子面板上的一個(gè)輸入終端設置為“動(dòng)態(tài)分配輸入(必需)”,這里假定該終端具有與擁有該成員VI的類(lèi)具有相同的類(lèi)類(lèi)型。
利用LabVIEW 8.5,您可以使用動(dòng)態(tài)分配成員VI實(shí)現迭代算法。迭代VI可以在其所在模塊框圖和任何子VI所在的模塊框圖中調用自身。當您希望對同一個(gè)過(guò)程的輸入進(jìn)行多次操作時(shí),這一點(diǎn)非常有用。如欲支持迭代算法,選擇“VI屬性”對話(huà)框的“執行屬性”頁(yè)中的“共享實(shí)例間的克隆”選項。
迭代的恰當使用可以提高效率并優(yōu)化LabVIEW應用的代碼,但也往往會(huì )導致算法變得極為復雜?;谖谋镜沫h(huán)境中迭代所要求的一般編程實(shí)踐同樣適用于LabVIEW編程。迭代算法需要一個(gè)預先定義的最終可達到并終止迭代調用的基本條件。此外,迭代VI 不能作為應用的頂層VI,它必須由一個(gè)更高層次的VI首先調用。
圖2.選擇“VI屬性”對話(huà)框中高亮顯示的選項以支持迭代調用。
混合復選框
LabVIEW 8.5在系統選板中提供了一個(gè)稱(chēng)為混合復選框的新型前面板控件。不同于傳統的布爾復選框,該控件具有三種狀態(tài)。這對于或許具有未知或未定義狀態(tài)的用戶(hù)輸入很有用。例如,如果您使用單個(gè)復選框設置多個(gè)對象的選項,當混合復選框設置為第三種狀態(tài)時(shí),多個(gè)對象間的任何狀態(tài)沖突都將會(huì )被指示出來(lái)。
MathScript調試功能
LabVIEW 8.5包含有增強的面向MathScript節點(diǎn)的錯誤報告功能。例如,如果您從MathScript節點(diǎn)調用一個(gè)用戶(hù)定義的函數,或.m文件,LabVIEW將在編輯時(shí)而不是運行時(shí)返回該用戶(hù)定義函數中存在的編輯狀態(tài)錯誤。如果您修改了該用戶(hù)定義的函數,LabVIEW在您保存該.m文件后即時(shí)更新錯誤列表窗口。
指針與互操作性的改進(jìn)
LabVIEW8.2及其后版本包含有導入共享庫向導——一個(gè)強大的VI生成工具,它顯著(zhù)節約開(kāi)發(fā)時(shí)間并減少用戶(hù)錯誤。利用該向導,您可以方便地配置包含有需要供圖形化代碼使用的大量輸入參數的復雜函數的DLL。該向導在LabVIEW 8.5中引入對包含帶有指針元素的結構體的導入函數的支持。指針常用于基于文本的編程語(yǔ)言,以指向數值的存儲位置。由于圖形化編程遵守數據流編程模式,指針通常在LabVIEW中不是必需的。
評論