其他設(shè)計(jì)模式
發(fā)布時(shí)間:2014/6/20 21:41:56 訪問次數(shù):471
除前面介紹的幾種常用程序設(shè)計(jì)模式外,V058-A1CA1C0200-0還有后臺(tái)程序、代理、啟動(dòng)界面等幾種設(shè)計(jì)模式。
后臺(tái)程序模式也是LabVIEW中一個(gè)實(shí)用的設(shè)計(jì)模式,用于創(chuàng)建和啟動(dòng)前面板不可見的后臺(tái)運(yùn)行的應(yīng)用程序,例如自動(dòng)保存、定時(shí)備份、臨時(shí)文件的收集等。
代理模式有時(shí)也稱做“Lazy Loading”,通常用于延遲加載一些不經(jīng)常調(diào)用的子程序,從而加快主程序的初始化時(shí)間。除此之外,代理模式通過“隱藏”遠(yuǎn)程通信的細(xì)節(jié)信息可以簡化分布式應(yīng)用程序的創(chuàng)建。
啟動(dòng)界面模式用自定義的界面來代替LabVIEW默認(rèn)的啟動(dòng)界面,自定義界面可以顯示應(yīng)用程序的名稱、版本及程序的加載進(jìn)度,在程序啟動(dòng)后自動(dòng)關(guān)閉。
程序調(diào)試技巧
進(jìn)行程序調(diào)試除了要正確熟練地使用程序調(diào)試工具,還應(yīng)掌握一些程序調(diào)試的方法及程序設(shè)計(jì)中防止發(fā)生錯(cuò)誤的技巧。
建立出錯(cuò)處理機(jī)制
大部分LabVIEW內(nèi)置函數(shù)圖標(biāo)底部都有一對(duì)“錯(cuò)誤輸入”、“錯(cuò)誤輸出”參數(shù)。這個(gè)參數(shù)的數(shù)據(jù)類型是簇,包含3個(gè)成員,布爾量“狀態(tài)”表示是否有錯(cuò),整型數(shù)“代碼”為錯(cuò)誤代碼,字符串“源”表示錯(cuò)誤發(fā)生的位置,如圖3-12所示。
圖3-12 出錯(cuò)信息數(shù)據(jù)
在程序中按照節(jié)點(diǎn)執(zhí)行的先后順序把“錯(cuò)誤輸入”和“錯(cuò)誤輸出”參數(shù)串接起來,如圖3-13所示。這樣當(dāng)前一個(gè)節(jié)點(diǎn)發(fā)生錯(cuò)誤耐,它的出錯(cuò)信息傳遞到后面的節(jié)點(diǎn),后一個(gè)節(jié)點(diǎn)將不執(zhí)行任何操作,只把出錯(cuò)信息繼續(xù)向后傳遞,直到程序最后進(jìn)行出錯(cuò)處理。
LabVIEW本身具有處理出錯(cuò)的功能,程序運(yùn)行中某一個(gè)函數(shù)發(fā)生錯(cuò)誤時(shí)會(huì)自動(dòng)掛起,高亮度顯示出錯(cuò)函數(shù)的圖標(biāo),并彈出出錯(cuò)信息對(duì)話框。我們可以把圖3-2中的出錯(cuò)信息數(shù)據(jù)線某一處斷開,并在VI路徑中輸入一個(gè)錯(cuò)誤的VI名,運(yùn)行這個(gè)程序?qū)?huì)看到,程序中止在斷開的出錯(cuò)信息線前一個(gè)節(jié)點(diǎn),并彈出出錯(cuò)信息對(duì)話框。但是如果讓出錯(cuò)信息向后傳遞,各節(jié)點(diǎn)出錯(cuò)時(shí)會(huì)被忽略。如果在出錯(cuò)信息傳遞到最后一個(gè)節(jié)點(diǎn)時(shí)連接“對(duì)話框與用戶界面”函數(shù)子選板的“清除錯(cuò)誤”VI,則整個(gè)程序的出錯(cuò)都被忽略。
除前面介紹的幾種常用程序設(shè)計(jì)模式外,V058-A1CA1C0200-0還有后臺(tái)程序、代理、啟動(dòng)界面等幾種設(shè)計(jì)模式。
后臺(tái)程序模式也是LabVIEW中一個(gè)實(shí)用的設(shè)計(jì)模式,用于創(chuàng)建和啟動(dòng)前面板不可見的后臺(tái)運(yùn)行的應(yīng)用程序,例如自動(dòng)保存、定時(shí)備份、臨時(shí)文件的收集等。
代理模式有時(shí)也稱做“Lazy Loading”,通常用于延遲加載一些不經(jīng)常調(diào)用的子程序,從而加快主程序的初始化時(shí)間。除此之外,代理模式通過“隱藏”遠(yuǎn)程通信的細(xì)節(jié)信息可以簡化分布式應(yīng)用程序的創(chuàng)建。
啟動(dòng)界面模式用自定義的界面來代替LabVIEW默認(rèn)的啟動(dòng)界面,自定義界面可以顯示應(yīng)用程序的名稱、版本及程序的加載進(jìn)度,在程序啟動(dòng)后自動(dòng)關(guān)閉。
程序調(diào)試技巧
進(jìn)行程序調(diào)試除了要正確熟練地使用程序調(diào)試工具,還應(yīng)掌握一些程序調(diào)試的方法及程序設(shè)計(jì)中防止發(fā)生錯(cuò)誤的技巧。
建立出錯(cuò)處理機(jī)制
大部分LabVIEW內(nèi)置函數(shù)圖標(biāo)底部都有一對(duì)“錯(cuò)誤輸入”、“錯(cuò)誤輸出”參數(shù)。這個(gè)參數(shù)的數(shù)據(jù)類型是簇,包含3個(gè)成員,布爾量“狀態(tài)”表示是否有錯(cuò),整型數(shù)“代碼”為錯(cuò)誤代碼,字符串“源”表示錯(cuò)誤發(fā)生的位置,如圖3-12所示。
圖3-12 出錯(cuò)信息數(shù)據(jù)
在程序中按照節(jié)點(diǎn)執(zhí)行的先后順序把“錯(cuò)誤輸入”和“錯(cuò)誤輸出”參數(shù)串接起來,如圖3-13所示。這樣當(dāng)前一個(gè)節(jié)點(diǎn)發(fā)生錯(cuò)誤耐,它的出錯(cuò)信息傳遞到后面的節(jié)點(diǎn),后一個(gè)節(jié)點(diǎn)將不執(zhí)行任何操作,只把出錯(cuò)信息繼續(xù)向后傳遞,直到程序最后進(jìn)行出錯(cuò)處理。
LabVIEW本身具有處理出錯(cuò)的功能,程序運(yùn)行中某一個(gè)函數(shù)發(fā)生錯(cuò)誤時(shí)會(huì)自動(dòng)掛起,高亮度顯示出錯(cuò)函數(shù)的圖標(biāo),并彈出出錯(cuò)信息對(duì)話框。我們可以把圖3-2中的出錯(cuò)信息數(shù)據(jù)線某一處斷開,并在VI路徑中輸入一個(gè)錯(cuò)誤的VI名,運(yùn)行這個(gè)程序?qū)?huì)看到,程序中止在斷開的出錯(cuò)信息線前一個(gè)節(jié)點(diǎn),并彈出出錯(cuò)信息對(duì)話框。但是如果讓出錯(cuò)信息向后傳遞,各節(jié)點(diǎn)出錯(cuò)時(shí)會(huì)被忽略。如果在出錯(cuò)信息傳遞到最后一個(gè)節(jié)點(diǎn)時(shí)連接“對(duì)話框與用戶界面”函數(shù)子選板的“清除錯(cuò)誤”VI,則整個(gè)程序的出錯(cuò)都被忽略。
上一篇:隊(duì)列消息處理器
上一篇:VI出錯(cuò)信息處理
熱門點(diǎn)擊
- 12C總線具有如下基本特征
- 8031對(duì)外部ROM/RAM的連接
- 單片機(jī)的分類
- 特殊功能寄存器
- 無條件絕對(duì)轉(zhuǎn)移指令
- 二次熔錫問題
- 自動(dòng)打開DataSocket Server
- 單分支結(jié)構(gòu)
- 帶符號(hào)數(shù)表示
- 慢速冷卻與快速冷卻速率溫度曲線參數(shù)比較
推薦技術(shù)資料
- 自制智能型ICL7135
- 表頭使ff11CL7135作為ADC,ICL7135是... [詳細(xì)]
- iNEMO系統(tǒng)級(jí)封裝 (SiP
- 增強(qiáng)型模塊化輸入輸出系統(tǒng) (eMIOS)
- 最新60和100V器件FERD
- 32位汽車微控制器SPC5系列
- 新一代高性能接近和測(cè)距傳感器
- 新型場(chǎng)效應(yīng)整流二極管(FERD
- 多媒體協(xié)處理器SM501在嵌入式系統(tǒng)中的應(yīng)用
- 基于IEEE802.11b的EPA溫度變送器
- QUICCEngine新引擎推動(dòng)IP網(wǎng)絡(luò)革新
- SoC面世八年后的產(chǎn)業(yè)機(jī)遇
- MPC8xx系列處理器的嵌入式系統(tǒng)電源設(shè)計(jì)
- dsPIC及其在交流變頻調(diào)速中的應(yīng)用研究