劉佳佳 竇宇宏 趙庚怡
【摘 要】 針對基于CAN總線的分布式海洋站觀測數據采集系統,以MCGS為例對組態軟件的特點和開發流程進行了詳細描述,并與傳統上位機軟件開發方式進行了比較。根據海洋站觀測的特點和業務需求,對上位機軟件進行組態化開發。結合CAN總線技術在分布式數據采集方面的特點,論證了基于組態技術的分布式海洋站觀測數據采集系統在系統結構、開發周期、開發難度、升級維護等方面與傳統方式相比所具有的顯著優勢。并對軟件開發和系統升級維護制定了簡單、易用的通用工作流程。
【關鍵詞】 組態 分布式 海洋站觀測系統 數據采集
【Abstract】 Characteristics and developing progress of MCGS as a configuration software is described in detail and it is compared to traditional PC software developing method for distributed station-based ocean observation data acquisition system. The software is developed with configuration platform according to the professional requirements and features of station-based ocean observation. Combined with the characteristics of distributed data acquisition based on CAN-bus, the remarkable advantage and superiority are illustrated in terms of system structure, developing period, developing difficulty, system upgrade and maintenance by being compared with traditional software developing method. A general and easy-to-use developing process is offered for software development, system upgrade and maintenance.
【Key words】 Configuration distributed station-based ocean observation system data acquisition
目前,我國海洋觀測站所采用的觀測系統為集中式結構。集中式數據采集方式由于結構封閉,導致傳感器獨立性不強,互換性差,當擴充觀測功能,增加新的要素傳感器時,不能直接進行升級,必須對數據采集器進行更換,從而造成重復建設和資源浪費。筆者曾將基于CAN總線的分布式數據采集技術應用到海洋站觀測數據采集系統中,并驗證了其應用可行性。以開放式的結構代替了傳統封閉式的結構,實現了系統硬件結構的優化[1]。但在上位機軟件開發還是采用原有的C++ Builder開發平臺,采用虛擬CAN接口函數庫,即VCI函數庫,實現對CAN網絡的控制。此種編程方法對熟悉高級程序語言開發的人員來說是一種較為便捷的開發方式,但后期進行系統升級時需要對程序代碼和界面進行修改并重新進行測試后才能部署。而此項工作無法在海洋觀測站現場由非專業軟件開發人員在短時間內完成。因此即使能夠在現場完成硬件設備的升級,也無法真正實現整個系統的現場快速升級。而對于業務化運行的海洋站觀測系統,為了使分布式的系統在系統升級和組網的時候具有更高的靈活性,應當考慮使用組態軟件進行系統軟件開發。通過組態軟件開發方式可以取代傳統程序開發中漫長的代碼編寫過程,大大縮短軟件開發流程并降低開發難度。當需要為觀測系統增減觀測要素時,只需增減軟件界面上對應的可視化控件和相應的數據對象及相應腳本,在上位機上現場進行簡單操作便可實現系統軟件升級。
1 基于CAN總線的分布式海洋站觀測數據采集系統
為了解決當前海洋站觀測數據采集方式的局限性和由此帶來的相關問題,本項目在對海濱觀測業務需求和海洋環境進行分析的基礎上,將目前在國際上廣泛應用在汽車控制、工業現場的CAN總線技術引入到海洋站觀測數據采集系統中來。CAN總線為多主結構網絡,根據信息幀優先級進行總線訪問,大大提高了系統的性能。總線采用短幀報文結構,實時性好,并具有完善的數據校驗、錯誤處理以及檢錯機制。此外CAN總線節點在嚴重錯誤下會自動脫離總線,對總線通訊沒有影響。CAN-bus網絡中,數據收發、硬件檢錯均由CAN控制器硬件完成,大大增強了CAN-bus網絡的抗電磁干擾能力。CAN總線適用于節點數目多,傳輸距離在10公里以內,對實時性和安全性要求較高的場合。因此,CAN總線的適用范圍與海洋環境現場觀測的需求較為相符。
CAN總線網絡可以通過基于單片機的方式或基于PC機的方式進行主從節點開發。由于目前海洋觀測站均配有工控PC,因此適于選用基于x86平臺的方式進行系統開發[2]。本項目采用基于iCAN應用層協議的功能模塊和CAN智能協議轉換模塊和傳感器組成智能子節點。根據傳感器的不同信號輸出類型選擇相對應的功能模塊。對于距值班室較遠的測點可以利用網關將總線信號轉換為以太網信號通過網線進行傳輸。主節點采用在工控PC上安裝CAN接口卡的方式實現。通過分布式數據采集方式替代集中式數據采集方式,使原有的封閉結構變為開放式,將系統需要升級擴容時,可直接將新傳感器根據信號輸出類型接入到對應的功能模塊,即可在現場快速完成系統硬件升級。而無須像傳統的集中式數據采集器一樣需要重新設計并制造數據采集電路,經過調試和試運行等漫長周期才能完成系統升級。endprint
2 傳統方式開發上位機軟件
傳統的集中式海洋站觀測系統上位機軟件是在C++ Builder平臺上開發的。同時,C++ Builder也可以作為開發平臺用于基于CAN總線的分布式觀測系統上位機軟件的開發。通過調用VCI(虛擬CAN接口)函數庫的方式實現對接口的控制。VCI函數庫是位于應用程序到驅動程序之間的中間層,有效地把調用程序的一些繁瑣復雜的步驟隱藏起來,提供給用于一個統一、簡單的應用接口。而對于基于應用層協議的接口程序開發則是要調用建立在PC-CAN接口卡和VCI函數庫基礎之上的主站函數DLL庫,實現對網絡的控制。
該種軟件開發方式利用調用函數庫的方式對接口進行控制比起直接操作接口函數去控制接口已經省去了很多復雜的開發步驟,但當觀測系統需要升級擴容時,上位機軟件也要重新修改代碼重新編譯和進行程序測試,其修改周期少則幾周多則數月。如原先的軟件開發人員已經離開,則整個軟件可能要進行重新開發,可能會需要更長的時間,因此盡管系統硬件可以在現場完成快速升級,其上位機軟件也無法在短時間內完成相應的升級,從而影響整個觀測系統升級的進度。
3 組態方式開發上位機軟件
3.1 什么是組態軟件
簡單地將,組態就是用應用軟件中提供的工具、方法,完成工程中某一具體任務的過程。在組態的概念出現之前,要實現某一軟件開發任務,都是通過編寫程序(如使用VC,VB等)來實現的,不但工作量大、周期長,而且容易犯錯誤,不能保證工期。而組態軟件的出現,解決了這個問題,對于過去需要幾個月的工作,通過組態幾天就可以完成。
3.2 系統軟件設計需求
組態軟件的專業性較強,本項目使用在工業計算機控制領域較為成熟的組態軟件MCGS,結合海洋站自動觀測系統的業務需求對系統軟件進行開發。用MCGS軟件設計出的海洋站觀測系統軟件要求具備以下主要功能:
(1)具有數據采集功能,使監控軟件中心能實時接收現場氣象傳感器和水文傳感器的采集數據,并保證數據傳輸的準確性。(2)具有數據分析處理功能,能對歷史數據進行查詢、統計以及按照日月年進行報表輸出打印。(3)通過畫面組態能直觀的顯示各個傳感器采集的實時測量值。(4)具有測量值超限的報警功能,用戶根據實際情況,可以修改上下限的值。以便對測量信息的有效分析和設備的安全運行。(5)通過MCGS變量,對數據庫實現各種操作和數據處理。系統中需要將數據按照所設定時間存入數據庫中,同時也能將數據庫中的數據讀入至MCGS中。
3.3 監控軟件功能模塊設計
按照對系統功能的需求分析,整個系統軟件主要完成數據監測、數據處理、系統設置、報表輸出、超限報警以及數據庫鏈接。因此可以將總體系統規劃為幾個模塊,主要分為參數設置,系統自檢,數據采集,歷史數據曲線,超限報警等。系統總體框架如圖2所示。參數設置主要是報警值的設置以及存儲周期的設置,即用戶在此模塊中可以根據實際情況改變水文氣象觀測值參數的上下限,這樣報警范圍就會發生變化。而存儲周期的設置用于確定數據多長時間存入數據庫中一次;系統自檢為監測與硬件設備通訊是否正常;數據采集為各個要素的實時觀測值。歷史數據曲線可以查看過去一段時間內的氣象水文要素測量值的變化趨勢;報警模塊與前面的參數設置模塊相對應,用于顯示報警信息。
3.4 開發步驟
利用MCGS組態軟件進行項目開發,一般分為以下步驟:
(1)安裝并運行ZOPC_Server服務器軟件。ZOPC_SERVER作為CAN-bus數據接收/發送服務器,一方面將MCGS要發送的命令和數據寫進CAN接口卡,另一方面將CAN接口卡從CAN總線上收集來的數據讀取出來送給MCGS進行處理。通過軟件菜單添加主站和從站并啟動服務器。(2)建立MCGC工程,制作工程畫面。從工具箱中向用戶窗口插入元件、符號和標簽搭建顯示界面。包括實時數據標簽、動畫元件、歷史數據曲線和報表等。(3)定義數據對象。實時數據庫是整個工程的數據交換和數據處理中心,它把MCGS工程的各個部分連接成一個有機的整體。首先,根據海濱觀測規范的要求制定各觀測要素測量值(數據變量)的名稱、類型、初始值和范圍。然后,確定與數據變量存盤相關的參數(存盤周期、存盤時間范圍和保存期限)。(4)動畫連接。將第2步中建立的用戶窗口中的圖形對象與實時數據庫中的數據對象建立相關性連接,并設置相應的動畫屬性。在屬性窗口的表達式選項中根據信號輸出特性輸入相應的表達式。在系統運行過程中,圖形對象的外觀和狀態特征由數據對象的實時采集值驅動,從而實現了圖形的動畫效果。(5)設備連接。在設備窗口中添加OPC設備,并指定在第1步中啟動的OPC服務器。即可對連接到OPC服務器的各通道進行設置和調試。(6)制定運行策略。通過對運行策略的定義,是系統能夠按照設定的順序和條件操作實時數據庫,實現對外部設備工作過程的精確控制。當觀測數據超過正常范圍時,由用戶策略控制系統進行報警。
3.5 升級維護
當觀測系統進行擴容升級時,需要對上位機軟件做出相應的改動。由于使用組態軟件開發的是基于模塊化的應用軟件。所以只需在用戶窗口中添加新增觀測要素的顯示圖形對象,并在實時數據庫中添加新增的數據對象并將其與用戶窗口的圖形對象進行關聯,對設備通道進行簡單的設置并適當調整策略,無需編寫代碼只要進行配置即可在現場完成軟件升級。
4 組態軟件開發方式與傳統軟件開發方式對比
和傳統軟件開發方式相比,組態軟件的主要特點有:
(1)延續性和可擴充性。使用組態軟件開發的應用程序,當現場(包括硬件設備或系統結構)或用戶需求發生改變時,不需作很多修改而方便地完成軟件的更新和升級。(2)封裝性。組態軟件所能完成的功能都用一種方便用戶使用的方法包裝起來,對于用戶,不需掌握太多的編程語言技術(甚至不需要編程技術),就能很好地完成一個復雜工程所要求的所有功能。(3)通用性。即使觀測系統采用不同廠家生產的觀測設備,組態軟件利用其豐富的底層設備驅動程序、開放式的數據庫和畫面制作工具,就能完成一個具有實時數據顯示及動畫效果、實時數據處理、歷史數據回放和數據曲線等功能的軟件。endprint
5 組態軟件在分布式海洋站觀測數據采集系統中的應用
由于組態軟件的通用性,使其廣泛應用于各種工業控制領域,其可用性已經得到了充分驗證。 和工業控制相比,海洋觀測具有其特殊性。
由表2可以看到無論在系統結構、監控方式、網絡規模還是業務需求方面,海洋站觀測系統比大多數工業控制領域的系統結構簡單且性能要求較低。因此,使用廣泛應用在工控領域的組態軟件能夠進行海洋站觀測數據采集系統軟件的開發。
6 結語
通過為期三個月的測試,基于組態技術開發的海洋站觀測系統軟件運行正常。且可以在很短時間對系統的軟硬件結構進行擴充或裁剪,實現了海洋站觀測系統真正的快速升級。基于CAN總線技術的分布式海洋站觀測系統的可用性已在該項目中得到驗證,若將組態技術結合CAN總線技術廣泛應用到全國海洋站觀測系統當中,可以大幅縮短系統升級所需要的時間,可由海洋站工作人員在現場完成硬件升級并在臺站上位機上直接完成軟件升級,能夠提高工作效率并大大節省人力物力。
參考文獻
[1]劉佳佳,趙庚怡,竇宇宏.基于iCAN網絡的海洋觀測數據采集系統通用原型設計[J].海洋技術,2013,32(4):1-3.
[2]周立功.iCAN現場總線原理與應用[M].北京航空航天大學出版社,2007.
[3]國家海洋局北海分局,GB/T14914-2006,海濱觀測規范[S].中華人民共和國國家質量監督檢驗檢疫總局;中國國家標準化管理委員會,2006.
[4]許文竹.基于MCGS組態軟件的水環境多因子監控系統[D].江蘇大學,2006.
[5]楊興果.基于MCGS與CAN-bus的石墨電極生產過程參數監測網設計[D].湖南大學,2007.
[6]馮江濤.基于MCGS和iCAN的分布式監控系統[J].工業控制計算,2008,21(2):1-2.
[7]韓立,尹愛軍.基于組態技術的測控軟件開發及測試[J].中國測試,2010,36(4):1-3.
[8]龐傳和,王飛.應用MCGS 組態軟件開發溫度、濕熱試驗設備控制系統[J].飛航導彈,2004(5):1-2.
[9]周立功單片機發展有限公司,基于iCAN協議的CAN-bus分布式控制系統[J].單片機與嵌入式系統應用,2006(04).endprint
5 組態軟件在分布式海洋站觀測數據采集系統中的應用
由于組態軟件的通用性,使其廣泛應用于各種工業控制領域,其可用性已經得到了充分驗證。 和工業控制相比,海洋觀測具有其特殊性。
由表2可以看到無論在系統結構、監控方式、網絡規模還是業務需求方面,海洋站觀測系統比大多數工業控制領域的系統結構簡單且性能要求較低。因此,使用廣泛應用在工控領域的組態軟件能夠進行海洋站觀測數據采集系統軟件的開發。
6 結語
通過為期三個月的測試,基于組態技術開發的海洋站觀測系統軟件運行正常。且可以在很短時間對系統的軟硬件結構進行擴充或裁剪,實現了海洋站觀測系統真正的快速升級。基于CAN總線技術的分布式海洋站觀測系統的可用性已在該項目中得到驗證,若將組態技術結合CAN總線技術廣泛應用到全國海洋站觀測系統當中,可以大幅縮短系統升級所需要的時間,可由海洋站工作人員在現場完成硬件升級并在臺站上位機上直接完成軟件升級,能夠提高工作效率并大大節省人力物力。
參考文獻
[1]劉佳佳,趙庚怡,竇宇宏.基于iCAN網絡的海洋觀測數據采集系統通用原型設計[J].海洋技術,2013,32(4):1-3.
[2]周立功.iCAN現場總線原理與應用[M].北京航空航天大學出版社,2007.
[3]國家海洋局北海分局,GB/T14914-2006,海濱觀測規范[S].中華人民共和國國家質量監督檢驗檢疫總局;中國國家標準化管理委員會,2006.
[4]許文竹.基于MCGS組態軟件的水環境多因子監控系統[D].江蘇大學,2006.
[5]楊興果.基于MCGS與CAN-bus的石墨電極生產過程參數監測網設計[D].湖南大學,2007.
[6]馮江濤.基于MCGS和iCAN的分布式監控系統[J].工業控制計算,2008,21(2):1-2.
[7]韓立,尹愛軍.基于組態技術的測控軟件開發及測試[J].中國測試,2010,36(4):1-3.
[8]龐傳和,王飛.應用MCGS 組態軟件開發溫度、濕熱試驗設備控制系統[J].飛航導彈,2004(5):1-2.
[9]周立功單片機發展有限公司,基于iCAN協議的CAN-bus分布式控制系統[J].單片機與嵌入式系統應用,2006(04).endprint
5 組態軟件在分布式海洋站觀測數據采集系統中的應用
由于組態軟件的通用性,使其廣泛應用于各種工業控制領域,其可用性已經得到了充分驗證。 和工業控制相比,海洋觀測具有其特殊性。
由表2可以看到無論在系統結構、監控方式、網絡規模還是業務需求方面,海洋站觀測系統比大多數工業控制領域的系統結構簡單且性能要求較低。因此,使用廣泛應用在工控領域的組態軟件能夠進行海洋站觀測數據采集系統軟件的開發。
6 結語
通過為期三個月的測試,基于組態技術開發的海洋站觀測系統軟件運行正常。且可以在很短時間對系統的軟硬件結構進行擴充或裁剪,實現了海洋站觀測系統真正的快速升級。基于CAN總線技術的分布式海洋站觀測系統的可用性已在該項目中得到驗證,若將組態技術結合CAN總線技術廣泛應用到全國海洋站觀測系統當中,可以大幅縮短系統升級所需要的時間,可由海洋站工作人員在現場完成硬件升級并在臺站上位機上直接完成軟件升級,能夠提高工作效率并大大節省人力物力。
參考文獻
[1]劉佳佳,趙庚怡,竇宇宏.基于iCAN網絡的海洋觀測數據采集系統通用原型設計[J].海洋技術,2013,32(4):1-3.
[2]周立功.iCAN現場總線原理與應用[M].北京航空航天大學出版社,2007.
[3]國家海洋局北海分局,GB/T14914-2006,海濱觀測規范[S].中華人民共和國國家質量監督檢驗檢疫總局;中國國家標準化管理委員會,2006.
[4]許文竹.基于MCGS組態軟件的水環境多因子監控系統[D].江蘇大學,2006.
[5]楊興果.基于MCGS與CAN-bus的石墨電極生產過程參數監測網設計[D].湖南大學,2007.
[6]馮江濤.基于MCGS和iCAN的分布式監控系統[J].工業控制計算,2008,21(2):1-2.
[7]韓立,尹愛軍.基于組態技術的測控軟件開發及測試[J].中國測試,2010,36(4):1-3.
[8]龐傳和,王飛.應用MCGS 組態軟件開發溫度、濕熱試驗設備控制系統[J].飛航導彈,2004(5):1-2.
[9]周立功單片機發展有限公司,基于iCAN協議的CAN-bus分布式控制系統[J].單片機與嵌入式系統應用,2006(04).endprint