版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、LabVIEW交流,,交流的議題和針對(duì)的對(duì)象,LabVIEW和圖形化編程程序設(shè)計(jì)中的一些常用方法和注意事項(xiàng)程序設(shè)計(jì)的幾種模板編程風(fēng)格一些應(yīng)用案例有用的資源主要針對(duì)的是已經(jīng)使用過(guò)LabVIEW的同志只是討論關(guān)于LabVIEW軟件,不涉及硬件,LabVIEW和圖形化編程,LabVIEW是數(shù)據(jù)流驅(qū)動(dòng)的編程語(yǔ)言是一種編譯語(yǔ)言自動(dòng)多線程的,工程管理器,工程文件的樹形管理硬件目標(biāo)主機(jī)的管理VI的交叉連接Library的管
2、理LabVIEW類的管理程序的發(fā)布,順序結(jié)構(gòu),盡量利用LabVIEW的數(shù)據(jù)流少采用順序結(jié)構(gòu),選擇結(jié)構(gòu),,禁用結(jié)構(gòu),程序框圖禁用結(jié)構(gòu)條件禁用結(jié)構(gòu),循環(huán)結(jié)構(gòu),While和For循環(huán)在While循環(huán)中必須加入等時(shí)While循環(huán)是Do…While當(dāng)知道循環(huán)次數(shù)時(shí)使用For循環(huán)自動(dòng)索引善用移位寄存器優(yōu)化代碼,事件結(jié)構(gòu),事件是一種異步的信號(hào)來(lái)源是用戶界面、外部I/O或程序代碼相當(dāng)于一種“中斷”,需要時(shí)才響應(yīng)常與Wile一起使
3、用,多用于UI的編程,,事件類型,,Control,This VI,Application,事件類型,應(yīng)用程序事件這類事件主要反映整個(gè)應(yīng)用程序狀態(tài)的變化,例如,程序是否關(guān)閉等VI事件這類事件反映當(dāng)前VI狀態(tài)的改變,例如,當(dāng)前VI是否選擇了菜單中的某一項(xiàng)等動(dòng)態(tài)事件用于處理用戶自己定義的或在程序中臨時(shí)生成的事件控件事件是最常用的一種事件,用于處理某個(gè)控件狀態(tài)的改變,例如,控件值的改變或鼠標(biāo)鍵盤的操作,事件種類,消息事件
4、是在LabVIEW處理完用戶操作之后發(fā)出的事件過(guò)濾事件是在LabVIEW處理用戶操作之前發(fā)出的事件,事件結(jié)構(gòu)使用時(shí)應(yīng)注意的問(wèn)題,每個(gè)事件中代碼執(zhí)行的時(shí)間不能太長(zhǎng)Timeout事件的使用,,定時(shí)函數(shù)的使用,使用定時(shí)的目的控制代碼執(zhí)行的速率降低CPU占用率Wait給它一個(gè)輸入?yún)?shù)n,每次程序執(zhí)行到它的時(shí)候,它就停下來(lái),等待n毫秒,再繼續(xù)運(yùn)行后續(xù)程序Wait Until Next給它一個(gè)輸入?yún)?shù)n,每
5、次程序執(zhí)行到它的時(shí)候,會(huì)暫停在這里,Wait Until Next函數(shù)每隔n毫秒醒來(lái)一次,醒來(lái)后再繼續(xù)運(yùn)行后續(xù)程序,使用定時(shí)函數(shù)時(shí)的注意事項(xiàng),Wait函數(shù)每次運(yùn)行到它才開(kāi)始計(jì)時(shí)一次,單次的誤差會(huì)被累積。假如每次誤差四五毫秒,迭代五次誤差可能就達(dá)到十幾毫秒了。Wait Until Next函數(shù)不需要再每次調(diào)用的時(shí)候計(jì)算延時(shí)。假設(shè)Wait Until Next函數(shù)從0時(shí)間開(kāi)始計(jì)時(shí),那么程序已開(kāi)始,它就可以知道自己每一次醒來(lái)的時(shí)間分
6、別應(yīng)當(dāng)是100ms,200ms,300ms…。假如誤差是± 4ms,那么它實(shí)際每次醒來(lái)的時(shí)間就是100 ± 4ms,200 ± 4ms…,這個(gè)誤差不會(huì)被累積,但該函數(shù)不能確定第一次醒來(lái)的時(shí)間,定時(shí)函數(shù)的并行與串行執(zhí)行,,全局變量,優(yōu)點(diǎn)很簡(jiǎn)單的就能實(shí)現(xiàn)不同進(jìn)程間的數(shù)據(jù)訪問(wèn)缺點(diǎn)不利于代碼的可讀性安全性低效率低存在競(jìng)爭(zhēng)狀態(tài),功能型全局變量,用一個(gè)不可重入的VI實(shí)現(xiàn)解決了競(jìng)爭(zhēng)問(wèn)題封裝了內(nèi)部
7、數(shù)據(jù),控制訪問(wèn),VI的重入,考慮子VI在一個(gè)程序中多次調(diào)用希望得到不同的運(yùn)行結(jié)果,,子VI,主VI,執(zhí)行左邊的例子看看運(yùn)行的結(jié)果是什么?,傳值與傳引用,傳值會(huì)有數(shù)據(jù)拷貝的問(wèn)題,內(nèi)存使用大傳引用可以避免數(shù)據(jù)拷貝,但安全性不如傳值,尤其在多線程編程的情況下如果只是簡(jiǎn)單的應(yīng)用直接傳值,當(dāng)有占用內(nèi)存較大的數(shù)據(jù)類型時(shí)建議使用傳引用的方式,動(dòng)態(tài)調(diào)用并執(zhí)行VI,用于在一個(gè)VI中彈出多個(gè)VI界面用于后臺(tái)動(dòng)態(tài)加載VI,內(nèi)存優(yōu)化,VI內(nèi)存占用包括四
8、個(gè)部分:前面板、框圖、代碼和數(shù)據(jù)把一個(gè)復(fù)雜VI分解為數(shù)個(gè)子VI在沒(méi)有必要時(shí)不要設(shè)置子VI的重入屬性盡量避免開(kāi)啟子VI前面板,例如,屬性節(jié)點(diǎn)的使用會(huì)將它的前面板調(diào)入內(nèi)存,可以使用局部變量代替打開(kāi)的資源,在使用完畢后必須關(guān)閉,如打開(kāi)的文件句柄編程時(shí)盡量使用緩存重用,子面板技術(shù),子面板就是一個(gè)容器,在主VI的前面板中顯示子VI前面板的內(nèi)容,并允許和子VI的控件交互,程序設(shè)計(jì)中的幾種模板,對(duì)程序設(shè)計(jì)能更好的架構(gòu)有統(tǒng)一的設(shè)計(jì)框架提高
9、代碼的可讀性容易發(fā)現(xiàn)問(wèn)題,便于調(diào)試,狀態(tài)機(jī),,狀態(tài)機(jī),,生產(chǎn)者/消費(fèi)者模式,,狀態(tài)機(jī)+生產(chǎn)者/消費(fèi)者,,LabVIEW面向?qū)ο缶幊?,LabVIEW的類數(shù)據(jù)是自定義的控件方法是VI必須在Project中存在,Class: 是數(shù)據(jù)(簇)和方法(VI)的集合Object: 是類的實(shí)例化,編程風(fēng)格,前面板1 選擇合適的數(shù)據(jù)類型,進(jìn)行合理布局2 按照從上到下、從左到右的原則布置界面3 對(duì)于一些工業(yè)應(yīng)用要少采用對(duì)話框4
10、限制前面板顯示信息的數(shù)量5 保持控件風(fēng)格(大小和字體)的一致性6 定義合適的標(biāo)簽名7 對(duì)一些重要的控件要突出顯示,并定義Tip文本8 要善用Ring和Enum控件,編程風(fēng)格,程序框圖1 采用SubVI使程序模塊化2 按照從左到右的方式布置輸入/輸出控件和代碼3 對(duì)于難理解的代碼要添加注釋4 盡量添加Error輸入/輸出端5 對(duì)于比較長(zhǎng)的連線要添加說(shuō)明6 使用4X2X2X4的連線端模式,并配合背景色
11、說(shuō)明VI的分層7 添加VI的Description,大工程的應(yīng)用案例,,大工程的應(yīng)用案例,,CERN Uses NI LabVIEW Software and PXI Hardware to Control the World’s Largest Particle Accelerator,Application: FPGA-based motion control system for intercepting misguided
12、or unstable particle beams.Challenge: Measuring and controlling, in real time, the position of bulk components to absorb energetic particles out of the nominal beam core with high reliability and accuracy at the world’
13、s most powerful particle accelerator, the Large Hadron Collider (LHC).Products: NI LabVIEW, LabVIEW Real-Time and LabVIEW FPGA modules, R Series data acquisition modules, NI SoftMotion controllers, and PXI/CompactPCI
14、Key Benefit: Custom motion control using small, rugged controllers for approximately 600 stepper motors with millisecond synchronization.,“We selected the LabVIEW and PXI solution for the deployment platform due to the s
15、mall size, ruggedness, and cost savings over the traditional VME and programmable logic controller-based model.”– Roberto Losito, CERN,大工程的應(yīng)用案例,,有用的一些資源,論壇:http://formus.ni.comNI Develper Zonehttp://www.ni.com/china/
16、labviewtipshttp://www.gsdzone.nethttp://www.ni.com/webcasts,問(wèn)題,RS232、485,GPIB等各種傳輸方式的速度比較如何利用LabVIEW調(diào)用dll,使用的時(shí)候有什么需要注意的內(nèi)容如何獲得當(dāng)前時(shí)間相對(duì)于時(shí)間起點(diǎn)(LabVIEW里面規(guī)定的時(shí)間起點(diǎn))的絕對(duì)數(shù)值(秒)機(jī)器視覺(jué)相關(guān)方面的應(yīng)用LabVIEW的響應(yīng)速度和效率,普通臺(tái)式機(jī)和PXI的差別LabVIEW從9版本到
溫馨提示
- 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ù)僅提供信息存儲(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 基于labview的交流智能負(fù)載研究
- labview的課程設(shè)計(jì)---基于labview的交流參數(shù)測(cè)量虛擬儀器
- 基于LabVIEW的交流電力測(cè)功系統(tǒng)的研究.pdf
- labview 第一章 labview入門
- labview外文翻譯
- LABVIEW.zip
- LABVIEW.zip
- labview課程設(shè)計(jì)---基于labview的計(jì)算器設(shè)計(jì)
- labview課程設(shè)計(jì)
- Labview學(xué)習(xí)資料.pdf
- 從零開(kāi)始學(xué)labview——基于labview85的入門介紹
- labview入門教程
- labview軟件編程規(guī)范
- 計(jì)算器labview
- labview課程設(shè)計(jì)報(bào)告---基于labview智能交通燈系統(tǒng)設(shè)計(jì)
- labview課程設(shè)計(jì)報(bào)告
- labview 入門和簡(jiǎn)單測(cè)量
- 虛擬儀器labview教材
- labview從入門到精通
- Labview課程設(shè)計(jì).doc
評(píng)論
0/150
提交評(píng)論