《電子技術(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ù)包標識碼,、數(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中存放的功能,。
  因此,,當調(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所示,。


  實時趨勢曲線圖直觀地顯示了當前控制器的測量值,、給定值和控制值,大大降低了參數(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ù)處理,、圖形的繪制等方面具有相當出色的應(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)鍵,,其好壞直接影響控溫效果,。這一人機界面實時反映控制器當前狀態(tài),使操作者能夠及時調(diào)整控制器參數(shù),。同時,,手動操作的功能也有助于了解被控對象的特性,獲得第一手經(jīng)驗和技術(shù)訣竅,,用于引入“實時專家系統(tǒng)”,。
  (2)實驗數(shù)據(jù)的記錄與分析?;贓xcel電子表格的人機界面借用了Excel自帶的數(shù)據(jù)處理功能,,可以在曲線上重現(xiàn)歷史數(shù)據(jù),從分析和重現(xiàn)記錄的歷史數(shù)據(jù)中獲得有用經(jīng)驗,。
  (3)變換實驗方案,。基于Excel的實時監(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)品的整個生命周期?;贓xcel方案的最大缺點是運行速度比較慢,,原因為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)載。