版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、LabVIEW編程規(guī)范Intelligent Electronics InstituteHuazhong University of Science & TechnologyHttp:/2目錄編程規(guī)范的重要性前面板創(chuàng)建規(guī)范背面板創(chuàng)建規(guī)范VI圖標(biāo)和連接器創(chuàng)建規(guī)范Http:/3編程規(guī)范的重要性 編程規(guī)范編程規(guī)范 是指某種計(jì)算機(jī)編程語(yǔ)言的基本風(fēng)格或典范模式,或者說(shuō)是將計(jì)算機(jī)要執(zhí)行的任務(wù),按某種編程語(yǔ)言的基本風(fēng)格或典范模式,形成概念化和結(jié)構(gòu)化設(shè)計(jì)框架與實(shí)現(xiàn)方式Http:/4編程規(guī)范的重要性 軟件是一個(gè)復(fù)雜復(fù)雜的體系 好的軟件程序應(yīng)當(dāng)具備以下特性: 易用性易用性、高效性高效性、可讀性可讀性 可維護(hù)性可維
2、護(hù)性、健壯性、簡(jiǎn)潔性健壯性、簡(jiǎn)潔性Http:/5編程規(guī)范的重要性 對(duì)一個(gè)給定的具體軟件任務(wù),也許有多種實(shí)現(xiàn)方式去完成同一功能。 個(gè)人的偏好個(gè)人的偏好、編程的風(fēng)格編程的風(fēng)格、軟件的需求軟件的需求對(duì)程序開(kāi)發(fā)有著重要的影響,并且開(kāi)發(fā)人員的意向開(kāi)發(fā)人員的意向直接影響程序應(yīng)用的實(shí)際效果。 軟件程序要達(dá)到以上的諸多特性,開(kāi)發(fā)團(tuán)隊(duì)人員之間必須要有一種通用的規(guī)定約束,以盡量減少個(gè)人的主觀隨意性色彩。Http:/6編程規(guī)范的重要性 LabVIEW提供多種方式來(lái)創(chuàng)造程序的樣式,而且在實(shí)際開(kāi)發(fā)應(yīng)用中也可看到許多不同的編程規(guī)范,好的規(guī)范可以開(kāi)發(fā)出更優(yōu)秀的程序。 兼顧編程規(guī)范與軟件開(kāi)發(fā)時(shí)間的平衡選取Http:/7編程規(guī)
3、范的重要性 形成良好編程規(guī)范習(xí)慣,需要進(jìn)行前期準(zhǔn)備工作,主要包括以下4個(gè)方面 寫需求說(shuō)明。 構(gòu)建軟件設(shè)計(jì)架構(gòu)。 配置LabVIEW環(huán)境。 制定項(xiàng)目工程管理規(guī)范。Http:/8前面板創(chuàng)建規(guī)范 布局 配色 幫助信息 Http:/9前面板創(chuàng)建規(guī)范布局 一個(gè)項(xiàng)目所需的設(shè)計(jì)主要包括用戶界面設(shè)計(jì)、程序結(jié)構(gòu)設(shè)計(jì)、接口設(shè)計(jì)、模塊設(shè)計(jì)等。對(duì)于編寫 LabVIEW程序,通常先做用戶界面設(shè)計(jì),可以使界面不受程序?qū)崿F(xiàn)的影響先設(shè)計(jì)程序結(jié)構(gòu),再設(shè)計(jì)界面,難免會(huì)朝著簡(jiǎn)化編碼工作方向去努力,但是這樣的界面設(shè)計(jì)往往不是最方便用戶使用的狀態(tài)Http:/10前面板創(chuàng)建規(guī)范布局 對(duì)于界面設(shè)計(jì)的評(píng)價(jià) 首先,看這個(gè)界面是否完成了其交互功
4、能,用戶可以通過(guò)界面為程序提供必要的信息;可以通過(guò)界面接收到需要的信息。 其次,通過(guò)這個(gè)界面用戶可以簡(jiǎn)單直觀地輸入或獲取信息。 最后,才是界面的美觀程度。Http:/11前面板創(chuàng)建規(guī)范布局 好的用戶界面都有一些共同的特點(diǎn): 使用恰當(dāng)?shù)臄?shù)據(jù)類型和控件類型 控件的分類排布合理、簡(jiǎn)潔 顏色搭配科學(xué) 有必要的文檔說(shuō)明和注釋Http:/12前面板創(chuàng)建規(guī)范布局關(guān)于布局的幾條基本原則: 最重要控件放在最醒目位置最重要控件放在最醒目位置對(duì)于布局,就是將最重要部分放在最顯眼的地方,這是一個(gè)非常重要的規(guī)范。根據(jù)大多數(shù)人的閱讀習(xí)慣,總是從左到右、從上到下,因此要把最重要的部分放在左上角。LabVIEW提供了排列控件
5、、控件對(duì)齊、等間隔這些工具,通過(guò)這些工具,程序設(shè)計(jì)人員就可以非常方便地布置界面上的控件。Http:/13前面板創(chuàng)建規(guī)范布局 同一類控件進(jìn)行歸類和相似控件的尺寸保持一致同一類控件進(jìn)行歸類和相似控件的尺寸保持一致除了使用布局工具將控件對(duì)稱排列整齊,編程人員還需要將同一類控件進(jìn)行歸類,并且相似控件的尺寸最好保持一致,這樣就可使界面看上去更加有層次感。LabVIEW編程提供了可通過(guò)多種裝飾控件、空白間隔、選項(xiàng)卡和簇來(lái)對(duì)控件進(jìn)行歸類的方法,使不同控件看上去有豐富的層次感。Http:/14前面板創(chuàng)建規(guī)范布局 正確調(diào)控窗口大小進(jìn)行窗口大小調(diào)控是非常重要的。一般而言,程序員在一個(gè)分辨率的顯示器下開(kāi)發(fā)的程序,如
6、果在另外一個(gè)不同分辨率的顯示器上運(yùn)行時(shí),就有可能使界面兩端的空白區(qū)域顯示出來(lái)。為了解決這個(gè)問(wèn)題,LabVIEW編程軟件在“VI屬性”菜單欄的窗口大小中有兩個(gè)選項(xiàng):第一個(gè)選項(xiàng)可以讓程序在不同分辨率下保持窗口比例;第二個(gè)選項(xiàng)可以根據(jù)窗口的尺寸,自動(dòng)調(diào)節(jié)界面中控件的大小。Http:/15前面板創(chuàng)建規(guī)范布局圖示是我們智能電子學(xué)研究所(IEI)完成的程序開(kāi)發(fā)項(xiàng)目。對(duì)于程序設(shè)計(jì)人員來(lái)說(shuō),版權(quán)是最重要的,所以我們將研究所的圖徽放在了左上角。整個(gè)界面雖然控件很多,但是排列整齊,而且對(duì)功能類似的控件進(jìn)行了有效的分類,讓人一看上去就清晰、明了Http:/16前面板創(chuàng)建規(guī)范布局圖形用戶界面GUIGUI,即圖形用戶界
7、面,是指采用圖形方式顯示的用戶操作界面GUI分為桌面GUI和工業(yè)GUI。桌面GUI,主要提供給個(gè)人在辦公室、私人實(shí)驗(yàn)室或其他個(gè)人計(jì)算環(huán)境下使用;工業(yè)GUI,使用場(chǎng)合是與儀器設(shè)備相關(guān),實(shí)現(xiàn)工業(yè)測(cè)試測(cè)量、嵌入式控制、設(shè)計(jì)典型應(yīng)用環(huán)境Http:/17前面板創(chuàng)建規(guī)范布局關(guān)于GUI的幾點(diǎn)布局規(guī)范 工業(yè)GUI VI中主VI面板顯示最大化工業(yè)GUI常作為監(jiān)視和控制工業(yè)設(shè)備的專門接口,不希望提供可視的操作系統(tǒng)接入,以避免用戶訪問(wèn)與應(yīng)用無(wú)關(guān)的資源。因此,對(duì)于工業(yè)GUI VI,應(yīng)該將主VI面板最大化。大多數(shù)工業(yè)GUI VI都會(huì)隨PC啟動(dòng)而自動(dòng)運(yùn)行,并且主VI面板會(huì)占據(jù)整個(gè)屏幕。該功能是通過(guò)設(shè)置“窗口運(yùn)行時(shí)最大化”
8、屬性來(lái)實(shí)現(xiàn)的,可通過(guò)“文件VI屬性”選取,然后從“類別”中選擇“窗口運(yùn)行時(shí)位置”,在位置選項(xiàng)中選擇“最大化”。Http:/18前面板創(chuàng)建規(guī)范布局 正確設(shè)置正確設(shè)置GUI VIGUI VI分辨率分辨率在某一個(gè)分辨率下開(kāi)發(fā)的程序,在另一個(gè)分辨率下運(yùn)行時(shí),如果顯示分辨率增加,前面板的一些附加部分會(huì)顯示出來(lái),這就有可能暴露了在開(kāi)發(fā)過(guò)程中需要對(duì)用戶隱藏的控件部分。因此,如果不想讓用戶看見(jiàn)這些控件,就要保證控件對(duì)用戶是不可見(jiàn)的。Http:/19前面板創(chuàng)建規(guī)范布局 GUI VI面板中對(duì)話框設(shè)置和使用對(duì)話框VI前面板的顯示應(yīng)該居中并且小于全屏尺寸,這樣既可以讓用戶很容易識(shí)別出它們是對(duì)話框,還可以在面板打開(kāi)時(shí)總
9、出現(xiàn)在屏幕的中央。一般可以通過(guò)VI屬性中“窗口運(yùn)行時(shí)位置”中設(shè)置屬性為窗口中心來(lái)實(shí)現(xiàn)。與此同時(shí),對(duì)話框VI也必須注意分辨率的設(shè)置問(wèn)題,而且還應(yīng)考慮幾個(gè)對(duì)話框同步打開(kāi)時(shí)的情況。Http:/20前面板創(chuàng)建規(guī)范布局 工業(yè)工業(yè)GUI GUI 自定義對(duì)話框自定義對(duì)話框VIVILabVIEW用戶可以根據(jù)具體需求自定義對(duì)話框。自定義對(duì)話框VI對(duì)桌面GUI和工業(yè)GUI都是適用的。對(duì)于桌面GUI而言,從“文件VI屬性窗口外觀”中設(shè)置對(duì)話框的窗口外觀屬性、面板背景顏色、模式行為及其他屬性,選擇一個(gè)與操作系統(tǒng)對(duì)話框類似的對(duì)話框,盡量保持與操作系統(tǒng)對(duì)話框的一致。對(duì)于工業(yè)GUI,需要較大的面板、控件和文本,3D風(fēng)格的控
10、件會(huì)經(jīng)常用在工業(yè)GUI的界面設(shè)計(jì)中,并且還要根據(jù)重要性來(lái)調(diào)節(jié)工業(yè)GUI的大小和位置。Http:/21前面板創(chuàng)建規(guī)范布局桌面GUI和工業(yè)GUI的區(qū)別示例Http:/22前面板創(chuàng)建規(guī)范布局關(guān)于GUI VI還有幾點(diǎn)值得提醒 在滿足應(yīng)用需求前提下,界面盡可能簡(jiǎn)潔,不要重疊控件,也不能因?yàn)榭丶喽霈F(xiàn)界面重疊的現(xiàn)象 適度隱藏開(kāi)發(fā)界面上所有調(diào)試按鈕工具欄,特別是為程序添加一個(gè)停止按鈕。不要使用開(kāi)發(fā)界面提供的中止運(yùn)行按鈕,可以用一個(gè)停止控件來(lái)退出需要關(guān)閉的程序 給完成的GUI設(shè)計(jì)放上一個(gè)圖標(biāo)Http:/23前面板創(chuàng)建規(guī)范布局子VI對(duì)于子VI面板上的控件、文本基本上采用默認(rèn)的外觀,簡(jiǎn)單明了,方便判斷其是否為子
11、VI即可Http:/24前面板創(chuàng)建規(guī)范配色關(guān)于顏色的搭配,有幾個(gè)重要的原則 總體協(xié)調(diào),局部對(duì)比總體協(xié)調(diào),局部對(duì)比設(shè)計(jì)一個(gè)LabVIEW前面板,其整體的色調(diào)應(yīng)該是協(xié)調(diào)的,而局部或者小范圍內(nèi),可以使用一些亮色來(lái)形成對(duì)比。經(jīng)??吹揭恍〨UI的配色讓人感到不舒服,其存在的一個(gè)共同問(wèn)題是顏色太多。所以,程序開(kāi)發(fā)人員要謹(jǐn)慎地使用顏色。界面的配色就像穿衣時(shí)的顏色搭配一樣,總體上不要超過(guò)3種,否則會(huì)給人一種眼花繚亂的視覺(jué)。Http:/25前面板創(chuàng)建規(guī)范配色 相關(guān)控件采用同一種顏色,同一個(gè)應(yīng)用程序的所相關(guān)控件采用同一種顏色,同一個(gè)應(yīng)用程序的所有有VIVI界面,可采用一致的配色方案,一般子界面,可采用一致的配色方
12、案,一般子VIVI的面的面板和控件不需要配色板和控件不需要配色前面提到要對(duì)相關(guān)的控件進(jìn)行歸類,突出層次感,對(duì)控件顏色的使用也是很好的歸類方式之一。同一個(gè)應(yīng)用程序中應(yīng)該保持一致的顏色主題,對(duì)于子VI的前面板就不需要顏色了,只需保持默認(rèn)的外觀,有助于將其識(shí)別為子VI即可。Http:/26前面板創(chuàng)建規(guī)范配色 遵循通用的慣例遵循通用的慣例我們經(jīng)常使用的一些亮色,比如紅色、黃色、綠色,在使用中盡量遵循工業(yè)標(biāo)準(zhǔn)的一些規(guī)范,比如說(shuō)紅色表示警告,用來(lái)表示一些非常緊急的情況,黃色用來(lái)引起注意,綠色表示整個(gè)工作是非常正常的狀態(tài)。Http:/27前面板創(chuàng)建規(guī)范配色 黑、白色是經(jīng)典配色黑、白色是經(jīng)典配色黑、白色是不會(huì)
13、過(guò)時(shí)最經(jīng)典的顏色,當(dāng)打開(kāi)一個(gè)VI的前面板,不知道如何下手設(shè)計(jì)時(shí),首先可以將前面板的背景設(shè)置為全黑或者全白,然后根據(jù)個(gè)人的創(chuàng)意搭配一些局部的小的亮色,同樣也能設(shè)計(jì)出美觀的界面。Http:/28前面板創(chuàng)建規(guī)范配色 最重要的是對(duì)界面顏色的設(shè)計(jì),必須建立在保最重要的是對(duì)界面顏色的設(shè)計(jì),必須建立在保證應(yīng)用程序功能正確的基礎(chǔ)上證應(yīng)用程序功能正確的基礎(chǔ)上大多數(shù)LabVIEW應(yīng)用程序基本目的是測(cè)試、測(cè)量和控制,在關(guān)鍵的應(yīng)用需求得到滿足后,若時(shí)間允許,才會(huì)考慮配色方案的設(shè)計(jì)。Http:/29前面板創(chuàng)建規(guī)范幫助信息幫助信息主要是指為了幫助新手而提供的一些說(shuō)明文檔。任何描述結(jié)構(gòu)、組件、系統(tǒng)操作、應(yīng)用程序及源代碼的文
14、件都稱為說(shuō)明文檔。說(shuō)明文檔的具體內(nèi)容因應(yīng)用類型、開(kāi)發(fā)人員、用戶的不同而相異。前面板的說(shuō)明文檔一般包括控件標(biāo)簽、描述、提示條和自由標(biāo)簽Http:/30前面板創(chuàng)建規(guī)范幫助信息說(shuō)明文檔的通用規(guī)范 盡量減少在前面板中使用說(shuō)明文檔盡量減少在前面板中使用說(shuō)明文檔直觀的前面板一般是圖形化設(shè)計(jì)的,而不是文本式描述的。因而,無(wú)論是用戶還是程序開(kāi)發(fā)者,都不想在前面板看到太多的文本式描述。相比之下,通俗易懂的按鈕、控件、圖標(biāo)和圖片,則會(huì)更受歡迎。因此,應(yīng)該避免在標(biāo)簽和控件中加入太多的文本。Http:/31前面板創(chuàng)建規(guī)范幫助信息 創(chuàng)建直觀、明了的創(chuàng)建直觀、明了的GUIGUI來(lái)減少文本的使用來(lái)減少文本的使用在創(chuàng)建GUI
15、時(shí),對(duì)于不可避免的文檔說(shuō)明,盡量使用Help菜單或標(biāo)簽為Help的按鈕。還可以根據(jù)要求從LabVIEW載入幫助信息,如在線文檔、LabVIEW Context Help窗口、在外部文檔或編寫的幫助文件內(nèi)創(chuàng)建用戶手冊(cè)或幫助標(biāo)題。Http:/32前面板創(chuàng)建規(guī)范幫助信息特別提醒特別提醒對(duì)于一個(gè)大項(xiàng)目的開(kāi)發(fā),往往是一個(gè)團(tuán)隊(duì)的工作,團(tuán)隊(duì)每位開(kāi)發(fā)人員可能會(huì)在自己的任務(wù)VI中為同事留下注釋文本,幫助理解和閱讀程序。對(duì)于這些文本,在整個(gè)開(kāi)發(fā)任務(wù)結(jié)束時(shí),是應(yīng)該刪掉的。Http:/33前面板創(chuàng)建規(guī)范幫助信息說(shuō)明文檔撰寫應(yīng)該注意的事項(xiàng) 對(duì)于同一個(gè)應(yīng)用程序,應(yīng)該采用一致的字體,可對(duì)于同一個(gè)應(yīng)用程序,應(yīng)該采用一致的字體
16、,可以通過(guò)改變尺寸、粗細(xì)和顏色來(lái)達(dá)到多種文本樣式以通過(guò)改變尺寸、粗細(xì)和顏色來(lái)達(dá)到多種文本樣式通常,應(yīng)用程序需要多種類型文本來(lái)區(qū)分不同類型的數(shù)據(jù)和事件。比如,通常在工業(yè)GUI內(nèi),會(huì)用大號(hào)粗體來(lái)顯示重要數(shù)據(jù)或者標(biāo)題,對(duì)那些報(bào)警、警告之類的重要信息,則會(huì)采用強(qiáng)對(duì)比的顏色,此時(shí)應(yīng)該注意到,太多的文本類型會(huì)使整個(gè)界面顯得雜亂。Http:/34前面板創(chuàng)建規(guī)范幫助信息 同一個(gè)應(yīng)用程序,不同的文本樣式最好不要超同一個(gè)應(yīng)用程序,不同的文本樣式最好不要超過(guò)過(guò)3 3種,否則界面就會(huì)變得難以分辨且分散用戶的種,否則界面就會(huì)變得難以分辨且分散用戶的注意力注意力前面講到關(guān)于控件的歸類,對(duì)類似的控件、標(biāo)簽盡量使用一致的文本
17、樣式,這樣既有層次感,又減少了文本樣式的使用。選擇一致的文本樣式既可以節(jié)省開(kāi)發(fā)時(shí)間,又能提高程序的易用性。Http:/35前面板創(chuàng)建規(guī)范幫助信息 使用簡(jiǎn)潔、直觀的控件標(biāo)簽使用簡(jiǎn)潔、直觀的控件標(biāo)簽在LabVIEW的應(yīng)用程序中,有一種看起來(lái)最醒目的文本類型,即控件標(biāo)簽。使用簡(jiǎn)潔、直觀的控件標(biāo)簽對(duì)程序的易用性是很重要的。另外,盡量為每個(gè)代表物理參數(shù)的控件附加上默認(rèn)值和單位。當(dāng)需要使用很長(zhǎng)的描述或者GUI標(biāo)簽的設(shè)計(jì)與控件標(biāo)簽不同時(shí),盡量使用標(biāo)題。如果通過(guò)標(biāo)簽還不能將對(duì)象的性質(zhì)表述清楚,那就需要輸入一兩行的描述性文本,也可以是具有描述性短語(yǔ)的提示條,當(dāng)鼠標(biāo)光標(biāo)放在控件上時(shí),提示條就會(huì)顯示簡(jiǎn)略的描述。Ht
18、tp:/36前面板創(chuàng)建規(guī)范幫助信息 子子VIVI的說(shuō)明文檔采用默認(rèn)值為宜的說(shuō)明文檔采用默認(rèn)值為宜子VI的說(shuō)明文檔一般使用默認(rèn)值即可。除了商用子VI,如儀器驅(qū)動(dòng)和開(kāi)發(fā)工具箱,其所有的控件和指示器應(yīng)該是粗體的,而在附加的默認(rèn)值和單位則是普通文本。而工業(yè)GUI,根據(jù)其應(yīng)用場(chǎng)合,一般需要采用較大的文本來(lái)顯示命令按鈕和重要數(shù)據(jù),文本的顏色也應(yīng)該和背景色有很高的對(duì)比度。對(duì)于多平臺(tái)應(yīng)用程序,需要在標(biāo)簽和對(duì)象之間留下額外的空間。Http:/37背面板創(chuàng)建規(guī)范 布局 連線 數(shù)據(jù)流 程序注釋 Http:/38背面板創(chuàng)建規(guī)范布局背面板上顯示的是程序框圖,雖然不像前面板的控件那樣直接與用戶交互,但是良好的背面板布局,
19、對(duì)于程序的可讀性是很重要的LabVIEW作為圖形化系統(tǒng)設(shè)計(jì)編程語(yǔ)言,應(yīng)當(dāng)考慮將源代碼控制在一屏能顯示的范圍內(nèi)Http:/39背面板創(chuàng)建規(guī)范布局在背面板布局時(shí),應(yīng)當(dāng)遵循以下一些規(guī)范 不要給程序框圖著色界面的背景色和每個(gè)結(jié)構(gòu)的子界面都默認(rèn)為白色,數(shù)據(jù)流向非常容易識(shí)別。對(duì)象盡量布局緊湊,但同時(shí)對(duì)象不能靠得太近從而引起對(duì)象和連線重疊。盡量縮小程序框圖大小使之能在一個(gè)屏幕顯示出來(lái)。在某些情況下,比如說(shuō)某些復(fù)雜的程序包含很多個(gè)并行循環(huán),要滿足這個(gè)限定非常困難。在這種情況下,調(diào)整程序框圖,或者將一些循環(huán)變成子VI來(lái)減小所占的背面板空間,使背面板僅在一個(gè)方向上滑動(dòng)。Http:/40背面板創(chuàng)建規(guī)范布局 采用從上
20、至下和自下而上相結(jié)合的方法,來(lái)構(gòu)采用從上至下和自下而上相結(jié)合的方法,來(lái)構(gòu)建多層次結(jié)構(gòu)關(guān)系建多層次結(jié)構(gòu)關(guān)系VIVIVI的層次結(jié)構(gòu)可以通過(guò)選擇“查看VI層次結(jié)構(gòu)”來(lái)查看。窗口的工具條包括VI Lib、全局變量和自定義類型,只顯示自己提供的用戶VI。通常的幾何形狀包括直線型和圓角型。除了非常簡(jiǎn)單的應(yīng)用程序外,VI層次結(jié)構(gòu)中在頂層VI之下應(yīng)包含多行子VI。Http:/41背面板創(chuàng)建規(guī)范布局 應(yīng)用程序可采用大量的數(shù)值屬性節(jié)點(diǎn)來(lái)控制應(yīng)用程序可采用大量的數(shù)值屬性節(jié)點(diǎn)來(lái)控制GUIGUI行為行為許多屬性節(jié)點(diǎn)的讀/寫操作都是由GUI事件觸發(fā)的。因此,事件結(jié)構(gòu)是理想的處理屬性節(jié)點(diǎn)結(jié)構(gòu)。因?yàn)槭录Y(jié)構(gòu)為每個(gè)事件分支分配
21、一個(gè)單獨(dú)的子程序,一個(gè)事件分支的程序不會(huì)跑到其他事件分支。然而,多事件分支需要許多個(gè)相同的屬性節(jié)點(diǎn),其值因每次讀/寫操作而不同。將這些普通的屬性節(jié)點(diǎn)模塊化為子VI,通過(guò)控件引用和屬性值傳遞到子VI中,每個(gè)子VI程序代表在內(nèi)存中同一屬性節(jié)點(diǎn)的備份,這減小了內(nèi)存使用和程序復(fù)雜性。Http:/42背面板創(chuàng)建規(guī)范布局 創(chuàng)建可見(jiàn)子創(chuàng)建可見(jiàn)子VIVI可為程序開(kāi)發(fā)節(jié)省背面板空間可為程序開(kāi)發(fā)節(jié)省背面板空間子VI非常有用,因?yàn)橄鄬?duì)于一個(gè)大型程序來(lái)說(shuō),它易于開(kāi)發(fā)、測(cè)試、調(diào)試、維護(hù)和代碼重用。因而,子VI也為程序開(kāi)發(fā)中節(jié)省了可觀的背面板空間。總之,如果同一函數(shù)、屬性節(jié)點(diǎn)、程序被多次調(diào)用,將這些重復(fù)代碼換成子VI將使
22、程序開(kāi)發(fā)變得簡(jiǎn)單。Http:/43背面板創(chuàng)建規(guī)范布局 記住為每個(gè)子記住為每個(gè)子VIVI創(chuàng)建一個(gè)有含義的圖標(biāo)和相應(yīng)創(chuàng)建一個(gè)有含義的圖標(biāo)和相應(yīng)的描述的描述圖標(biāo)和描述信息能幫助在調(diào)用這些子VI的程序時(shí),可通過(guò)幫助窗口的文字識(shí)別這些子VI。這些描述可以促使程序設(shè)計(jì)人員進(jìn)行內(nèi)聚性測(cè)試:如果程序設(shè)計(jì)人員不能通過(guò)兩到三句話總結(jié)子VI的功能,那么子VI可能包含了太多的子代碼。Http:/44背面板創(chuàng)建規(guī)范連線在布線規(guī)則上,LabVIEW編程人員應(yīng)該遵循一些基本原則,主要包括: 盡量使程序中彎折線最少、不要形成扭結(jié)和圈 保持并行連線之間的間隔 不要遮擋連線和節(jié)點(diǎn)、避免重疊程序框中的對(duì)象Http:/45背面板創(chuàng)建
23、規(guī)范連線 LabVIEWLabVIEW編程中有自動(dòng)和手動(dòng)布線兩種方式來(lái)連編程中有自動(dòng)和手動(dòng)布線兩種方式來(lái)連線和清除連線線和清除連線自動(dòng)方式優(yōu)先考慮水平接線端,并且以多余的曲線為代價(jià)來(lái)避免對(duì)象重疊。為了使彎折線最少,必須采用手動(dòng)方式進(jìn)行程序連線。此外,在現(xiàn)有的連線上,右擊選擇“整理連線”,會(huì)自動(dòng)減少扭結(jié)、圈和彎折線。Http:/46背面板創(chuàng)建規(guī)范連線 隧道連線通過(guò)結(jié)構(gòu)左側(cè)邊界進(jìn)入結(jié)構(gòu),并從結(jié)隧道連線通過(guò)結(jié)構(gòu)左側(cè)邊界進(jìn)入結(jié)構(gòu),并從結(jié)構(gòu)的右側(cè)邊界穿過(guò)結(jié)構(gòu)構(gòu)的右側(cè)邊界穿過(guò)結(jié)構(gòu)不要讓隧道在結(jié)構(gòu)的頂部或底部穿過(guò),同樣如果結(jié)構(gòu)內(nèi)部未使用到也不要讓連線穿過(guò)結(jié)構(gòu)。Http:/47背面板創(chuàng)建規(guī)范連線 避免在程序框
24、圖中重疊連線和節(jié)點(diǎn)避免在程序框圖中重疊連線和節(jié)點(diǎn)將偶爾交叉的連線改為橫向和縱向,有時(shí)能很好地解決這些問(wèn)題。例如,通常位于循環(huán)結(jié)構(gòu)的左下腳的周期端子,必須連接到右上方的位置。而許多其他的數(shù)據(jù)流連線,需要經(jīng)由隧道或移位寄存器在水平方向穿過(guò)整個(gè)結(jié)構(gòu),如錯(cuò)誤簇就是一個(gè)典型例子。此外,不要將連線和一個(gè)對(duì)象或節(jié)點(diǎn)重疊,因?yàn)檫B線在函數(shù)或子VI下面流動(dòng)會(huì)被誤認(rèn)為是節(jié)點(diǎn)的輸入和輸出,從而影響程序可讀性。Http:/48背面板創(chuàng)建規(guī)范連線 切勿使用局部變量或全局變量來(lái)作為一種減少切勿使用局部變量或全局變量來(lái)作為一種減少連線的方法連線的方法變量增加處理開(kāi)銷、內(nèi)存使用和程序的復(fù)雜性。此外,使用變量破壞了LabVIEW
25、數(shù)據(jù)流原則,掩蓋了實(shí)際的數(shù)據(jù)來(lái)源。當(dāng)變量從程序的多個(gè)位置讀/寫時(shí),就難以確定哪個(gè)在實(shí)際影響數(shù)據(jù)值。當(dāng)使用連線時(shí),很容易追蹤到數(shù)據(jù)唯一的源終端。Http:/49背面板創(chuàng)建規(guī)范連線 將沒(méi)有連線的前面板控件在程序框圖上放在一起,將沒(méi)有連線的前面板控件在程序框圖上放在一起,程序開(kāi)發(fā)人員就能非常容易找到程序開(kāi)發(fā)人員就能非常容易找到布爾控件設(shè)置為觸發(fā)動(dòng)作后,控件自身不能自動(dòng)重置。如果接線端的控件與事件結(jié)構(gòu)中的注冊(cè)事件相關(guān),將控件的接線端放在事件結(jié)構(gòu)中,這能保證接線端的值,能夠在事件每次發(fā)生時(shí)被程序正確讀取。對(duì)于那些與事件結(jié)構(gòu)無(wú)關(guān)的而且沒(méi)有連線的接線端,只需將其簡(jiǎn)單地放置在程序框圖主結(jié)構(gòu)的左邊。Http:/
26、50背面板創(chuàng)建規(guī)范連線 使用簇來(lái)組織相關(guān)數(shù)據(jù),減少連線的數(shù)量使用簇來(lái)組織相關(guān)數(shù)據(jù),減少連線的數(shù)量若能夠減少面板中的連線,程序的可讀性將得到很大的提高。所以,通常使用簇來(lái)組織相關(guān)數(shù)據(jù),減少連線的數(shù)量。在框圖的任何一個(gè)地方,如果涉及許多相互關(guān)聯(lián)的數(shù)據(jù),可以用簇來(lái)將其替換掉,并且這樣做能方便地將數(shù)據(jù)傳遞到子VI中。但要特別提醒,簇中的元素必須是相關(guān)的,或是有相同的目的地。Http:/51背面板創(chuàng)建規(guī)范數(shù)據(jù)流數(shù)據(jù)流編程是LabVIEW區(qū)別于其他文本編程語(yǔ)言的顯著特征之一。所謂數(shù)據(jù)流,指在LabVIEW中,數(shù)據(jù)沿著連線,從源端流向終端;程序框圖中,一個(gè)節(jié)點(diǎn)只有在其所有的輸入端都接收到數(shù)據(jù)后才會(huì)執(zhí)行;執(zhí)行
27、完畢后,數(shù)據(jù)再接著從其輸出端沿著數(shù)據(jù)流方向流向下一個(gè)節(jié)點(diǎn)。Http:/52背面板創(chuàng)建規(guī)范數(shù)據(jù)流數(shù)據(jù)流編程應(yīng)該遵循以下一些基本原則 數(shù)據(jù)流總是從左流到右除采用反饋節(jié)點(diǎn)和順序局部變量編程外,LabVIEW數(shù)據(jù)流都是沿著連線從左端流向右端的。反饋節(jié)點(diǎn)和順序局部變量均是LabVIEW中自帶的結(jié)構(gòu),但有違背數(shù)據(jù)流流向的原則。然而正確使用反饋節(jié)點(diǎn),相比移位寄存器來(lái)說(shuō),是能夠降低混亂連線的。順序局部變量只與層疊順序結(jié)構(gòu)相關(guān),在LabVIEW編程中應(yīng)該盡量避免使用。Http:/53背面板創(chuàng)建規(guī)范數(shù)據(jù)流 避免出現(xiàn)數(shù)據(jù)類型強(qiáng)制轉(zhuǎn)換避免出現(xiàn)數(shù)據(jù)類型強(qiáng)制轉(zhuǎn)換為避免在數(shù)據(jù)傳輸過(guò)程中數(shù)據(jù)類型的不匹配,可以選擇在節(jié)點(diǎn)的端子
28、上右擊直接創(chuàng)建輸入控件、顯示控件或常量。通過(guò)右擊需要?jiǎng)?chuàng)建控件的節(jié)點(diǎn)連線端,在菜單中選擇“創(chuàng)建常量/輸入控件/顯示控件”,與連線段數(shù)據(jù)類型相符的常量、輸入控件或顯示控件就創(chuàng)建完成了。Http:/54背面板創(chuàng)建規(guī)范數(shù)據(jù)流 除非必須,盡量避免使用順序結(jié)構(gòu),特別是能除非必須,盡量避免使用順序結(jié)構(gòu),特別是能夠并行執(zhí)行的函數(shù),不要使用順序結(jié)構(gòu)去替換它夠并行執(zhí)行的函數(shù),不要使用順序結(jié)構(gòu)去替換它將程序編寫為能夠獨(dú)立并行的函數(shù),能夠有效提高程序的運(yùn)行效率。Http:/55背面板創(chuàng)建規(guī)范數(shù)據(jù)流 避免使用超過(guò)避免使用超過(guò)3 3層的嵌套結(jié)構(gòu)層的嵌套結(jié)構(gòu)嵌套結(jié)構(gòu)就是放置在結(jié)構(gòu)體中的結(jié)構(gòu)體。超過(guò)兩層或三層的嵌套結(jié)構(gòu)會(huì)掩蓋
29、底層的邏輯和數(shù)據(jù)流信息。一般來(lái)講,過(guò)多使用嵌套結(jié)構(gòu)、過(guò)度使用順序結(jié)構(gòu)是一種有失規(guī)范的設(shè)計(jì)模式。最大化地使用數(shù)據(jù)流方式和最小化地使用順序結(jié)構(gòu),能夠有效地避免過(guò)多的嵌套,提高程序可讀性,降低錯(cuò)誤發(fā)生的概率。Http:/56背面板創(chuàng)建規(guī)范程序注釋程序注釋其實(shí)也是一種說(shuō)明文檔,只不過(guò)是對(duì)背面板源代碼的說(shuō)明。程序的注釋文檔與源代碼的可讀性、可維護(hù)性和可用性直接相關(guān),是非常重要的。LabVIEW的源代碼是圖形化的,本身就沒(méi)有漢字,而文檔增加了圖形源代碼的可讀性。Http:/57背面板創(chuàng)建規(guī)范程序注釋圖示是一個(gè)不帶任何說(shuō)明文檔的程序,其主要功能是對(duì)測(cè)量?jī)x器進(jìn)行配置。示例中沒(méi)有任何的標(biāo)簽或注釋,對(duì)數(shù)據(jù)的信息比
30、較少,整個(gè)程序的可讀性很差,維護(hù)起來(lái)也很不方便。Http:/58背面板創(chuàng)建規(guī)范程序注釋針對(duì)上圖進(jìn)行了改進(jìn)后。首先,各個(gè)控件的標(biāo)簽進(jìn)行可見(jiàn)的設(shè)置;其次,移位寄存器左端連線進(jìn)行了標(biāo)注,并且每個(gè)條件結(jié)構(gòu)中也進(jìn)行了注釋。修改后的程序框圖相比之前清晰了很多,可以很容易看出每個(gè)控件的意義和每個(gè)條件結(jié)構(gòu)實(shí)現(xiàn)的功能。Http:/59背面板創(chuàng)建規(guī)范程序注釋再進(jìn)一步完善。主要包括直觀的標(biāo)簽、枚舉條件結(jié)構(gòu)、使用按名稱捆綁。程序中采用定義儀器名稱的枚舉型變量替換掉“儀器類型”數(shù)值型變量,因此,儀器名稱也出現(xiàn)在了條件結(jié)構(gòu)的選擇區(qū)域里。由于使用了枚舉型和條件結(jié)構(gòu),節(jié)省了大量結(jié)構(gòu)中的注釋,儀器的信息可以從條件選擇區(qū)域中直觀
31、考察。Http:/60VI圖標(biāo)和連接器創(chuàng)建規(guī)范 圖標(biāo) 連接器 Http:/61VI圖標(biāo)和連接器創(chuàng)建規(guī)范圖標(biāo)圖標(biāo)是LabVIEW源代碼中的重要特點(diǎn)之一,主要包含各種圖形和文本的組合顯示,用于子VI的識(shí)別,提高其可讀性,有助于對(duì)主程序框圖說(shuō)明一個(gè)成功的圖標(biāo)是對(duì)一個(gè)VI直觀的描述,一個(gè)圖標(biāo)就能代表一個(gè)函數(shù)、一個(gè)程序在LabVIEW中,圖標(biāo)是通過(guò)圖標(biāo)編輯器工具畫出來(lái)的,或者是現(xiàn)有的圖片文件,或者是應(yīng)用程序中復(fù)制出來(lái)的Http:/62VI圖標(biāo)和連接器創(chuàng)建規(guī)范圖標(biāo)關(guān)于圖標(biāo)創(chuàng)建的一些規(guī)范 制作通俗、易懂、有特定意義圖標(biāo)制作通俗、易懂、有特定意義圖標(biāo)由于LabVIEW中圖標(biāo)都是3232像素的,所以,圖標(biāo)里的內(nèi)
32、容必須小而精煉,要在有限的空間內(nèi),制作出清晰易讀且有意義的圖片和字體。正如日常生活中見(jiàn)到的一些符號(hào),如公共標(biāo)志或是交通信號(hào)等,都是圖形和文字結(jié)合得很好的例子。LabVIEW圖標(biāo)制作時(shí)也應(yīng)該具有通俗、易懂、有特定意義。Http:/63VI圖標(biāo)和連接器創(chuàng)建規(guī)范圖標(biāo) 在圖標(biāo)內(nèi)容小且精煉的前提下,圖標(biāo)中的文本就在圖標(biāo)內(nèi)容小且精煉的前提下,圖標(biāo)中的文本就必須統(tǒng)一字體格式要求必須統(tǒng)一字體格式要求一般對(duì)于大多數(shù)的文本推薦使用8磅或10磅的字體。LabVIEW中應(yīng)用程序默認(rèn)的字體是13磅,如果使用默認(rèn)字體,那么圖標(biāo)中每行就只能寫5個(gè)字母,這就占了圖標(biāo)高度的1/3,這種字體只適用于包含少量大寫字母的圖標(biāo)。而將所
33、有的文本設(shè)為8磅或10磅的小字體,將會(huì)使圖標(biāo)上的文本在大小合適、清晰可辨的前提下數(shù)量最大化。假如使用8磅小字體的大寫字母,就能在每行寫入7個(gè)字母,而且只會(huì)占用圖標(biāo)高度的1/4。Http:/64VI圖標(biāo)和連接器創(chuàng)建規(guī)范圖標(biāo) 好圖標(biāo)應(yīng)該是圖片、顏色和文本合成的整體符號(hào)好圖標(biāo)應(yīng)該是圖片、顏色和文本合成的整體符號(hào)為了描述更多的內(nèi)容,用4行文本將圖標(biāo)填滿,也是不可取的方式。因此,推薦使用8磅或10磅小字體,因?yàn)樵谑褂孟嗤谋镜那疤嵯?,將為圖片和空白區(qū)域提供更多的空間。幾種不同圖標(biāo)字體大寫字母效果的對(duì)比Http:/65VI圖標(biāo)和連接器創(chuàng)建規(guī)范圖標(biāo) 關(guān)于圖標(biāo)設(shè)計(jì)與開(kāi)發(fā)時(shí)間的平衡問(wèn)題關(guān)于圖標(biāo)設(shè)計(jì)與開(kāi)發(fā)時(shí)間的平衡問(wèn)題總原則是:對(duì)于重用率很高的VI,如產(chǎn)品的開(kāi)發(fā)工具包或儀器的驅(qū)動(dòng),就值得投入大量的時(shí)間和精力去設(shè)計(jì)一個(gè)構(gòu)思精妙的圖標(biāo);如果要在短期內(nèi)開(kāi)發(fā)大量的VI,并且這些VI沒(méi)有重復(fù)使用的可能,那就無(wú)須花大量的精力在圖標(biāo)的設(shè)計(jì)上,而是可以用快捷有效的方法設(shè)計(jì)出一個(gè)有特定含義的圖標(biāo)即可。Http:/6
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 開(kāi)展119消防宣傳日活動(dòng)總結(jié)
- 感恩父母親演講稿(9篇)
- 開(kāi)展119消防安全宣傳月活動(dòng)總結(jié)7篇
- 十萬(wàn)個(gè)為什么知識(shí)競(jìng)賽
- 公共衛(wèi)生服務(wù)衛(wèi)生監(jiān)督協(xié)管
- 基于雙端行波法的架空線-電纜混合線路故障定位研究
- 二零二五年度公路貨物運(yùn)輸與智能倉(cāng)儲(chǔ)管理系統(tǒng)合同3篇
- 基于特征模理論的機(jī)載陣列天線研究
- 二零二五年度個(gè)人臨時(shí)借款合同范本3篇
- 不同封裝形式的鋰離子電池串聯(lián)電弧故障熱電特征研究
- 乳腺癌的綜合治療及進(jìn)展
- 【大學(xué)課件】基于BGP協(xié)議的IP黑名單分發(fā)系統(tǒng)
- 2025年八省聯(lián)考高考語(yǔ)文試題真題解讀及答案詳解課件
- 鄉(xiāng)鎮(zhèn)衛(wèi)生院2025年工作計(jì)劃
- 信息安全意識(shí)培訓(xùn)課件
- 2024年山東省泰安市初中學(xué)業(yè)水平生物試題含答案
- 美的MBS精益管理體系
- 中國(guó)高血壓防治指南(2024年修訂版)解讀課件
- 冠心病課件完整版本
- 2024年衛(wèi)生資格(中初級(jí))-中醫(yī)外科學(xué)主治醫(yī)師考試近5年真題集錦(頻考類試題)帶答案
- 中國(guó)大百科全書(第二版全32冊(cè))08
評(píng)論
0/150
提交評(píng)論