LabVIEW高級編程技巧_第1頁
LabVIEW高級編程技巧_第2頁
LabVIEW高級編程技巧_第3頁
LabVIEW高級編程技巧_第4頁
LabVIEW高級編程技巧_第5頁
已閱讀5頁,還剩68頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、12LabVIEW 高級編程技巧高級編程技巧議程議程 National Instruments 公司簡介 LabVIEW 高級編程技巧用戶定義的調(diào)試指示器巧用LabVIEW控件定時結(jié)構(gòu)基于事件觸發(fā)的編程優(yōu)化LabVIEW程序內(nèi)存管理 程序模板的使用 LabVIEW狀態(tài)圖議程議程 National Instruments 公司簡介公司簡介 LabVIEW 高級編程技巧用戶定義的調(diào)試指示器巧用LabVIEW控件定時結(jié)構(gòu)基于事件觸發(fā)的編程優(yōu)化LabVIEW程序內(nèi)存管理 程序模板的使用 LabVIEW狀態(tài)圖 持續(xù)強勁的增長和收益記錄 2006年財政年度的收入達到6.6億美元 全球超過4000名員工,在

2、40多個國家擁有辦事處 連續(xù)8年被財富雜志評為美國最適合工作的100家公司之一Net Revenue in MillionsDistributorsDirect Sales OfficesNational Instruments 虛擬儀器技術(shù)倡導(dǎo)者虛擬儀器技術(shù)倡導(dǎo)者20052006200320051998200019931997199019921986LabVIEW 1.0MacintoshLabVIEW 2.0編譯語言程序編譯語言程序LabVIEWSun, WindowsLabVIEW 3.0多平臺多平臺LabVIEW 4.0專業(yè)化開發(fā)專業(yè)化開發(fā)LabVIEW 6i聯(lián)網(wǎng)聯(lián)網(wǎng)LabVIEW 5

3、.0Undo! 和實時和實時LabVIEW 7 ExpressPDA 和和 FPGALabVIEW嵌入式和嵌入式和 DSPLabVIEW 8.2020周年紀(jì)念版周年紀(jì)念版簡體中文版簡體中文版LabVIEW 8分布式智能分布式智能LabVIEW 持續(xù)持續(xù)20多年的創(chuàng)新和發(fā)展多年的創(chuàng)新和發(fā)展LabVIEW 8.5多核處理器多核處理器狀態(tài)圖模塊狀態(tài)圖模塊2007議程議程 National Instruments 公司簡介 LabVIEW 高級編程技巧用戶定義的調(diào)試指示器用戶定義的調(diào)試指示器巧用LabVIEW控件定時結(jié)構(gòu)基于事件觸發(fā)的編程優(yōu)化LabVIEW程序內(nèi)存管理 程序模板的使用 LabVIEW狀

4、態(tài)圖調(diào)試指示器調(diào)試指示器 靈活的調(diào)試工具,可詳細(xì)顯示數(shù)據(jù)線上通過的數(shù)據(jù) 指示器的操作可以體現(xiàn) VI 的靈活性和強大功能 傳統(tǒng)的調(diào)試指示器存在一些缺點,如只能顯示數(shù)組中的一個元素用戶定義的調(diào)試指示器用戶定義的調(diào)試指示器 能顯示各種數(shù)據(jù)類型 可定制指示器外觀 可定制指示器處理功能 設(shè)置條件斷點定制你的需求定制你的需求指示器不僅僅可以顯示數(shù)據(jù) 將數(shù)據(jù)錄入文件 對兩個指示器之間的執(zhí)行進行定時 計算總的調(diào)用次數(shù)或是每秒的調(diào)用次數(shù)演示:自定義調(diào)試指示器演示:自定義調(diào)試指示器議程議程 National Instruments 公司簡介 LabVIEW 高級編程技巧用戶定義的調(diào)試指示器巧用巧用LabVIEW控

5、件控件定時結(jié)構(gòu)基于事件觸發(fā)的編程優(yōu)化LabVIEW程序內(nèi)存管理 程序模板的使用 LabVIEW狀態(tài)圖LabVIEWLabVIEW界面出色界面出色 LabVIEW控件助您設(shè)計專業(yè)美觀的人機界面LabVIEWLabVIEW界面出色界面出色 LabVIEW控件助您設(shè)計專業(yè)美觀的人機界面LabVIEWLabVIEW界面出色界面出色 LabVIEW控件助您設(shè)計專業(yè)美觀的人機界面LabVIEWLabVIEW界面出色界面出色 LabVIEW控件助您設(shè)計專業(yè)美觀的人機界面LabVIEW 內(nèi)置控件內(nèi)置控件 LabVIEW內(nèi)置多種工業(yè)級控件LabVIEW 內(nèi)置控件內(nèi)置控件 波形圖 / 波形圖表 XY圖 強度圖 P

6、icture控件 3D3D圖片控件圖片控件 LabVIEW8.0新控件 機械部件的狀態(tài)顯示自定義控件自定義控件 LabVIEW控件基礎(chǔ)上修改 使用貼圖ActiveX控件控件 與第三方程序通訊 擴展LabVIEW的顯示方式和效果Xcontrol 控件控件 添加新屬性及方法 組合多個控件 創(chuàng)建全新控件演示:演示:3D 直升機控制系統(tǒng)界面直升機控制系統(tǒng)界面議程議程 National Instruments 公司簡介 LabVIEW 高級編程技巧用戶定義的調(diào)試指示器巧用LabVIEW控件定時結(jié)構(gòu)定時結(jié)構(gòu)基于事件觸發(fā)的編程優(yōu)化LabVIEW程序內(nèi)存管理 程序模板的使用 LabVIEW狀態(tài)圖定時結(jié)構(gòu)定時結(jié)

7、構(gòu) 精確的定時 while 循環(huán) 精確的定時順序結(jié)構(gòu) 多個時鐘頻率的定時 反饋, 動態(tài)定時特性 多優(yōu)先級設(shè)置 examplesgeneraltimedloop.llb定時順序結(jié)構(gòu)定時順序結(jié)構(gòu)類似添加內(nèi)置定時功能的順序結(jié)構(gòu)定時循環(huán)定時循環(huán)定時循環(huán)定時循環(huán)演示:定時循環(huán)演示:定時循環(huán)29可具體手動設(shè)置定時循環(huán)運行的核可具體手動設(shè)置定時循環(huán)運行的核設(shè)置定時循環(huán)運設(shè)置定時循環(huán)運行的指定核行的指定核NEW!30可具體手動設(shè)置定時循環(huán)運行的核可具體手動設(shè)置定時循環(huán)運行的核NEW!議程議程 National Instruments 公司簡介 LabVIEW 高級編程技巧用戶定義的調(diào)試指示器巧用LabVIEW

8、控件定時結(jié)構(gòu)基于事件觸發(fā)的編程基于事件觸發(fā)的編程優(yōu)化LabVIEW程序內(nèi)存管理 程序模板的使用 LabVIEW狀態(tài)圖基于事件的編程基于事件的編程 管理用戶界面,通常采用的方法有中斷響應(yīng)和事件驅(qū)動 中斷響應(yīng)采用輪詢機制處理,非常占用CPU資源,還可能會丟失用戶界面的響應(yīng) 事件驅(qū)動無需輪詢即可捕捉到相關(guān)事件,順序處理捕捉到的所有事件,不會丟失也不會顛倒順序事件舉例事件舉例事件結(jié)構(gòu)不需要輪詢就可以捕捉到自定義菜單上的用戶選擇ItemTag 返回菜單條目MenuRef 返回菜單的 refnumVirtual Instrument事件類型事件類型 Application 事件舉例: 退出應(yīng)用程序 超時C

9、ontrol事件舉例: 關(guān)閉前面板 VI 上的鼠標(biāo)移動事件舉例: 改變控件數(shù)值 特定控件上的鼠標(biāo)移動LabVIEW 新事件新事件 更多的用戶界面事件 動態(tài)注冊的事件 用戶定義的事件 ActiveX 事件 .NET 事件事件結(jié)構(gòu)的基本使用事件結(jié)構(gòu)的基本使用 通常在 While 循環(huán)中使用 每次循環(huán)只處理一次事件,其它時間休眠 在事件結(jié)構(gòu)的左側(cè)邊框端口上可獲得事件數(shù)據(jù)事件結(jié)構(gòu)的配置事件結(jié)構(gòu)的配置通過對話框來配置事件,右擊事件結(jié)構(gòu)的邊框 ,選擇 “Edit Events Handled by This Case”事件注冊和面板鎖定事件注冊和面板鎖定 包含事件結(jié)構(gòu)的 VI 被預(yù)留以后,事件就成為已注冊

10、的 已注冊事件發(fā)生后, 會進入隊列等待直到相應(yīng)的事件結(jié)構(gòu)開始執(zhí)行,事件不會丟失也不會出現(xiàn)順序混亂 默認(rèn)情況下, 前面板被鎖定直到事件被處理完 可以關(guān)閉鎖定,但只針對過濾事件 VI 變成空閑后,事件被注銷動態(tài)事件動態(tài)事件下列情況時,需要動態(tài)注冊事件:下列情況時,需要動態(tài)注冊事件: 事件注冊只能發(fā)生在應(yīng)用程序的某些部分 在程序運行過程中需要改變哪些 VIs 或控件可以發(fā)生事件 在 subVI 中處理事件,而不是僅在注冊事件的 VI 中動態(tài)事件動態(tài)事件Register For EventsEvent StructureUnregister For EventsCreate User EventGen

11、erate User EventDestroy User Event編程模型編程模型注冊注冊事件事件連接到連接到事件結(jié)構(gòu)事件結(jié)構(gòu)選擇選擇動態(tài)事件動態(tài)事件注銷注銷事件事件演示:動態(tài)事件演示:動態(tài)事件程序產(chǎn)生的程序產(chǎn)生的 (用戶用戶) 事件事件Register For EventsEvent StructureUnregister For EventsCreate User EventGenerate User EventDestroy User Event用戶事件編程模型用戶事件編程模型創(chuàng)建并注冊創(chuàng)建并注冊用戶事件用戶事件產(chǎn)生產(chǎn)生用戶事件用戶事件注銷注銷用戶事件用戶事件消滅消滅用戶事件用戶事件用

12、戶事件舉例用戶事件舉例演示:用戶事件演示:用戶事件ActiveX 事件事件Register Event CallbackActiveX 編程模型編程模型注冊注冊ActiveX 事件事件選擇事件選擇事件創(chuàng)建和編輯創(chuàng)建和編輯Callback VI演示:演示:ActiveX 事件事件小結(jié):事件處理結(jié)構(gòu)小結(jié):事件處理結(jié)構(gòu) 允許在subvi中處理事件代碼 提供統(tǒng)一的,簡化的事件處理機制 用戶界面 接口控制 外部代碼 用戶定義事件 注冊和非注冊事件議程議程 National Instruments 公司簡介 LabVIEW 高級編程技巧用戶定義的調(diào)試指示器巧用LabVIEW控件定時結(jié)構(gòu)基于事件觸發(fā)的編程優(yōu)

13、化優(yōu)化LabVIEW程序內(nèi)存管理程序內(nèi)存管理 程序模板的使用 LabVIEW狀態(tài)圖為什么要優(yōu)化為什么要優(yōu)化LabVIEW程序內(nèi)存管理程序內(nèi)存管理 LabVIEW的自動管理內(nèi)存特性 方便用戶開發(fā),滿足一般應(yīng)用需求 LabVIEW應(yīng)用程序趨向大型化,復(fù)雜化 項目規(guī)模大,需求復(fù)雜 數(shù)據(jù)處理量大,性能要求高 好的編程風(fēng)格幫助LabVIEW優(yōu)化內(nèi)存管理 可以顯著提高程序運行效率 需要了解LabVIEW的內(nèi)存分配機制監(jiān)測監(jiān)測VI內(nèi)存占用和運行時間的工具內(nèi)存占用和運行時間的工具 幫助定位和分析程序中的瓶頸部分工具工具性能分析性能分析性能和內(nèi)存性能和內(nèi)存顯示顯示VI內(nèi)存分配情況的工具內(nèi)存分配情況的工具 幫助分

14、析程序中各個數(shù)據(jù)變量的內(nèi)存拷貝情況 目標(biāo):消除黑點工具工具性能分析性能分析顯示緩存區(qū)分配顯示緩存區(qū)分配演示:監(jiān)測內(nèi)存使用演示:監(jiān)測內(nèi)存使用優(yōu)化優(yōu)化 LabVIEW程序內(nèi)存管理程序內(nèi)存管理 適時選擇動態(tài)調(diào)用子VI 避免強制類型轉(zhuǎn)換 合理分配數(shù)組內(nèi)存 靈活使用LabVIEW自帶的VI 使用元素同址操作結(jié)構(gòu)In Place Element Structure在程序中動態(tài)調(diào)用子在程序中動態(tài)調(diào)用子VI321 減少程序占用內(nèi)存以及載入時間打開VI引用通過引用節(jié)點調(diào)用關(guān)閉引用2配置配置 VI加載加載1數(shù)據(jù)類型轉(zhuǎn)換數(shù)據(jù)類型轉(zhuǎn)換 強制點表明連接了兩種不同的數(shù)據(jù)類型 LabVIEW中類型強制轉(zhuǎn)換需要數(shù)據(jù)備份 涉及

15、大數(shù)組的類型強制轉(zhuǎn)換會占用大量內(nèi)存推薦的類型轉(zhuǎn)換方式推薦的類型轉(zhuǎn)換方式 更好的解決方式是在隨機數(shù)創(chuàng)建時進行轉(zhuǎn)換 避免轉(zhuǎn)換大塊數(shù)據(jù)緩存(14.3 KB)(22.7 KB)合理分配數(shù)組內(nèi)存合理分配數(shù)組內(nèi)存 過多進行內(nèi)存重新分配占用很大開銷 慎用可能導(dǎo)致內(nèi)存重新分配的相關(guān)函數(shù) 創(chuàng)建數(shù)組 連接字符串演示:演示:LabVIEW 數(shù)組分配數(shù)組分配靈活使用靈活使用LabVIEW自帶的自帶的VI 基本線性代數(shù)子程序VI (Basic Linear Algebra Subroutines) 合理歸并基本線性代數(shù)操作 減少不必要的內(nèi)存復(fù)制開銷 使程序更加簡潔數(shù)學(xué)數(shù)學(xué)線性代數(shù)線性代數(shù)BLASNEW!元素同址操作結(jié)構(gòu)

16、元素同址操作結(jié)構(gòu) 更新數(shù)組或簇中的元素時,避免元素數(shù)據(jù)備份應(yīng)用控制應(yīng)用控制內(nèi)存控制內(nèi)存控制NEW!元素同址操作結(jié)構(gòu)的優(yōu)點元素同址操作結(jié)構(gòu)的優(yōu)點 方便實現(xiàn)多種情況的緩存重用,消除元素復(fù)制開銷 數(shù)組索引和替換 簇的綁定和解除綁定 波形的綁定和解除綁定 變體的緩存重用 任意元素的緩存重用舉例:數(shù)組索引和替換舉例:數(shù)組索引和替換 將數(shù)組第2個元素增大10倍方法一:方法一:方法二:方法二:元素數(shù)據(jù)備份元素數(shù)據(jù)備份舉例:簇的綁定和解除綁定舉例:簇的綁定和解除綁定 個人納稅信息的更新演示:嵌套的元素同址操作結(jié)構(gòu)演示:嵌套的元素同址操作結(jié)構(gòu)使用事件結(jié)構(gòu)模板使用事件結(jié)構(gòu)模板 狀態(tài)機 并行循環(huán)VI架構(gòu) 隊列信息處

17、理器 生產(chǎn)者/消費者 (數(shù)據(jù)) 用戶接口事件處理器用戶接口事件處理器 生產(chǎn)者生產(chǎn)者/消費者消費者 (事件事件) 根據(jù)需要組合或擴展各種結(jié)構(gòu)議程議程 National Instruments 公司簡介 LabVIEW 高級編程技巧用戶定義的調(diào)試指示器巧用LabVIEW控件定時結(jié)構(gòu)基于事件觸發(fā)的編程優(yōu)化LabVIEW程序內(nèi)存管理 程序模板的使用 LabVIEW狀態(tài)圖通向高效工作的最佳捷徑通向高效工作的最佳捷徑NI培訓(xùn)和認(rèn)證培訓(xùn)和認(rèn)證LabVIEW Basics I&II課程內(nèi)容豐富、細(xì)致課程內(nèi)容豐富、細(xì)致,與實踐與實踐相相結(jié)合。結(jié)合。在這幾天的培訓(xùn)課程中,我得以系統(tǒng)完善自己關(guān)于在這幾天的培訓(xùn)課程中,我得以系統(tǒng)完善自己關(guān)于NI硬件與硬件與LabVIEW

溫馨提示

  • 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論