新聞中心

EEPW首頁 > 測試測量 > 設計應用 > LabVIEW程序設計模式(一)

LabVIEW程序設計模式(一)

作者: 時間:2017-01-09 來源:網(wǎng)絡 收藏
我是從LabVIEW的中文版幫助文檔中接觸“程序設計模式”一詞的,這個相對學術化的詞語是對一系列用于LabVIEW程序設計結(jié)構(gòu)的歸納和總結(jié)。在建造房子時,需要針對房子的用途設計整個房屋的架構(gòu),確保房子在這個架構(gòu)上的堅固性和可建造性。寫程序時同樣如此,不同的應用需要使用不同的程序設計結(jié)構(gòu)。例如我們在LabVIEW中構(gòu)建一個用戶界面型程序時,往往首先在背面板中加入一個大的while循環(huán)以使程序持續(xù)運行。如果需要響應用戶界面事件則還需要加入一個Event事件結(jié)構(gòu)。那么我們是否曾經(jīng)考慮過以下的這些問題:
  1. 應用中是否存在并行響應的情況?如在持續(xù)的數(shù)據(jù)采集過程中,是否需要同時響應單擊菜單的事件?
  2. 底層獲取的數(shù)據(jù)如何與上層的數(shù)據(jù)顯示部分進行數(shù)據(jù)交互?
  3. 上層的界面如何受底層程序的控制?
  4. 同一個循環(huán)中采用哪種方式進行數(shù)據(jù)交換?是局域變量、全局變量、共享變量還是移位寄存器?
  5. 程序是否具有可擴展性?
  6. 如果程序運行過程中,發(fā)生系統(tǒng)錯誤或者硬件通訊錯誤,是否會停止運行?待錯誤排除后是否會繼續(xù)運行?
  7. 如何組織程序中的核心數(shù)據(jù)結(jié)構(gòu)?是否需要采用面向?qū)ο蟪绦蛟O計?
  8. 如何記錄測試數(shù)據(jù)并生成報表?如何保存用戶配置參數(shù)?
  9. 如何處理程序運行中的斷電情況?重新啟動時的繼續(xù)運行?數(shù)據(jù)的最低丟失?
  10. 如何實現(xiàn)運行過程的采樣觸發(fā)和多點采樣的同步?
當然,也許只是使用LabVIEW臨時地調(diào)試或開發(fā)某個小的應用,無需考慮上述的問題。但是,如果使用LabVIEW開發(fā)一個典型應用的程序卻無法回避這些問題。因此,有必要對各種程序開發(fā)的應用進行歸納和總結(jié),提取它們對應的LabVIEW程序結(jié)構(gòu)中的共性。此外,針對這些共性研究哪種結(jié)構(gòu)更加適合于應用。這些結(jié)論綜合起來就形成了程序設計的模式。
對于初學者而言,理解和掌握程序設計模式往往能起到事半功倍的效果;而對高級用戶而言,歸納各種程序設計模式又能夠不斷完善程序中遇到的問題,并衍生一套符合特定應用的特有的程序設計模式。


評論


技術專區(qū)

關閉