《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 其他 > 設(shè)計應(yīng)用 > 基于Excel的實時監(jiān)控人機界面軟件的開發(fā)與應(yīng)用
基于Excel的實時監(jiān)控人機界面軟件的開發(fā)與應(yīng)用
黎 藜1,2,甘志銀1,2,張
摘要: 基于Excel開發(fā)實時監(jiān)控人機界面(HMI)軟件的技術(shù)路線,大大降低了實時監(jiān)控人機界面軟件的開發(fā)難度和工作量,大幅度地縮短了開發(fā)周期,節(jié)省了研發(fā)費用和投資;不僅使所開發(fā)出的軟件具有強大的實時監(jiān)控功能,而且還具有高度的靈活性和可拓展性,支持嵌入式系統(tǒng)項目的研發(fā)、生產(chǎn)及維護的整個生命周期的各個階段。
Abstract:
Key words :

  摘 要: 基于Excel開發(fā)實時監(jiān)控人機界面(HMI)軟件的技術(shù)路線,大大降低了實時監(jiān)控人機界面軟件的開發(fā)難度和工作量,大幅度地縮短了開發(fā)周期,節(jié)省了研發(fā)費用和投資;不僅使所開發(fā)出的軟件具有強大的實時監(jiān)控功能,而且還具有高度的靈活性和可拓展性,支持嵌入式系統(tǒng)項目的研發(fā)、生產(chǎn)及維護的整個生命周期的各個階段。
  關(guān)鍵詞: Excel;實時監(jiān)控;人機界面;BASIC語言

  對于以單片機為核心的嵌入式自動測控系統(tǒng),通常在系統(tǒng)開發(fā)階段需要借助微型計算機(PC機)來完成數(shù)據(jù)采集、數(shù)據(jù)分析、實時監(jiān)控、人機交互等任務(wù)。要有效地達到此目的,需要在PC機上安裝和運行一個實時監(jiān)控人機界面軟件,自動化或半自動化地完成上述任務(wù)。目前,主要有兩種開發(fā)實時監(jiān)控人機界面軟件的方法:(1)采用某種計算機語言直接編程實現(xiàn),如采用微軟的可視化編程語言VC++6.0[1]或VB 6.0[1]等;(2)在商品化的人機界面軟件框架的基礎(chǔ)上進行二次開發(fā)實現(xiàn),此類軟件框架在國外有InTouth[2]、WinCC[3]、RSView[4]等,國內(nèi)有“力控”[5]、“組態(tài)王”[6]等。第一種方法具有高度的靈活性和可拓展性,但要求開發(fā)者具有較高的計算機軟件技術(shù)水平,開發(fā)難度大,開發(fā)周期長。第二種方法降低了開發(fā)難度,但靈活性和可拓展性受到了很大限制,有些方面難以滿足實際要求,且此類商品化軟件框架的價格為幾千到十幾萬元,這是一筆不小的投資?;趯ι鲜鰞煞N方法優(yōu)缺點的認識,本文提出了一條新的技術(shù)路線:基于Excel[7]開發(fā)實時監(jiān)控人機界面軟件。采用這條新的技術(shù)路線,大大降低了實時監(jiān)控人機界面軟件的開發(fā)難度,大幅度縮短了開發(fā)周期,節(jié)省了研發(fā)費用和投資;同時,不僅使所開發(fā)出的軟件具有強大的實時監(jiān)控功能,而且還具有高度的靈活性和可拓展性,支持嵌入式系統(tǒng)項目的研發(fā)、生產(chǎn)和維護的整個生命周期的各個階段。

1 基于Excel的技術(shù)路線
  Excel是功能強大的電子表格處理軟件,其對象模型包括了一百多個不同的對象,從文本框、矩形等簡單對象到透視表、圖表等復(fù)雜對象。特別是它集成了與微軟VB 6.0相兼容的Visual Basic計算機語言,支持先進的面向?qū)ο蠛兔嫦虿考木幊碳夹g(shù),使得它成為了一個功能強大的軟件開發(fā)工具。開發(fā)基于Excel的人機界面應(yīng)用程序包括兩部分:設(shè)計用戶界面(GUI)和編寫代碼程序。
  傳統(tǒng)的應(yīng)用程序界面開發(fā)方法要編寫一大段程序語句。與此不同的是,本文利用了Excel集成的可視化Visual Basic編程語言和支持“快速原型法”的軟件開發(fā)模式,即使用“工具箱”中的若干控件,按照設(shè)計者的構(gòu)思,在指定位置“畫”出對用戶友好的界面。
  有了用戶界面后,對應(yīng)用界面要執(zhí)行的控件進行“事件驅(qū)動”,也就是執(zhí)行某個程序算法,使它按照設(shè)計者的意愿運行。這一技術(shù)路線把原來統(tǒng)一控制的大程序分解成為許多獨立、小規(guī)模的子程序,分別執(zhí)行事件。如利用Excel自帶的自動化編程技術(shù)“錄制宏”生成的程序模塊為樣板程序,或利用自有的或第三方的AciveX控件編程進行功能拓展。

2 實時監(jiān)控人機界面軟件的結(jié)構(gòu)
  在高性能恒溫晶振(OCXO)的科研項目中,開發(fā)了用于精密控制恒溫箱的實時監(jiān)控人機界面。該高精度溫度控制系統(tǒng)以微控制器MSC1210為核心組成嵌入式系統(tǒng)控制器,或稱為下位機。下位機通過RS232串口與上位機(PC機)通信,如圖1所示。


  通過與下位機的通信,對嵌入式系統(tǒng)的下位機進行監(jiān)控,自動記錄和顯示采樣數(shù)據(jù)、顯示工藝參數(shù)的實時趨勢曲線等。其軟件結(jié)構(gòu)如圖2所示。

 


  啟動模塊具有“啟動監(jiān)控中心”、“數(shù)據(jù)保存到文件”和初始化全局變量的功能。實時監(jiān)控中心可以控制通信開關(guān)、上載開關(guān)、選擇上載數(shù)據(jù)的處理方式,實時設(shè)置并顯示控制器參數(shù),以及實時顯示采樣數(shù)據(jù)。其中通信開關(guān)是其他功能按鈕的使能開關(guān),即只有打開通信開關(guān),上、下位機的通信開始工作后,其他功能按鈕才能工作。
3 主要功能模塊的設(shè)計介紹
3.1 通信模塊

  通信模塊是軟件設(shè)計的難點,其主要功能為實現(xiàn)上位機與下位機的通信,設(shè)計的關(guān)鍵在于上位機與下位機通信協(xié)議條款的制定及實現(xiàn)。上位機與下位機通信的穩(wěn)定性與正確性是實現(xiàn)實時監(jiān)控的前提,通信協(xié)議所制定的通信數(shù)據(jù)包格式一般需要設(shè)計成能完成基本的校驗功能,它包含有前導(dǎo)碼、數(shù)據(jù)包標(biāo)識碼、數(shù)據(jù)校驗碼和結(jié)束碼。
  為了減少編程的難度和工作量,采用微軟提供的串口通信AciveX控件MSCOMM32.OCX來實現(xiàn)與RS232串口硬件直接有關(guān)的底層功能。因此,通信模塊程序僅處理有關(guān)通信協(xié)議方面的高層功能,如收、發(fā)和校驗通信數(shù)據(jù)包,上載與下載控制器參數(shù)包,發(fā)送上位機向下位機下達的命令包等。


3.2 主監(jiān)控模塊
  主監(jiān)控模塊用于顯示最新上載數(shù)據(jù),包括給定值、測量值、控制值以及上載量、設(shè)置給定值、設(shè)置手動控制值以及切換控制方式。值得一提的是,這一實時監(jiān)控人機界面軟件可以實現(xiàn)無擾動切換自動與手動的控制方式,即在兩者相互切換的過程中,PWM占空比不會出現(xiàn)大幅度跳動,由此防止恒溫箱的輸入電流出現(xiàn)瞬時的大幅度變化,干擾整個電路的正常工作。圖3為主監(jiān)控模塊的操作界面。


3.3 實時數(shù)據(jù)記錄與保存模塊
  此模塊把從控制器上載的實時數(shù)據(jù)和相關(guān)的時間、工藝參數(shù)自動記錄到電子表格并將自動形成文件保存到硬盤中。
  模塊程序的編寫使用了Excel電子表格對象模型,并結(jié)合面向?qū)ο蟮木幊碳夹g(shù)來實現(xiàn)。采用了“錄制宏”的自動化編程技巧完成此項工作:首先,采用“錄制宏”,把手工操作實現(xiàn)數(shù)據(jù)記錄與保存的每個步驟錄制下來后,Excel就會自動給出一個實現(xiàn)相應(yīng)操作、采用BASIC面向?qū)ο笳Z言描述的程序模塊;然后,以此BASIC程序模塊為樣板程序,添加少量必要的程序流程控制語句和少量其他修改,調(diào)試通過后就完成了此模塊程序的編寫。
  從控制器上載的實時數(shù)據(jù)可以選擇直接寫入電子表格,或者在趨勢曲線上顯示后成批寫入電子表格。電子表格或趨勢曲線被設(shè)計成能夠顯示1 000組數(shù)據(jù),并按照記錄時間自動分配文件名保存到指定文件夾內(nèi),以便于將來對數(shù)據(jù)進行分析和處理。
3.4 控制器參數(shù)的實時修改和保存
  控制器參數(shù)的實時修改功能是專為控制器的調(diào)試設(shè)置的。在調(diào)試過程中,需要不斷調(diào)整控制器參數(shù)以尋找最佳值。把控制器的參數(shù)設(shè)計為存放在單片機的RAM中,每個參數(shù)均可按單獨下載刷新的方式方便地進行實時修改。同時,把存放在RAM的參數(shù)寫入閃存,以及把存放在閃存的參數(shù)恢復(fù)到RAM中存放的功能。
  因此,當(dāng)調(diào)試完成或告一段落時,就可以將控制器存放在RAM中的參數(shù)寫入閃存保存,作為最終產(chǎn)品的控制器參數(shù)或供下次實驗使用。控制器在上電復(fù)位的初始化的過程中,自動完成控制器參數(shù)的恢復(fù)或上次實驗參數(shù)的加載,從而減少調(diào)試的工作量。圖4為控制器參數(shù)的實時修改和保存界面。

 


3.5 實時趨勢曲線的顯示
  如果直接用計算機語言編寫顯示實時趨勢曲線的程序,將是難度很大且十分耗時的任務(wù)。因此,為了降低難度和節(jié)省開發(fā)時間,采用了微軟提供的圖形顯示AciveX控件MSCHRT20.OCX來完成這個任務(wù)。所獲得的實時趨勢曲線顯示效果如圖5所示。


  實時趨勢曲線圖直觀地顯示了當(dāng)前控制器的測量值、給定值和控制值,大大降低了參數(shù)調(diào)試的操作難度。
3.6 歷史數(shù)據(jù)的重現(xiàn)與分析(圖示分析或統(tǒng)計數(shù)值分析)
  實時數(shù)據(jù)的自動保存功能可以使歷史數(shù)據(jù)重現(xiàn)。Excel能完成絕大多數(shù)常用統(tǒng)計分析任務(wù)。同時,Excel電子表格在數(shù)據(jù)的預(yù)處理、圖形的繪制等方面具有相當(dāng)出色的應(yīng)用,其內(nèi)置函數(shù)數(shù)量多且使用方便,可以用于完成歷史數(shù)據(jù)的重現(xiàn)與分析。
4 在科研項目中的應(yīng)用
  上述實時監(jiān)控人機界面已在項目實驗中應(yīng)用,并借此工具對高精度恒溫箱的制造技術(shù)參數(shù)、工藝參數(shù)和控制參數(shù)進行了大量有價值的探索。
  (1)控制器參數(shù)的設(shè)置。其中,PID參數(shù)的設(shè)置是整個控溫的關(guān)鍵,其好壞直接影響控溫效果。這一人機界面實時反映控制器當(dāng)前狀態(tài),使操作者能夠及時調(diào)整控制器參數(shù)。同時,手動操作的功能也有助于了解被控對象的特性,獲得第一手經(jīng)驗和技術(shù)訣竅,用于引入“實時專家系統(tǒng)”。
  (2)實驗數(shù)據(jù)的記錄與分析。基于Excel電子表格的人機界面借用了Excel自帶的數(shù)據(jù)處理功能,可以在曲線上重現(xiàn)歷史數(shù)據(jù),從分析和重現(xiàn)記錄的歷史數(shù)據(jù)中獲得有用經(jīng)驗。
  (3)變換實驗方案?;贓xcel的實時監(jiān)控人機界面的開發(fā)簡便而有效,采用模塊式的編程方法,組態(tài)靈活、擴展容易,兼容性好,從而在變換實驗方案時能以較快速度進行擴展和升級維護,以適應(yīng)實驗方案的改變。
  (4)在項目產(chǎn)品生產(chǎn)階段,這一程序可擴展為產(chǎn)品測試檢驗軟件,自動生成產(chǎn)品質(zhì)量的檢驗文件,實現(xiàn)產(chǎn)品質(zhì)量的查詢、分析和跟蹤的電子化,并能夠向客戶提供合格產(chǎn)品的電子質(zhì)量報告文件。
  為嵌入式自動測控系統(tǒng)量身定制實時監(jiān)控人機界面軟件是一項技術(shù)復(fù)雜、難度大、開發(fā)周期長的任務(wù)。本文利用新的方法和技術(shù)路線達到了降低開發(fā)難度、縮短開發(fā)周期和節(jié)省研發(fā)費用的目的,并在嵌入式系統(tǒng)科研項目的應(yīng)用中獲得了很好的運行效果,驗證了新的技術(shù)路線的可行性和有效性。這一技術(shù)路線能有效支持嵌入式系統(tǒng)產(chǎn)品的整個生命周期。基于Excel方案的最大缺點是運行速度比較慢,原因為Excel的BASIC語言是解析執(zhí)行的。但是,基于Excel方案的程序很容易移植到微軟的VB6.0下編譯執(zhí)行。最終采用此方法,對基于Excel方案的程序進行移植處理后,不僅能夠提高程序的執(zhí)行速度,而且還可以按照商品化的形式發(fā)布程序。


參考文獻
[1] Microsoft Corporation.MSDN Library Visual Studio 6.0.1998.
[2] Invensys Systems,Inc.In touch user′s guide.2002.
[3] Siemens AG.SIMATIC HMI WinCC V6.0 Online Help.2005.
[4] Rockwell Software Inc.RSView32 user′s guide.1999.
[5] 北京三維力控科技有限公司.力控6.0聯(lián)機幫助.2008.
[6] 北京亞控科技有限公司.組態(tài)王6.52聯(lián)機幫助.2007.
[7] Microsoft Corporation.Microsoft Excel在線幫助.2003.

 

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。