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

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

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

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

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


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

 


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

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


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


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

 


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


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


參考文獻(xiàn)
[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)機(jī)幫助.2008.
[6] 北京亞控科技有限公司.組態(tài)王6.52聯(lián)機(jī)幫助.2007.
[7] Microsoft Corporation.Microsoft Excel在線幫助.2003.

 

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