NIPPT系列第6講_LabVIEW程序設(shè)計(jì)進(jìn)階_第1頁
NIPPT系列第6講_LabVIEW程序設(shè)計(jì)進(jìn)階_第2頁
NIPPT系列第6講_LabVIEW程序設(shè)計(jì)進(jìn)階_第3頁
NIPPT系列第6講_LabVIEW程序設(shè)計(jì)進(jìn)階_第4頁
NIPPT系列第6講_LabVIEW程序設(shè)計(jì)進(jìn)階_第5頁
已閱讀5頁,還剩38頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、聲明本課件供虛擬儀器技術(shù)、自動測試技術(shù)等相關(guān)課程教師授課使用與參考. 教師可根據(jù)課程需要和實(shí)際情況在此課件基礎(chǔ)上增刪內(nèi)容本課件版權(quán)屬NI(中國)公司所有,供中國大陸地區(qū)高校教師無償使用或在課程中引用,但使用或引用之前請聯(lián)系NI(中國)公司高校市場部獲得免費(fèi)使用授權(quán) (聯(lián)系方式 )本課件不得用于公開出版或其他商業(yè)用途. 如需在公開出版物中引用其中部分內(nèi)容, 請與NI(中國)公司高校市場部聯(lián)系獲得授權(quán)第六講LabVIEW程序設(shè)計(jì)進(jìn)階復(fù)習(xí) 通過前面的學(xué)習(xí)和實(shí)驗(yàn),已掌握 LabVIEW開發(fā)環(huán)境及基本編程和調(diào)試方法 簡單的數(shù)據(jù)采集 在LabVIEW中進(jìn)行信號處理進(jìn)階 LabVIEW項(xiàng)目 通過變量傳遞數(shù)據(jù)

2、 典型程序設(shè)計(jì)架構(gòu) 屬性節(jié)點(diǎn)與調(diào)用節(jié)點(diǎn) 養(yǎng)成良好的編程習(xí)慣 界面設(shè)計(jì)LabVIEW項(xiàng)目 借助LabVIEW項(xiàng)目 管理文件 (LabVIEW VI或項(xiàng)目相關(guān)的其他文件) 生成可執(zhí)行文件(exe)或安裝包 將LabVIEW程序發(fā)布到其他目標(biāo)上 (如實(shí)時(shí)控制器、FPGA等)理解: LabVIEW數(shù)據(jù)流與并行 問題: 如何同時(shí)停止兩個循環(huán)? 變量 解決方案: 利用LabVIEW中的局部變量LabVIEW中的變量 局部變量 VI內(nèi)部 全局變量 同一機(jī)器上的VI之間, 不一定建立項(xiàng)目 單進(jìn)程共享變量 可用于需要在不同機(jī)器之間共享變量的情況, 需要建立項(xiàng)目 通過網(wǎng)絡(luò)傳輸數(shù)據(jù)的相關(guān)內(nèi)容可通過參考書自學(xué)在Lab

3、VIEW項(xiàng)目中建立共享變量單進(jìn)程共享變量的使用變量使用的注意事項(xiàng) 避免不必要的使用(比如僅僅為了減少連線) 初始化變量(避免出現(xiàn)不確定狀態(tài))避免競爭狀態(tài) 避免同時(shí)寫入共享資源 例: 右邊程序的執(zhí)行結(jié)果? Value = (Value * 5) +2 Value = (Value + 2) * 5 Value = Value * 5 Value = Value +2常用的LabVIEW程序設(shè)計(jì)架構(gòu) 單循環(huán)架構(gòu) 狀態(tài)機(jī) 事件結(jié)構(gòu) 多循環(huán)架構(gòu) 生產(chǎn)者/消費(fèi)者結(jié)構(gòu) 基于事件的生產(chǎn)者/消費(fèi)者結(jié)構(gòu)單循環(huán)架構(gòu) 如前面提到的簡單數(shù)據(jù)采集(連續(xù)模擬輸入)程序 前面提到的狀態(tài)機(jī)結(jié)構(gòu)復(fù)習(xí): 狀態(tài)機(jī)結(jié)構(gòu)事件結(jié)構(gòu) 常用

4、于響應(yīng)前面板控件操作 自定義事件 (自學(xué)內(nèi)容)前面板用戶動作程序框圖執(zhí)行事件結(jié)構(gòu)的使用 通常與While循環(huán)一起使用 每次循環(huán)響應(yīng)一個事件 沒有時(shí)間發(fā)生則處于Sleep狀態(tài)事件結(jié)構(gòu)超時(shí)設(shè)置事件選擇標(biāo)簽事件數(shù)據(jù)節(jié)點(diǎn)事件過濾器節(jié)點(diǎn)編輯事件事件事件源配置事件通知與過濾事件通知事件(green arrow)用戶動作已經(jīng)發(fā)生并處理過濾事件(red arrow)用戶動作已發(fā)生但尚未處理事件. 允許自定義事件響應(yīng)事件結(jié)構(gòu)的運(yùn)行機(jī)制 當(dāng)運(yùn)行一個VI時(shí),LabVIEW將自動注冊那些已經(jīng)在事件結(jié)構(gòu)對話框中配置好的事件 當(dāng)一個已經(jīng)注冊的事件發(fā)生時(shí),它將進(jìn)入事件隊(duì)列并等待對應(yīng)的事件結(jié)構(gòu)代碼執(zhí)行 不會錯過事件,并且響應(yīng)

5、事件的先后順序依照發(fā)生的順序 默認(rèn)情況下,前面板會鎖定,直到對應(yīng)的事件被處理 僅對于通知事件,可以選擇關(guān)閉鎖定 當(dāng)VI代碼執(zhí)行完畢,注冊的事件將被注銷一個簡單的事件結(jié)構(gòu)運(yùn)用舉例使用事件結(jié)構(gòu)時(shí)的注意事項(xiàng) 一個While循環(huán)中只放置一個事件結(jié)構(gòu) 盡量不要在事件結(jié)構(gòu)中放置復(fù)雜的處理代碼 如果事件響應(yīng)需要復(fù)雜的處理可結(jié)合后面將講到的生產(chǎn)者/消費(fèi)者模式 更多關(guān)于事件結(jié)構(gòu)的注意事項(xiàng)請參考LabVIEW幫助及相關(guān)書籍多循環(huán)架構(gòu) 并行循環(huán)生產(chǎn)者/消費(fèi)者模式很多 數(shù)據(jù)采集-處理 應(yīng)用可采用這種模式問題: 如何在兩個循環(huán)之間“同步”傳遞數(shù)據(jù)?(使消費(fèi)者循環(huán)不會重復(fù)讀?。┩ㄟ^隊(duì)列同步生產(chǎn)者/消費(fèi)者循環(huán)結(jié)合事件結(jié)構(gòu)的

6、生產(chǎn)者/消費(fèi)者模式LabVIEW中的設(shè)計(jì)模式模板屬性節(jié)點(diǎn) 在一些應(yīng)用中,你也許希望通過程序?qū)崟r(shí)改變一些前面板控件的屬性 例1: 當(dāng)用戶輸入錯誤信息時(shí), 希望LED顯示控件變?yōu)榧t色 例2: 當(dāng)采集的溫度超過某一閾值, 希望波形曲線變?yōu)榧t色 在LabVIEW中,可通過屬性節(jié)點(diǎn)的編程完成這些功能 演示: 創(chuàng)建并使用屬性節(jié)點(diǎn)調(diào)用節(jié)點(diǎn)通過調(diào)用節(jié)點(diǎn)對 VI或控件 執(zhí)行某種由程序控制的“方法”操作大部分“方法”具有參數(shù)舉例: 創(chuàng)建并使用調(diào)用節(jié)點(diǎn)方法名稱參數(shù)更多學(xué)習(xí)內(nèi)容 若想深入學(xué)習(xí)LabVIEW,還有以下內(nèi)容值得學(xué)習(xí)(在課程設(shè)計(jì)或今后的工作中需要運(yùn)用時(shí),可參閱相關(guān)資源自學(xué)) 自定義控件 VI Server與

7、引用 動態(tài)加載子面板 網(wǎng)絡(luò)編程 數(shù)據(jù)庫編程 調(diào)用DLL動態(tài)鏈接庫 調(diào)用ActiveX與.NET對象 Xcontrol LabVIEW中的面向?qū)ο缶幊蹋∣OP)養(yǎng)成良好的編程習(xí)慣 程序框圖不要太大 盡量在一屏中放下,或者至多只需在一個方向上拖動 程序如果實(shí)在太大,應(yīng)考慮使用子VI (將在后續(xù)介紹) 添加必要的注釋清晰直觀的子VI風(fēng)格GoodBetterBest33習(xí)慣數(shù)據(jù)流的編程方式 有些順序幀結(jié)構(gòu)可以用狀態(tài)機(jī)替換 盡量不要用變量代替連線利用錯誤簇錯誤解析 可以輸入錯誤代碼,查看LabVIEW對錯誤的解釋錯誤分支界面設(shè)計(jì)原則: 清晰直觀 Labels (標(biāo)簽) 簡短說明 (程序框圖中也會顯示) Captions (標(biāo)題) 較長的說明界面設(shè)計(jì)原則: 清晰直觀 如有必要,可增加說明信息界面設(shè)計(jì)原則: 不雜亂 不使用過多的字體、色彩 默認(rèn)的經(jīng)典黑白灰方案最保險(xiǎn)界面設(shè)計(jì)原則: 整潔 如果前面板控件較多,可利用Tab控件整理分類范例程序

溫馨提示

  • 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)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論