日本黄色一级经典视频|伊人久久精品视频|亚洲黄色色周成人视频九九九|av免费网址黄色小短片|黄色Av无码亚洲成年人|亚洲1区2区3区无码|真人黄片免费观看|无码一级小说欧美日免费三级|日韩中文字幕91在线看|精品久久久无码中文字幕边打电话

當(dāng)前位置:首頁 > 測試測量 > 測試測量
[導(dǎo)讀] Block diagram是其他人看懂VI如何工作的主要途徑,因此它常常需要我們遵循一些簡單的步驟來使Block diagram組織性更強(qiáng),更易閱讀。VI的Block diagram的樣式是非常重要的就如前面板的樣式一樣。用戶可能

Block diagram是其他人看懂VI如何工作的主要途徑,因此它常常需要我們遵循一些簡單的步驟來使Block diagram組織性更強(qiáng),更易閱讀。

VI的Block diagram的樣式是非常重要的就如前面板的樣式一樣。用戶可能看不到Block diagram,但是其他的開發(fā)人員可能看到。一個計劃好的,格調(diào)一致的Block diagram是很容易理解以及便于修改的。

連線技術(shù)

你可以使用在工具條上的下拉菜單來排列分配目標(biāo)對象在Block diagram中的對稱位置。當(dāng)對象被整齊的排列分配好后,你可以使用直線來連接這些對象。使用直線連接可使得Block diagram更易閱讀。

下面一些好的提示,告訴你如何使得Block diagram更加整潔:

1)避免把線置于Block diagram中如子VI或結(jié)構(gòu)對象之下,因為LabVIEW可能隱藏一些結(jié)果線的片斷。你所畫的線務(wù)必要讓你清楚的看到它是否正確的連接到終端上。

2)盡可能少加彎曲,縮短線長。避免把線拉的太長,這樣不容易閱讀。

3)刪掉無關(guān)緊要的線。

4)在你使用連線來傳遞數(shù)據(jù)的時候避免使用局部變量。每個讀取數(shù)據(jù)的局部變量都會建立一個數(shù)據(jù)的拷貝。

5)在數(shù)據(jù)沒有被用于結(jié)構(gòu)之中,不要把線連通結(jié)構(gòu)。

6)使平行的線間空隙均勻。

內(nèi)存和速度優(yōu)化

優(yōu)化LabVIEW VI的使用和運行時間,你有很多需要做。當(dāng)程序有大量的數(shù)組或者嚴(yán)格時間限制的時候,優(yōu)化顯得尤為重要。

雖然優(yōu)化是一個非常棘手的題目,以下可以作為程序的一些基本的優(yōu)化操作:

1)如果在While loop中速度不是很重要的,添加一個等待功能塊,可以避免拖慢其他任務(wù)。一般來說,LabVIEW會以最快的循環(huán)速度來運行While loop中的代碼,這樣會很耗費系統(tǒng)資源,從而使得其他一些代碼得不到最有效的執(zhí)行。這樣會看上去電腦運行的非常慢,及時它僅僅實在運行幾個簡單的循環(huán)。

用Wait(ms)功能塊來加入稍許的延遲可以幫助電腦正常運行循環(huán)以外的其他任務(wù),而不影響循環(huán)的正常工作。一般設(shè)置一個50到100ms的延遲完全足夠了,但是程序中的其他一些因素可能影響到延遲。延遲不合任何數(shù)據(jù)發(fā)生關(guān)系,如圖6所示。


圖11 While Loop 50毫秒延遲

如要完全避免這一問題,使用事件結(jié)構(gòu)。事件結(jié)構(gòu)不會消耗處理器資源,它會等待用戶界面事件發(fā)生后才進(jìn)行相應(yīng)的動作。

2)如果可能,盡量避免在循環(huán)中使用建立數(shù)組功能塊來建立數(shù)組,因為功能塊會不停的調(diào)用LabVIEW的內(nèi)存管理器。建立數(shù)組一個更有效的方法是使用自動索引或者數(shù)組大小預(yù)定義并使用數(shù)組元素替換功能塊來添加數(shù)據(jù)到其中。在字符串處理時同樣會有這樣的問題存在,因為在內(nèi)存中LabVIEW是把字符串按照字符數(shù)組來處理的。

3)盡可能珍惜使用全局和局部變量。你可以使用全局和局部變量來有效的書寫VI。然而,如果你濫用全局或局部變量,特別是數(shù)據(jù)類型,會增加VI的內(nèi)存使用量并影響性能的表現(xiàn)。

除此之外,你同一個程序中同時讀寫全局變量的時候可能碰到紊亂的情況。這些紊亂的情況在調(diào)試的時候很難被發(fā)現(xiàn),因為同一個全局變量在不同的VI中沒有數(shù)據(jù)關(guān)聯(lián)。

考慮使用功能全局變量來替代全局變量。功能性全局變量不會建額外的數(shù)據(jù)拷貝,并且允許如初始化,讀寫和置空等操作。

4)選擇合適的數(shù)據(jù)類型數(shù)組來操作數(shù)據(jù),對于控制程序在內(nèi)存中使用量控制來說是很重要的。例如,如果你有100000個擴(kuò)展精度的浮點數(shù)組,但是實際上只需要以單精度浮點值來進(jìn)行存儲,這樣會出現(xiàn)內(nèi)存不夠使用的情況。使用單精度浮點值數(shù)組進(jìn)行儲存,可以有效的減少內(nèi)存的使用量。下表可以看出不同數(shù)據(jù)類型占用內(nèi)存的情況。

Array Data TypeMemory UsedArray of 100000 EXT Values1MBArray of 100000 SGL Values400KBMemory Saved600KB


5)避免強(qiáng)迫數(shù)值類型轉(zhuǎn)換的情況出現(xiàn),可以有效的降低內(nèi)存的使用量和速度。強(qiáng)迫類型轉(zhuǎn)換出現(xiàn)會使得LabVIEW在轉(zhuǎn)換過程中再復(fù)制一份數(shù)據(jù)。特別是在你的數(shù)組特別大的時候,其效果更為明顯。

6)前面板指示器數(shù)據(jù)的頻繁更新會影響到VI的性能,特別是如果你在用圖形或者圖表顯示數(shù)據(jù)的時候尤為明顯。為了優(yōu)化這些VI,在前面板上只顯示必要的信息,并且只有在更新數(shù)據(jù)和指示器中數(shù)據(jù)不同時候才進(jìn)行數(shù)據(jù)的刷新。

大小和位置

Block diagram窗口的大小會影響你LabVIEW代碼的可讀性。不要讓Block diagram窗口的大于你的屏幕尺寸。在確保LabVIEW代碼能顯示完的情況下,盡量縮小Block diagram窗口的尺寸。如果代碼大于窗口大小的話,會很難于閱讀,因為這不得不使使用者來回拉動滾動條。如果代碼實在太多了,而一個屏幕不能顯示完的話,建議只在一個方向上進(jìn)行滾動(推薦滾動方向為左右方向,因為LabVIEW為數(shù)據(jù)流格式傳輸數(shù)據(jù),推薦的格式也是從左到右,所以我們也建議程序代碼太大的情況下,左右移動為好,見下條規(guī)則)。

從左到右布局

LabVIEW使用從左到右的布局,所以Block diagram也需要遵循這一規(guī)則。因為程序中的元素不能決定執(zhí)行的順序,所以要避免從右到左的連接。只有連線和結(jié)構(gòu)可以決定執(zhí)行的順序。

Block Diagram注釋

對程序進(jìn)行修改和維護(hù)的開發(fā)者需要一個對block diagram好的文檔說明。沒有這個,修改代碼是一件十分耗時和容易造成新的錯誤根源。以下是一些對Block diagram注釋的建議。

1)使用注釋來幫助解釋Block diagram代碼的作用是什么。LabVIEW代碼雖然是圖形化的,但是它沒有自注釋功能。在功能面板上的自由標(biāo)簽可做block diagram注釋之用,加上一定的背景顏色,可達(dá)到注釋的效果。

2)不要在功能塊和子VI調(diào)用上顯示標(biāo)簽,因為他們可能會很大,而且顯得十分笨拙。開發(fā)者可通過Context Help窗口看到功能塊或者子VI的名字。

3)在連線上使用自由標(biāo)簽來確定他們作用。貼上標(biāo)簽的連線對于來自shift register和跨越了整個block diagram的長線線條來說十分有用。

4)在結(jié)構(gòu)上使用標(biāo)簽來確定結(jié)構(gòu)的主要功能。

5)使用標(biāo)簽來顯示常量的特性和功能。

6)在調(diào)用庫功能節(jié)點時候使用標(biāo)簽可以明確功能節(jié)點的作用和調(diào)用者路徑。

7)用注釋來解釋Block diagram中運算法則的功能。如果使用某本書或者參考資料的運算法則,可用注釋來提供這些參考的信息。

調(diào)用庫功能節(jié)點和代碼接口節(jié)點

包括調(diào)用庫功能節(jié)點和代碼接口節(jié)點(CINs)的VI是根據(jù)平臺而定的。使用調(diào)用庫功能節(jié)點來調(diào)用共享庫的VI由平臺而定,如果你在不同的平臺下調(diào)用,可能你的到的結(jié)果是完全不同。如果你把包含調(diào)用庫功能節(jié)點的VI移植到其他平臺上,你必須更新節(jié)點調(diào)用共享庫所用到的目錄路徑。

如果你寫的VI含有CINs,對于不同的平臺你需要不同的VI版本,因為不同的平臺編譯的CINs可能不同。當(dāng)你移植包含CINs的VI到其他平臺時,你必須重新在信的平臺上重新編譯代碼,并重新把它加載到CIN中去。

如果VI包括調(diào)用庫功能節(jié)點或者CIN,你又想在不同的平臺上使用該VI,一定要考慮提供不同版本的VI來適應(yīng)不同平臺的調(diào)用需要。

類型定義

當(dāng)你在超過一個地方使用同樣的唯一的控件或者當(dāng)你有非常的數(shù)據(jù)結(jié)構(gòu)需要在幾個VI間傳遞的時候,請使用類型定義。使用類型定義控件,LabVIEW會在各個VI間自動把改變傳遞到控件或者數(shù)據(jù)結(jié)構(gòu)中。

順序結(jié)構(gòu)

少使用順序結(jié)構(gòu),因為他們會隱藏代碼。盡量靠數(shù)據(jù)流來控制運行的順序,而不是用順序結(jié)構(gòu)。當(dāng)你在順序結(jié)構(gòu)中用到順序局部變量時,你會破壞從左到右的數(shù)據(jù)流規(guī)范。為了幫助控制數(shù)據(jù)流,你可以使用錯誤簇。

如果你必須使用順序結(jié)構(gòu),盡量使用Flat順序結(jié)構(gòu),它不會隱藏任何代碼。如果你在VI中使用Stacked順序結(jié)構(gòu),一定要把最重要的一幀顯示出來。

IX.圖標(biāo)和連接板風(fēng)格



在為VI建立圖標(biāo)和連接塊時使用好的風(fēng)格技術(shù)對那些VI的使用者來說是非常有益的。

圖標(biāo)


圖標(biāo)是VI在面板和Block diagram中VI的代表。當(dāng)子VI擁有設(shè)計好的圖標(biāo),開發(fā)者可以很好的理解子VI的意思,而不需要過多的文檔描述。

在建立圖標(biāo)時,使用一下建議:

1)為每個VI分別建立一個有意義的圖標(biāo)。LabVIEW庫中有許多設(shè)計好的圖標(biāo),通過圖標(biāo)可以很容易理解程序的功能用途;在可用的地方使用他們作為原型。如果你沒有圖片,文字也是可以用來表達(dá)的。如果你局部化應(yīng)用程序,同樣務(wù)必局部化圖標(biāo)中的文字。

提示 在文字圖標(biāo)中8p的小字體看上去是最舒服的。

2)建立圖標(biāo)的時候不要使用口語化的文字??谡Z化的文字是很難翻譯的。翻譯不好可能導(dǎo)致用戶對圖標(biāo)錯誤的理解。例如,一個數(shù)據(jù)采集的VI使用一副樹枝圖片或者伐木工人的圖片,則不好表示其意思。

3)為關(guān)聯(lián)的VI建立統(tǒng)一的樣式。這能幫助使用者直觀上上層VI和被調(diào)用子VI之間的關(guān)系。

4)如果需要打印用,則需要使用黑白圖標(biāo)。不是每個用戶都有彩色打印機(jī)。

5)建立圖標(biāo)使用尺寸為32×32象素。小于該尺寸的圖標(biāo)在選擇和連接的時候看上去會很難使用。看上去也很不舒服。

6)確保子VI圖標(biāo)在Block diagram上是可見的。右鍵點擊子VI,選擇可是項目》終端。確保終端選項沒有被選中。子VI圖標(biāo)比Block diagram上的連接塊更有用。

圖標(biāo)形象例子

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

LED驅(qū)動電源的輸入包括高壓工頻交流(即市電)、低壓直流、高壓直流、低壓高頻交流(如電子變壓器的輸出)等。

關(guān)鍵字: 驅(qū)動電源

在工業(yè)自動化蓬勃發(fā)展的當(dāng)下,工業(yè)電機(jī)作為核心動力設(shè)備,其驅(qū)動電源的性能直接關(guān)系到整個系統(tǒng)的穩(wěn)定性和可靠性。其中,反電動勢抑制與過流保護(hù)是驅(qū)動電源設(shè)計中至關(guān)重要的兩個環(huán)節(jié),集成化方案的設(shè)計成為提升電機(jī)驅(qū)動性能的關(guān)鍵。

關(guān)鍵字: 工業(yè)電機(jī) 驅(qū)動電源

LED 驅(qū)動電源作為 LED 照明系統(tǒng)的 “心臟”,其穩(wěn)定性直接決定了整個照明設(shè)備的使用壽命。然而,在實際應(yīng)用中,LED 驅(qū)動電源易損壞的問題卻十分常見,不僅增加了維護(hù)成本,還影響了用戶體驗。要解決這一問題,需從設(shè)計、生...

關(guān)鍵字: 驅(qū)動電源 照明系統(tǒng) 散熱

根據(jù)LED驅(qū)動電源的公式,電感內(nèi)電流波動大小和電感值成反比,輸出紋波和輸出電容值成反比。所以加大電感值和輸出電容值可以減小紋波。

關(guān)鍵字: LED 設(shè)計 驅(qū)動電源

電動汽車(EV)作為新能源汽車的重要代表,正逐漸成為全球汽車產(chǎn)業(yè)的重要發(fā)展方向。電動汽車的核心技術(shù)之一是電機(jī)驅(qū)動控制系統(tǒng),而絕緣柵雙極型晶體管(IGBT)作為電機(jī)驅(qū)動系統(tǒng)中的關(guān)鍵元件,其性能直接影響到電動汽車的動力性能和...

關(guān)鍵字: 電動汽車 新能源 驅(qū)動電源

在現(xiàn)代城市建設(shè)中,街道及停車場照明作為基礎(chǔ)設(shè)施的重要組成部分,其質(zhì)量和效率直接關(guān)系到城市的公共安全、居民生活質(zhì)量和能源利用效率。隨著科技的進(jìn)步,高亮度白光發(fā)光二極管(LED)因其獨特的優(yōu)勢逐漸取代傳統(tǒng)光源,成為大功率區(qū)域...

關(guān)鍵字: 發(fā)光二極管 驅(qū)動電源 LED

LED通用照明設(shè)計工程師會遇到許多挑戰(zhàn),如功率密度、功率因數(shù)校正(PFC)、空間受限和可靠性等。

關(guān)鍵字: LED 驅(qū)動電源 功率因數(shù)校正

在LED照明技術(shù)日益普及的今天,LED驅(qū)動電源的電磁干擾(EMI)問題成為了一個不可忽視的挑戰(zhàn)。電磁干擾不僅會影響LED燈具的正常工作,還可能對周圍電子設(shè)備造成不利影響,甚至引發(fā)系統(tǒng)故障。因此,采取有效的硬件措施來解決L...

關(guān)鍵字: LED照明技術(shù) 電磁干擾 驅(qū)動電源

開關(guān)電源具有效率高的特性,而且開關(guān)電源的變壓器體積比串聯(lián)穩(wěn)壓型電源的要小得多,電源電路比較整潔,整機(jī)重量也有所下降,所以,現(xiàn)在的LED驅(qū)動電源

關(guān)鍵字: LED 驅(qū)動電源 開關(guān)電源

LED驅(qū)動電源是把電源供應(yīng)轉(zhuǎn)換為特定的電壓電流以驅(qū)動LED發(fā)光的電壓轉(zhuǎn)換器,通常情況下:LED驅(qū)動電源的輸入包括高壓工頻交流(即市電)、低壓直流、高壓直流、低壓高頻交流(如電子變壓器的輸出)等。

關(guān)鍵字: LED 隧道燈 驅(qū)動電源
關(guān)閉