第11章-LabVIEW編程規(guī)范.ppt_第1頁
第11章-LabVIEW編程規(guī)范.ppt_第2頁
第11章-LabVIEW編程規(guī)范.ppt_第3頁
第11章-LabVIEW編程規(guī)范.ppt_第4頁
第11章-LabVIEW編程規(guī)范.ppt_第5頁
免費預(yù)覽已結(jié)束,剩余67頁可下載查看

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

LabVIEW編程規(guī)范 IntelligentElectronicsInstituteHuazhongUniversityofScience Technology 2 目錄 編程規(guī)范的重要性前面板創(chuàng)建規(guī)范背面板創(chuàng)建規(guī)范VI圖標(biāo)和連接器創(chuàng)建規(guī)范 3 編程規(guī)范的重要性 編程規(guī)范是指某種計算機(jī)編程語言的基本風(fēng)格或典范模式 或者說是將計算機(jī)要執(zhí)行的任務(wù) 按某種編程語言的基本風(fēng)格或典范模式 形成概念化和結(jié)構(gòu)化設(shè)計框架與實現(xiàn)方式 4 編程規(guī)范的重要性 軟件是一個復(fù)雜的體系好的軟件程序應(yīng)當(dāng)具備以下特性 易用性 高效性 可讀性可維護(hù)性 健壯性 簡潔性 5 編程規(guī)范的重要性 對一個給定的具體軟件任務(wù) 也許有多種實現(xiàn)方式去完成同一功能 個人的偏好 編程的風(fēng)格 軟件的需求對程序開發(fā)有著重要的影響 并且開發(fā)人員的意向直接影響程序應(yīng)用的實際效果 軟件程序要達(dá)到以上的諸多特性 開發(fā)團(tuán)隊人員之間必須要有一種通用的規(guī)定約束 以盡量減少個人的主觀隨意性色彩 6 編程規(guī)范的重要性 LabVIEW提供多種方式來創(chuàng)造程序的樣式 而且在實際開發(fā)應(yīng)用中也可看到許多不同的編程規(guī)范 好的規(guī)范可以開發(fā)出更優(yōu)秀的程序 兼顧編程規(guī)范與軟件開發(fā)時間的平衡選取 7 編程規(guī)范的重要性 形成良好編程規(guī)范習(xí)慣 需要進(jìn)行前期準(zhǔn)備工作 主要包括以下4個方面 寫需求說明 構(gòu)建軟件設(shè)計架構(gòu) 配置LabVIEW環(huán)境 制定項目工程管理規(guī)范 8 前面板創(chuàng)建規(guī)范 布局 配色 幫助信息 9 前面板創(chuàng)建規(guī)范 布局 一個項目所需的設(shè)計主要包括用戶界面設(shè)計 程序結(jié)構(gòu)設(shè)計 接口設(shè)計 模塊設(shè)計等 對于編寫LabVIEW程序 通常先做用戶界面設(shè)計 可以使界面不受程序?qū)崿F(xiàn)的影響 先設(shè)計程序結(jié)構(gòu) 再設(shè)計界面 難免會朝著簡化編碼工作方向去努力 但是這樣的界面設(shè)計往往不是最方便用戶使用的狀態(tài) 10 前面板創(chuàng)建規(guī)范 布局 對于界面設(shè)計的評價首先 看這個界面是否完成了其交互功能 用戶可以通過界面為程序提供必要的信息 可以通過界面接收到需要的信息 其次 通過這個界面用戶可以簡單直觀地輸入或獲取信息 最后 才是界面的美觀程度 11 前面板創(chuàng)建規(guī)范 布局 好的用戶界面都有一些共同的特點 使用恰當(dāng)?shù)臄?shù)據(jù)類型和控件類型控件的分類排布合理 簡潔顏色搭配科學(xué)有必要的文檔說明和注釋 12 前面板創(chuàng)建規(guī)范 布局 關(guān)于布局的幾條基本原則 最重要控件放在最醒目位置對于布局 就是將最重要部分放在最顯眼的地方 這是一個非常重要的規(guī)范 根據(jù)大多數(shù)人的閱讀習(xí)慣 總是從左到右 從上到下 因此要把最重要的部分放在左上角 LabVIEW提供了排列控件 控件對齊 等間隔這些工具 通過這些工具 程序設(shè)計人員就可以非常方便地布置界面上的控件 13 前面板創(chuàng)建規(guī)范 布局 同一類控件進(jìn)行歸類和相似控件的尺寸保持一致除了使用布局工具將控件對稱排列整齊 編程人員還需要將同一類控件進(jìn)行歸類 并且相似控件的尺寸最好保持一致 這樣就可使界面看上去更加有層次感 LabVIEW編程提供了可通過多種裝飾控件 空白間隔 選項卡和簇來對控件進(jìn)行歸類的方法 使不同控件看上去有豐富的層次感 14 前面板創(chuàng)建規(guī)范 布局 正確調(diào)控窗口大小進(jìn)行窗口大小調(diào)控是非常重要的 一般而言 程序員在一個分辨率的顯示器下開發(fā)的程序 如果在另外一個不同分辨率的顯示器上運(yùn)行時 就有可能使界面兩端的空白區(qū)域顯示出來 為了解決這個問題 LabVIEW編程軟件在 VI屬性 菜單欄的窗口大小中有兩個選項 第一個選項可以讓程序在不同分辨率下保持窗口比例 第二個選項可以根據(jù)窗口的尺寸 自動調(diào)節(jié)界面中控件的大小 15 前面板創(chuàng)建規(guī)范 布局 圖示是我們智能電子學(xué)研究所 IEI 完成的程序開發(fā)項目 對于程序設(shè)計人員來說 版權(quán)是最重要的 所以我們將研究所的圖徽放在了左上角 整個界面雖然控件很多 但是排列整齊 而且對功能類似的控件進(jìn)行了有效的分類 讓人一看上去就清晰 明了 16 前面板創(chuàng)建規(guī)范 布局 圖形用戶界面 GUI GUI 即圖形用戶界面 是指采用圖形方式顯示的用戶操作界面 GUI分為桌面GUI和工業(yè)GUI 桌面GUI 主要提供給個人在辦公室 私人實驗室或其他個人計算環(huán)境下使用 工業(yè)GUI 使用場合是與儀器設(shè)備相關(guān) 實現(xiàn)工業(yè)測試測量 嵌入式控制 設(shè)計典型應(yīng)用環(huán)境 17 前面板創(chuàng)建規(guī)范 布局 關(guān)于GUI的幾點布局規(guī)范 工業(yè)GUIVI中主VI面板顯示最大化工業(yè)GUI常作為監(jiān)視和控制工業(yè)設(shè)備的專門接口 不希望提供可視的操作系統(tǒng)接入 以避免用戶訪問與應(yīng)用無關(guān)的資源 因此 對于工業(yè)GUIVI 應(yīng)該將主VI面板最大化 大多數(shù)工業(yè)GUIVI都會隨PC啟動而自動運(yùn)行 并且主VI面板會占據(jù)整個屏幕 該功能是通過設(shè)置 窗口運(yùn)行時最大化 屬性來實現(xiàn)的 可通過 文件 VI屬性 選取 然后從 類別 中選擇 窗口運(yùn)行時位置 在位置選項中選擇 最大化 18 前面板創(chuàng)建規(guī)范 布局 正確設(shè)置GUIVI分辨率在某一個分辨率下開發(fā)的程序 在另一個分辨率下運(yùn)行時 如果顯示分辨率增加 前面板的一些附加部分會顯示出來 這就有可能暴露了在開發(fā)過程中需要對用戶隱藏的控件部分 因此 如果不想讓用戶看見這些控件 就要保證控件對用戶是不可見的 19 前面板創(chuàng)建規(guī)范 布局 GUIVI面板中對話框設(shè)置和使用對話框VI前面板的顯示應(yīng)該居中并且小于全屏尺寸 這樣既可以讓用戶很容易識別出它們是對話框 還可以在面板打開時總出現(xiàn)在屏幕的中央 一般可以通過VI屬性中 窗口運(yùn)行時位置 中設(shè)置屬性為窗口中心來實現(xiàn) 與此同時 對話框VI也必須注意分辨率的設(shè)置問題 而且還應(yīng)考慮幾個對話框同步打開時的情況 20 前面板創(chuàng)建規(guī)范 布局 工業(yè)GUI自定義對話框VILabVIEW用戶可以根據(jù)具體需求自定義對話框 自定義對話框VI對桌面GUI和工業(yè)GUI都是適用的 對于桌面GUI而言 從 文件 VI屬性 窗口外觀 中設(shè)置對話框的窗口外觀屬性 面板背景顏色 模式行為及其他屬性 選擇一個與操作系統(tǒng)對話框類似的對話框 盡量保持與操作系統(tǒng)對話框的一致 對于工業(yè)GUI 需要較大的面板 控件和文本 3D風(fēng)格的控件會經(jīng)常用在工業(yè)GUI的界面設(shè)計中 并且還要根據(jù)重要性來調(diào)節(jié)工業(yè)GUI的大小和位置 21 前面板創(chuàng)建規(guī)范 布局 桌面GUI和工業(yè)GUI的區(qū)別示例 22 前面板創(chuàng)建規(guī)范 布局 關(guān)于GUIVI還有幾點值得提醒 在滿足應(yīng)用需求前提下 界面盡可能簡潔 不要重疊控件 也不能因為控件多而出現(xiàn)界面重疊的現(xiàn)象 適度隱藏開發(fā)界面上所有調(diào)試按鈕工具欄 特別是為程序添加一個停止按鈕 不要使用開發(fā)界面提供的中止運(yùn)行按鈕 可以用一個停止控件來退出需要關(guān)閉的程序 給完成的GUI設(shè)計放上一個圖標(biāo) 23 前面板創(chuàng)建規(guī)范 布局 子VI 對于子VI面板上的控件 文本基本上采用默認(rèn)的外觀 簡單明了 方便判斷其是否為子VI即可 24 前面板創(chuàng)建規(guī)范 配色 關(guān)于顏色的搭配 有幾個重要的原則 總體協(xié)調(diào) 局部對比設(shè)計一個LabVIEW前面板 其整體的色調(diào)應(yīng)該是協(xié)調(diào)的 而局部或者小范圍內(nèi) 可以使用一些亮色來形成對比 經(jīng)常看到一些GUI的配色讓人感到不舒服 其存在的一個共同問題是顏色太多 所以 程序開發(fā)人員要謹(jǐn)慎地使用顏色 界面的配色就像穿衣時的顏色搭配一樣 總體上不要超過3種 否則會給人一種眼花繚亂的視覺 25 前面板創(chuàng)建規(guī)范 配色 相關(guān)控件采用同一種顏色 同一個應(yīng)用程序的所有VI界面 可采用一致的配色方案 一般子VI的面板和控件不需要配色前面提到要對相關(guān)的控件進(jìn)行歸類 突出層次感 對控件顏色的使用也是很好的歸類方式之一 同一個應(yīng)用程序中應(yīng)該保持一致的顏色主題 對于子VI的前面板就不需要顏色了 只需保持默認(rèn)的外觀 有助于將其識別為子VI即可 26 前面板創(chuàng)建規(guī)范 配色 遵循通用的慣例我們經(jīng)常使用的一些亮色 比如紅色 黃色 綠色 在使用中盡量遵循工業(yè)標(biāo)準(zhǔn)的一些規(guī)范 比如說紅色表示警告 用來表示一些非常緊急的情況 黃色用來引起注意 綠色表示整個工作是非常正常的狀態(tài) 27 前面板創(chuàng)建規(guī)范 配色 黑 白色是經(jīng)典配色黑 白色是不會過時最經(jīng)典的顏色 當(dāng)打開一個VI的前面板 不知道如何下手設(shè)計時 首先可以將前面板的背景設(shè)置為全黑或者全白 然后根據(jù)個人的創(chuàng)意搭配一些局部的小的亮色 同樣也能設(shè)計出美觀的界面 28 前面板創(chuàng)建規(guī)范 配色 最重要的是對界面顏色的設(shè)計 必須建立在保證應(yīng)用程序功能正確的基礎(chǔ)上大多數(shù)LabVIEW應(yīng)用程序基本目的是測試 測量和控制 在關(guān)鍵的應(yīng)用需求得到滿足后 若時間允許 才會考慮配色方案的設(shè)計 29 前面板創(chuàng)建規(guī)范 幫助信息 幫助信息主要是指為了幫助新手而提供的一些說明文檔 任何描述結(jié)構(gòu) 組件 系統(tǒng)操作 應(yīng)用程序及源代碼的文件都稱為說明文檔 說明文檔的具體內(nèi)容因應(yīng)用類型 開發(fā)人員 用戶的不同而相異 前面板的說明文檔一般包括控件標(biāo)簽 描述 提示條和自由標(biāo)簽 30 前面板創(chuàng)建規(guī)范 幫助信息 說明文檔的通用規(guī)范 盡量減少在前面板中使用說明文檔直觀的前面板一般是圖形化設(shè)計的 而不是文本式描述的 因而 無論是用戶還是程序開發(fā)者 都不想在前面板看到太多的文本式描述 相比之下 通俗易懂的按鈕 控件 圖標(biāo)和圖片 則會更受歡迎 因此 應(yīng)該避免在標(biāo)簽和控件中加入太多的文本 31 前面板創(chuàng)建規(guī)范 幫助信息 創(chuàng)建直觀 明了的GUI來減少文本的使用在創(chuàng)建GUI時 對于不可避免的文檔說明 盡量使用Help菜單或標(biāo)簽為Help的按鈕 還可以根據(jù)要求從LabVIEW載入幫助信息 如在線文檔 LabVIEWContextHelp窗口 在外部文檔或編寫的幫助文件內(nèi)創(chuàng)建用戶手冊或幫助標(biāo)題 32 前面板創(chuàng)建規(guī)范 幫助信息 特別提醒對于一個大項目的開發(fā) 往往是一個團(tuán)隊的工作 團(tuán)隊每位開發(fā)人員可能會在自己的任務(wù)VI中為同事留下注釋文本 幫助理解和閱讀程序 對于這些文本 在整個開發(fā)任務(wù)結(jié)束時 是應(yīng)該刪掉的 33 前面板創(chuàng)建規(guī)范 幫助信息 說明文檔撰寫應(yīng)該注意的事項 對于同一個應(yīng)用程序 應(yīng)該采用一致的字體 可以通過改變尺寸 粗細(xì)和顏色來達(dá)到多種文本樣式通常 應(yīng)用程序需要多種類型文本來區(qū)分不同類型的數(shù)據(jù)和事件 比如 通常在工業(yè)GUI內(nèi) 會用大號粗體來顯示重要數(shù)據(jù)或者標(biāo)題 對那些報警 警告之類的重要信息 則會采用強(qiáng)對比的顏色 此時應(yīng)該注意到 太多的文本類型會使整個界面顯得雜亂 34 前面板創(chuàng)建規(guī)范 幫助信息 同一個應(yīng)用程序 不同的文本樣式最好不要超過3種 否則界面就會變得難以分辨且分散用戶的注意力前面講到關(guān)于控件的歸類 對類似的控件 標(biāo)簽盡量使用一致的文本樣式 這樣既有層次感 又減少了文本樣式的使用 選擇一致的文本樣式既可以節(jié)省開發(fā)時間 又能提高程序的易用性 35 前面板創(chuàng)建規(guī)范 幫助信息 使用簡潔 直觀的控件標(biāo)簽在LabVIEW的應(yīng)用程序中 有一種看起來最醒目的文本類型 即控件標(biāo)簽 使用簡潔 直觀的控件標(biāo)簽對程序的易用性是很重要的 另外 盡量為每個代表物理參數(shù)的控件附加上默認(rèn)值和單位 當(dāng)需要使用很長的描述或者GUI標(biāo)簽的設(shè)計與控件標(biāo)簽不同時 盡量使用標(biāo)題 如果通過標(biāo)簽還不能將對象的性質(zhì)表述清楚 那就需要輸入一兩行的描述性文本 也可以是具有描述性短語的提示條 當(dāng)鼠標(biāo)光標(biāo)放在控件上時 提示條就會顯示簡略的描述 36 前面板創(chuàng)建規(guī)范 幫助信息 子VI的說明文檔采用默認(rèn)值為宜子VI的說明文檔一般使用默認(rèn)值即可 除了商用子VI 如儀器驅(qū)動和開發(fā)工具箱 其所有的控件和指示器應(yīng)該是粗體的 而在附加的默認(rèn)值和單位則是普通文本 而工業(yè)GUI 根據(jù)其應(yīng)用場合 一般需要采用較大的文本來顯示命令按鈕和重要數(shù)據(jù) 文本的顏色也應(yīng)該和背景色有很高的對比度 對于多平臺應(yīng)用程序 需要在標(biāo)簽和對象之間留下額外的空間 37 背面板創(chuàng)建規(guī)范 布局 連線 數(shù)據(jù)流 程序注釋 38 背面板創(chuàng)建規(guī)范 布局 背面板上顯示的是程序框圖 雖然不像前面板的控件那樣直接與用戶交互 但是良好的背面板布局 對于程序的可讀性是很重要的 LabVIEW作為圖形化系統(tǒng)設(shè)計編程語言 應(yīng)當(dāng)考慮將源代碼控制在一屏能顯示的范圍內(nèi) 39 背面板創(chuàng)建規(guī)范 布局 在背面板布局時 應(yīng)當(dāng)遵循以下一些規(guī)范 不要給程序框圖著色界面的背景色和每個結(jié)構(gòu)的子界面都默認(rèn)為白色 數(shù)據(jù)流向非常容易識別 對象盡量布局緊湊 但同時對象不能靠得太近從而引起對象和連線重疊 盡量縮小程序框圖大小使之能在一個屏幕顯示出來 在某些情況下 比如說某些復(fù)雜的程序包含很多個并行循環(huán) 要滿足這個限定非常困難 在這種情況下 調(diào)整程序框圖 或者將一些循環(huán)變成子VI來減小所占的背面板空間 使背面板僅在一個方向上滑動 40 背面板創(chuàng)建規(guī)范 布局 采用從上至下和自下而上相結(jié)合的方法 來構(gòu)建多層次結(jié)構(gòu)關(guān)系VIVI的層次結(jié)構(gòu)可以通過選擇 查看 VI層次結(jié)構(gòu) 來查看 窗口的工具條包括VILib 全局變量和自定義類型 只顯示自己提供的用戶VI 通常的幾何形狀包括直線型和圓角型 除了非常簡單的應(yīng)用程序外 VI層次結(jié)構(gòu)中在頂層VI之下應(yīng)包含多行子VI 41 背面板創(chuàng)建規(guī)范 布局 應(yīng)用程序可采用大量的數(shù)值屬性節(jié)點來控制GUI行為許多屬性節(jié)點的讀 寫操作都是由GUI事件觸發(fā)的 因此 事件結(jié)構(gòu)是理想的處理屬性節(jié)點結(jié)構(gòu) 因為事件結(jié)構(gòu)為每個事件分支分配一個單獨的子程序 一個事件分支的程序不會跑到其他事件分支 然而 多事件分支需要許多個相同的屬性節(jié)點 其值因每次讀 寫操作而不同 將這些普通的屬性節(jié)點模塊化為子VI 通過控件引用和屬性值傳遞到子VI中 每個子VI程序代表在內(nèi)存中同一屬性節(jié)點的備份 這減小了內(nèi)存使用和程序復(fù)雜性 42 背面板創(chuàng)建規(guī)范 布局 創(chuàng)建可見子VI可為程序開發(fā)節(jié)省背面板空間子VI非常有用 因為相對于一個大型程序來說 它易于開發(fā) 測試 調(diào)試 維護(hù)和代碼重用 因而 子VI也為程序開發(fā)中節(jié)省了可觀的背面板空間 總之 如果同一函數(shù) 屬性節(jié)點 程序被多次調(diào)用 將這些重復(fù)代碼換成子VI將使程序開發(fā)變得簡單 43 背面板創(chuàng)建規(guī)范 布局 記住為每個子VI創(chuàng)建一個有含義的圖標(biāo)和相應(yīng)的描述圖標(biāo)和描述信息能幫助在調(diào)用這些子VI的程序時 可通過幫助窗口的文字識別這些子VI 這些描述可以促使程序設(shè)計人員進(jìn)行內(nèi)聚性測試 如果程序設(shè)計人員不能通過兩到三句話總結(jié)子VI的功能 那么子VI可能包含了太多的子代碼 44 背面板創(chuàng)建規(guī)范 連線 在布線規(guī)則上 LabVIEW編程人員應(yīng)該遵循一些基本原則 主要包括 盡量使程序中彎折線最少 不要形成扭結(jié)和圈保持并行連線之間的間隔不要遮擋連線和節(jié)點 避免重疊程序框中的對象 45 背面板創(chuàng)建規(guī)范 連線 LabVIEW編程中有自動和手動布線兩種方式來連線和清除連線自動方式優(yōu)先考慮水平接線端 并且以多余的曲線為代價來避免對象重疊 為了使彎折線最少 必須采用手動方式進(jìn)行程序連線 此外 在現(xiàn)有的連線上 右擊選擇 整理連線 會自動減少扭結(jié) 圈和彎折線 46 背面板創(chuàng)建規(guī)范 連線 隧道連線通過結(jié)構(gòu)左側(cè)邊界進(jìn)入結(jié)構(gòu) 并從結(jié)構(gòu)的右側(cè)邊界穿過結(jié)構(gòu)不要讓隧道在結(jié)構(gòu)的頂部或底部穿過 同樣如果結(jié)構(gòu)內(nèi)部未使用到也不要讓連線穿過結(jié)構(gòu) 47 背面板創(chuàng)建規(guī)范 連線 避免在程序框圖中重疊連線和節(jié)點將偶爾交叉的連線改為橫向和縱向 有時能很好地解決這些問題 例如 通常位于循環(huán)結(jié)構(gòu)的左下腳的周期端子 必須連接到右上方的位置 而許多其他的數(shù)據(jù)流連線 需要經(jīng)由隧道或移位寄存器在水平方向穿過整個結(jié)構(gòu) 如錯誤簇就是一個典型例子 此外 不要將連線和一個對象或節(jié)點重疊 因為連線在函數(shù)或子VI下面流動會被誤認(rèn)為是節(jié)點的輸入和輸出 從而影響程序可讀性 48 背面板創(chuàng)建規(guī)范 連線 切勿使用局部變量或全局變量來作為一種減少連線的方法變量增加處理開銷 內(nèi)存使用和程序的復(fù)雜性 此外 使用變量破壞了LabVIEW數(shù)據(jù)流原則 掩蓋了實際的數(shù)據(jù)來源 當(dāng)變量從程序的多個位置讀 寫時 就難以確定哪個在實際影響數(shù)據(jù)值 當(dāng)使用連線時 很容易追蹤到數(shù)據(jù)唯一的源終端 49 背面板創(chuàng)建規(guī)范 連線 將沒有連線的前面板控件在程序框圖上放在一起 程序開發(fā)人員就能非常容易找到布爾控件設(shè)置為觸發(fā)動作后 控件自身不能自動重置 如果接線端的控件與事件結(jié)構(gòu)中的注冊事件相關(guān) 將控件的接線端放在事件結(jié)構(gòu)中 這能保證接線端的值 能夠在事件每次發(fā)生時被程序正確讀取 對于那些與事件結(jié)構(gòu)無關(guān)的而且沒有連線的接線端 只需將其簡單地放置在程序框圖主結(jié)構(gòu)的左邊 50 背面板創(chuàng)建規(guī)范 連線 使用簇來組織相關(guān)數(shù)據(jù) 減少連線的數(shù)量若能夠減少面板中的連線 程序的可讀性將得到很大的提高 所以 通常使用簇來組織相關(guān)數(shù)據(jù) 減少連線的數(shù)量 在框圖的任何一個地方 如果涉及許多相互關(guān)聯(lián)的數(shù)據(jù) 可以用簇來將其替換掉 并且這樣做能方便地將數(shù)據(jù)傳遞到子VI中 但要特別提醒 簇中的元素必須是相關(guān)的 或是有相同的目的地 51 背面板創(chuàng)建規(guī)范 數(shù)據(jù)流 數(shù)據(jù)流編程是LabVIEW區(qū)別于其他文本編程語言的顯著特征之一 所謂數(shù)據(jù)流 指在LabVIEW中 數(shù)據(jù)沿著連線 從源端流向終端 程序框圖中 一個節(jié)點只有在其所有的輸入端都接收到數(shù)據(jù)后才會執(zhí)行 執(zhí)行完畢后 數(shù)據(jù)再接著從其輸出端沿著數(shù)據(jù)流方向流向下一個節(jié)點 52 背面板創(chuàng)建規(guī)范 數(shù)據(jù)流 數(shù)據(jù)流編程應(yīng)該遵循以下一些基本原則 數(shù)據(jù)流總是從左流到右除采用反饋節(jié)點和順序局部變量編程外 LabVIEW數(shù)據(jù)流都是沿著連線從左端流向右端的 反饋節(jié)點和順序局部變量均是LabVIEW中自帶的結(jié)構(gòu) 但有違背數(shù)據(jù)流流向的原則 然而正確使用反饋節(jié)點 相比移位寄存器來說 是能夠降低混亂連線的 順序局部變量只與層疊順序結(jié)構(gòu)相關(guān) 在LabVIEW編程中應(yīng)該盡量避免使用 53 背面板創(chuàng)建規(guī)范 數(shù)據(jù)流 避免出現(xiàn)數(shù)據(jù)類型強(qiáng)制轉(zhuǎn)換為避免在數(shù)據(jù)傳輸過程中數(shù)據(jù)類型的不匹配 可以選擇在節(jié)點的端子上右擊直接創(chuàng)建輸入控件 顯示控件或常量 通過右擊需要創(chuàng)建控件的節(jié)點連線端 在菜單中選擇 創(chuàng)建 常量 輸入控件 顯示控件 與連線段數(shù)據(jù)類型相符的常量 輸入控件或顯示控件就創(chuàng)建完成了 54 背面板創(chuàng)建規(guī)范 數(shù)據(jù)流 除非必須 盡量避免使用順序結(jié)構(gòu) 特別是能夠并行執(zhí)行的函數(shù) 不要使用順序結(jié)構(gòu)去替換它將程序編寫為能夠獨立并行的函數(shù) 能夠有效提高程序的運(yùn)行效率 55 背面板創(chuàng)建規(guī)范 數(shù)據(jù)流 避免使用超過3層的嵌套結(jié)構(gòu)嵌套結(jié)構(gòu)就是放置在結(jié)構(gòu)體中的結(jié)構(gòu)體 超過兩層或三層的嵌套結(jié)構(gòu)會掩蓋底層的邏輯和數(shù)據(jù)流信息 一般來講 過多使用嵌套結(jié)構(gòu) 過度使用順序結(jié)構(gòu)是一種有失規(guī)范的設(shè)計模式 最大化地使用數(shù)據(jù)流方式和最小化地使用順序結(jié)構(gòu) 能夠有效地避免過多的嵌套 提高程序可讀性 降低錯誤發(fā)生的概率 56 背面板創(chuàng)建規(guī)范 程序注釋 程序注釋其實也是一種說明文檔 只不過是對背面板源代碼的說明 程序的注釋文檔與源代碼的可讀性 可維護(hù)性和可用性直接相關(guān) 是非常重要的 LabVIEW的源代碼是圖形化的 本身就沒有漢字 而文檔增加了圖形源代碼的可讀性 57 背面板創(chuàng)建規(guī)范 程序注釋 圖示是一個不帶任何說明文檔的程序 其主要功能是對測量儀器進(jìn)行配置 示例中沒有任何的標(biāo)簽或注釋 對數(shù)據(jù)的信息比較少 整個程序的可讀性很差 維護(hù)起來也很不方便 58 背面板創(chuàng)建規(guī)范 程序注釋 針對上圖進(jìn)行了改進(jìn)后 首先 各個控件的標(biāo)簽進(jìn)行可見的設(shè)置 其次 移位寄存器左端連線進(jìn)行了標(biāo)注 并且每個條件結(jié)構(gòu)中也進(jìn)行了注釋 修改后的程序框圖相比之前清晰了很多 可以很容易看出每個控件的意義和每個條件結(jié)構(gòu)實現(xiàn)的功能 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ū)域中直觀考察 60 VI圖標(biāo)和連接器創(chuàng)建規(guī)范 圖標(biāo) 連接器 61 VI圖標(biāo)和連接器創(chuàng)建規(guī)范 圖標(biāo) 圖標(biāo)是LabVIEW源代碼中的重要特點之一 主要包含各種圖形和文本的組合顯示 用于子VI的識別 提高其可讀性 有助于對主程序框圖說明 一個成功的圖標(biāo)是對一個VI直觀的描述 一個圖標(biāo)就能代表一個函數(shù) 一個程序 在LabVIEW中 圖標(biāo)是通過圖標(biāo)編輯器工具畫出來的 或者是現(xiàn)有的圖片文件 或者是應(yīng)用程序中復(fù)制出來的 62 VI圖標(biāo)和連接器創(chuàng)建規(guī)范 圖標(biāo) 關(guān)于圖標(biāo)創(chuàng)建的一些規(guī)范 制作通俗 易懂 有特定意義圖標(biāo)由于LabVIEW中圖標(biāo)都是32 32像素的 所以 圖標(biāo)里的內(nèi)容必須小而精煉 要在有限的空間內(nèi) 制作出清晰易讀且有意義的圖片和字體 正如日常生活中見到的一些符號 如公共標(biāo)志或是交通信號等 都是圖形和文字結(jié)合得很好的例子 LabVIEW圖標(biāo)制作時也應(yīng)該具有通俗 易懂 有特定意義 63 VI圖標(biāo)和連接器創(chuàng)建規(guī)范 圖標(biāo) 在圖標(biāo)內(nèi)容小且精煉的前提下 圖標(biāo)中的文本就必須統(tǒng)一字體格式要求一般對于大多數(shù)的文本推薦使用8磅或10磅的字體 LabVIEW中應(yīng)用程序默認(rèn)的字體是13磅 如果使用默認(rèn)字體 那么圖標(biāo)中每行就只能寫5個字母 這就占了圖標(biāo)高度的1 3 這種字體只適用于包含少量大寫字母的圖標(biāo) 而將所有的文本設(shè)為8磅或10磅的小字體 將會使圖標(biāo)上的文本在大小合適 清晰可辨的前提下數(shù)量最大化 假如使用8磅小字體的大寫字母 就能在每行寫入7個字母 而且只會占用圖標(biāo)高度的1 4 64 VI圖標(biāo)和連接器創(chuàng)建規(guī)范 圖標(biāo) 好圖標(biāo)應(yīng)該是圖片 顏色和文本合成的整體符號為了描述更多的內(nèi)容 用4行文本將圖標(biāo)填滿 也是不可取的方式 因此 推薦使用8磅或10磅小字體 因為在使用相同文本的前提下 將為圖片和空白區(qū)域提供更多的空間 幾種不同圖標(biāo)字體大寫字母效果的對比 65 VI圖標(biāo)和連接器創(chuàng)建規(guī)范 圖標(biāo) 關(guān)于圖標(biāo)設(shè)計與開發(fā)時間的平衡問題總原則是 對于重用率很高的VI 如產(chǎn)品的開發(fā)工具包或儀器的驅(qū)動 就值得投入大量的時間和精力去設(shè)計一個構(gòu)思精妙的圖標(biāo) 如果要在短期內(nèi)開發(fā)大量的VI 并且這些VI沒有重復(fù)使用的可能 那就無須花大量的精力在圖標(biāo)的設(shè)計上 而是可以用快捷有效的方法設(shè)計出一個有特定含義的圖標(biāo)即可 66 VI圖標(biāo)和連接器創(chuàng)建規(guī)范 圖標(biāo) 創(chuàng)造一個包含文本 彩色背景

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論