提升labview程序性能的若干編程技巧講義_第1頁(yè)
提升labview程序性能的若干編程技巧講義_第2頁(yè)
提升labview程序性能的若干編程技巧講義_第3頁(yè)
提升labview程序性能的若干編程技巧講義_第4頁(yè)
提升labview程序性能的若干編程技巧講義_第5頁(yè)
已閱讀5頁(yè),還剩37頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、LabVIEW程序性能的若干編程技巧議程基于事件驅(qū)動(dòng)的編程機(jī)制優(yōu)化LabVIEW程序內(nèi)存管理為什么要優(yōu)化內(nèi)存管理?基礎(chǔ)篇提高篇自動(dòng)代碼分析議程基于事件驅(qū)動(dòng)的編程機(jī)制優(yōu)化LabVIEW程序內(nèi)存管理為什么要優(yōu)化內(nèi)存管理?基礎(chǔ)篇提高篇自動(dòng)代碼分析LabVIEW中基于事件驅(qū)動(dòng)的編程LabVIEW事件示例按下鼠標(biāo)鍵盤按鍵前面板的用戶交互LabVIEW 事件結(jié)構(gòu)事件結(jié)構(gòu)?帶有多個(gè)子框圖的結(jié)構(gòu)節(jié)點(diǎn),就像條件結(jié)構(gòu)事件結(jié)構(gòu)是如何工作的?當(dāng)面板上事件發(fā)生時(shí)才被喚醒自動(dòng)執(zhí)行相應(yīng)事件框圖內(nèi)的事件代碼當(dāng)處理完成相應(yīng)事件后便結(jié)束,并不一直循環(huán)等待為什么要使用事件結(jié)構(gòu)?用更簡(jiǎn)單的事件處理替代原來(lái)的查詢循環(huán)最小化CPU 的使

2、用不會(huì)遺漏用戶界面交互事件可檢測(cè)的交互事件編程生成您自己的事件使用事件結(jié)構(gòu)模板狀態(tài)機(jī)并行循環(huán)VI架構(gòu)隊(duì)列信息處理器生產(chǎn)者/消費(fèi)者(數(shù)據(jù))用戶接口事件處理器生產(chǎn)者/消費(fèi)者(事件)根據(jù)需要組合或擴(kuò)展各種結(jié)構(gòu)演示1:LabVIEW 事件結(jié)構(gòu)編程議程基于事件驅(qū)動(dòng)的編程機(jī)制優(yōu)化LabVIEW程序內(nèi)存管理為什么要優(yōu)化內(nèi)存管理?基礎(chǔ)篇提高篇自動(dòng)代碼分析為什么要優(yōu)化LabVIEW程序內(nèi)存管理LabVIEW的自動(dòng)管理內(nèi)存特性方便用戶開(kāi)發(fā),滿足一般應(yīng)用需求LabVIEW應(yīng)用程序趨向大型化,復(fù)雜化項(xiàng)目規(guī)模大,需求復(fù)雜數(shù)據(jù)處理量大,性能要求高好的編程風(fēng)格幫助LabVIEW優(yōu)化內(nèi)存管理可以顯著提高程序運(yùn)行效率需要了解L

3、abVIEW的內(nèi)存分配機(jī)制監(jiān)測(cè)VI內(nèi)存占用和運(yùn)行時(shí)間的工具幫助定位和分析程序中的瓶頸部分工具性能分析性能和內(nèi)存顯示VI內(nèi)存分配情況的工具幫助分析程序中各個(gè)數(shù)據(jù)變量的內(nèi)存拷貝情況目標(biāo):消除黑點(diǎn)工具性能分析顯示緩存區(qū)分配演示2:監(jiān)測(cè)VI內(nèi)存占用和運(yùn)行時(shí)間的工具優(yōu)化LabVIEW程序內(nèi)存管理基礎(chǔ)篇適時(shí)選擇動(dòng)態(tài)調(diào)用子VI避免強(qiáng)制類型轉(zhuǎn)換防止內(nèi)存泄漏合理分配數(shù)組內(nèi)存合理使用全局變量在程序中動(dòng)態(tài)調(diào)用子VI減少程序占用內(nèi)存以及載入時(shí)間打開(kāi)VI通過(guò)關(guān)閉節(jié)點(diǎn)調(diào)用123典型的VI層次頂層VIVIs文件 I/O VIs校準(zhǔn)VI保存報(bào)表 VI常用任務(wù). 啟動(dòng)時(shí)加載.非常用任務(wù). 調(diào)用時(shí)加載.配置 VI加載12演示3:

4、動(dòng)態(tài)加載 VI數(shù)據(jù)類型轉(zhuǎn)換強(qiáng)制點(diǎn)表明連接了兩種不同的數(shù)據(jù)類型LabVIEW中類型強(qiáng)制轉(zhuǎn)換需要數(shù)據(jù)備份涉及大數(shù)組的類型強(qiáng)制轉(zhuǎn)換會(huì)占用大量?jī)?nèi)存的類型轉(zhuǎn)換方式更好的解決方式是在隨機(jī)數(shù)創(chuàng)建時(shí)進(jìn)行轉(zhuǎn)換 避免轉(zhuǎn)換大塊數(shù)據(jù)緩存(22.7 KB)(14.3 KB)防止內(nèi)存泄漏通常發(fā)生在文件操作或動(dòng)態(tài)調(diào)用VI中 注意關(guān)閉已打開(kāi)的合理分配數(shù)組內(nèi)存過(guò)多進(jìn)行內(nèi)存重新分配占用很大開(kāi)銷慎用可能導(dǎo)致內(nèi)存重新分配的相關(guān)函數(shù)創(chuàng)建數(shù)組連接字符串演示4:LabVIEW 數(shù)組分配合理使用全局變量增加程序可讀性減少程序框圖中的連線 帶來(lái)額外的內(nèi)存開(kāi)銷全局變量需要數(shù)據(jù)備份避免對(duì)大數(shù)據(jù)變量使用全局變量 例如大數(shù)組,圖像,信號(hào)等等做到程序可

5、讀性和執(zhí)行效率之間的平衡演示5:全局變量的內(nèi)存分配優(yōu)化LabVIEW程序內(nèi)存管理高級(jí)篇利用移位寄存器shift register靈活使用LabVIEW自帶的VI使用元素同址操作結(jié)構(gòu)In Place Element Structure合理配置調(diào)用函數(shù)庫(kù)節(jié)點(diǎn)Call Library NodeShift RegisterJeff Kodosky的最佳創(chuàng)意之一!通過(guò)使用移位寄存器,規(guī)定輸出端數(shù)據(jù)重用輸入端數(shù)據(jù)內(nèi)存,節(jié)省內(nèi)存開(kāi)銷舉例:將輸入數(shù)組的前半部分增大10倍靈活使用LabVIEW自帶的VI基本線性代數(shù)子程序VI(Basic Linear Algebra Subroutines)合理歸并基本線性代數(shù)

6、操作減少不必要的內(nèi)存使程序更加簡(jiǎn)潔開(kāi)銷S演示6:使用BLAS VI進(jìn)行矩陣向量乘法3AT x 2y元素同址操作結(jié)構(gòu)更新數(shù)組或簇中的元素時(shí),避免元素?cái)?shù)據(jù)備份元素同址操作結(jié)構(gòu)的優(yōu)點(diǎn)方便實(shí)現(xiàn)多種情況的緩存重用,消除元素開(kāi)銷數(shù)組索引和替換簇的綁定和解除綁定 波形的綁定和解除綁定變體的緩存重用任意元素的緩存重用舉例:數(shù)組索引和替換將數(shù)組第2個(gè)元素增大10倍方法一:方法二:元素?cái)?shù)據(jù)備份舉例:簇的綁定和解除綁定個(gè)人納稅信息的更新演示7:嵌套的元素同址操作結(jié)構(gòu)更新數(shù)組中單數(shù)號(hào)元素合理配置調(diào)用函數(shù)庫(kù)節(jié)點(diǎn)調(diào)用庫(kù)函數(shù)節(jié)點(diǎn)中的Constant選項(xiàng)只有輸入端,沒(méi)有輸出端,并確保在所調(diào)用的函數(shù)中沒(méi)有修改所輸入的數(shù)據(jù)此時(shí)選

7、中Constant選項(xiàng),LabVIEW不會(huì)對(duì)輸入數(shù)據(jù)進(jìn)行備份演示8:配置調(diào)用庫(kù)函數(shù)節(jié)點(diǎn)內(nèi)存優(yōu)化小結(jié)優(yōu)化LabVIEW程序內(nèi)存管理可以顯著提高效率利用內(nèi)存分配顯示工具檢查內(nèi)存分配情況慎用可能導(dǎo)致內(nèi)存分配的函數(shù)和全局變量靈活使用緩存重用技術(shù)移位寄存器 shift register元素同址操作結(jié)構(gòu)目標(biāo):盡量消除代表內(nèi)存分配的黑點(diǎn)!議程基于事件驅(qū)動(dòng)的編程機(jī)制優(yōu)化LabVIEW程序內(nèi)存管理為什么要優(yōu)化內(nèi)存管理?基礎(chǔ)篇提高篇自動(dòng)代碼分析LabVIEW VI 分析器工具LabVIEW工具包附件*通過(guò)60+ 的可配置測(cè)試自動(dòng)分析代碼性能風(fēng)格交互式的檢測(cè)錯(cuò)誤生成定制報(bào)表*包括在NI開(kāi)發(fā)者套件板內(nèi)VI 分析器 與性能相關(guān)的測(cè)試循環(huán)內(nèi)數(shù)組和字符串強(qiáng)制類型轉(zhuǎn)換點(diǎn)使能的調(diào)試While循環(huán)中的等待 VI的大小數(shù)組默認(rèn)值結(jié)構(gòu)體里面隱藏的對(duì)象全局變量和局部變量未使用代碼子程序框圖內(nèi)已連線的接線端順序結(jié)構(gòu)的使用演

溫馨提示

  • 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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論