彭瑩
摘 要:本文通過結合筆者自身從事組態(tài)軟件實時數(shù)據(jù)庫設計開發(fā)的經(jīng)驗,向讀者介紹基于面向對象組態(tài)軟件實時數(shù)據(jù)庫的設計思想以及實現(xiàn)設計的方法。根據(jù)實時數(shù)據(jù)庫的特征,提出了相應的方法,使用設計模式對數(shù)據(jù)進行緩存,可大大提升訪問效率;除此之外,還提出了數(shù)據(jù)模型與其他應用機制的通信方式和實現(xiàn)的方法,此種實時數(shù)據(jù)庫系統(tǒng)的建立,在傳遞數(shù)據(jù)時會更加及時、準確、穩(wěn)定。
關鍵詞:面向對象;組態(tài)軟件;實時數(shù)據(jù)庫;設計模式;XML
一、實時數(shù)據(jù)庫的設計
1.實時數(shù)據(jù)庫的系統(tǒng)結構
通過通信的程序系統(tǒng),組態(tài)軟件可以搜集到現(xiàn)場設備的實時數(shù)據(jù),并將這些實時數(shù)據(jù)進行加工,經(jīng)過必要加工后,在計算機屏幕上即可顯示圖形形式的數(shù)據(jù),觀察時會更加直觀。另外,依循組態(tài)軟件的要求以及現(xiàn)場操作人員發(fā)放的指令,控制數(shù)據(jù)會傳輸至I/O設備,以便控制實施設備或者對參數(shù)進行控制或調整。
2.實時數(shù)據(jù)庫的設計
實時數(shù)據(jù)的管理是組態(tài)軟件的關鍵,也是其核心部分,組態(tài)軟件實時數(shù)據(jù)庫要在一定的基礎上建立,如,數(shù)據(jù)的及時采集、歷史數(shù)據(jù)、實時數(shù)據(jù)以及統(tǒng)計數(shù)據(jù)的管理和儲存等功能都是組態(tài)軟件實時數(shù)據(jù)庫的模塊組成部分。它向用戶提供了接口,現(xiàn)場的控制系統(tǒng)以及人工輸入的相關數(shù)據(jù)能夠呈現(xiàn)在用戶面前,方便用戶進行數(shù)據(jù)分析。另外,可以對控制系統(tǒng)情況提出反饋,并控制輸出。在生產(chǎn)工程中,可以為實現(xiàn)控制、優(yōu)化以及其他應用提出先進的實時數(shù)據(jù)輸出輸入服務。
(1)實時數(shù)據(jù)庫的存儲策略。實時數(shù)據(jù)系統(tǒng)設計在實際情況下需要對時空矛盾進行處理。要對數(shù)據(jù)傳輸?shù)男室筮M行思考。想要保障組態(tài)軟件的實時性,需要將與其相關聯(lián)的數(shù)據(jù)庫系統(tǒng)、內存緩沖區(qū)以及文件管理系統(tǒng)三個存儲系統(tǒng)相結合,將多種存儲介質結合并加以有效利用,構建成為實時數(shù)據(jù)庫系統(tǒng)。實時數(shù)據(jù)在進行存儲時,主要依照以下幾個原則:①采集其相關聯(lián)的數(shù)據(jù)庫的數(shù)據(jù)。②采集內存緩沖區(qū)中經(jīng)常變化的實時數(shù)據(jù)以及訪問較頻繁的數(shù)據(jù)。
(2)組態(tài)軟件參數(shù)數(shù)據(jù)的模型。組態(tài)軟件參數(shù)是系統(tǒng)開發(fā)與系統(tǒng)安穩(wěn)運行的橋梁和紐帶,對工程設備、數(shù)據(jù)采集點以及工程的圖形、變量等信息進行描述,以供運行系統(tǒng)的識別和加載,最終形成現(xiàn)場的監(jiān)控畫面的相關數(shù)據(jù)。
二、實時數(shù)據(jù)庫的實現(xiàn)方式
1. XML
組態(tài)軟件中的開發(fā)和運行系統(tǒng)存在獨立運行的可能性,組態(tài)軟件參數(shù)定義于開發(fā)系統(tǒng),是開發(fā)和運行的橋梁和紐帶。XML系統(tǒng)靈活、擴展性好,為計算機的文檔提供了標準的模板格式,對數(shù)據(jù)之間的交換和信息之間的共享起到關鍵性作用。由此可見,組態(tài)軟件參數(shù)在對數(shù)據(jù)進行存儲時可采用XML。
2. Timer定時器
在進行相關數(shù)據(jù)采集時需要定時,如果采集點的采集算法中融入了定時執(zhí)行算法,采集算法難度就大大增加了,并且對軟件的重復使用性和可維護性都會有所影響。綜上可見,在采集數(shù)據(jù)時,可以采用面向對象Java語言內的Timer來對定時器管理類進行創(chuàng)建,在采集數(shù)據(jù)定時執(zhí)行的過程中,可以分離開定式算法和采集數(shù)據(jù)算法。
3.Web Service
實時數(shù)據(jù)庫與其他系統(tǒng)需要進行相互通信,因此,需要向其提供系統(tǒng)整合途徑。Web Service可以實現(xiàn)跨平臺操作,基于XML等與軟件供應商和平臺的獨立標準,搭建了可以相互操作、分布式的新平臺,實現(xiàn)了遠程數(shù)據(jù)的相互交換。將Web服務定義于應用程序和實時數(shù)據(jù)庫的接口,遠程操控,這樣在很大程度上提高了實時數(shù)據(jù)庫的標準及開放性。
綜上所述,組態(tài)軟件數(shù)據(jù)的處理關鍵和基礎是實時數(shù)據(jù),因此,在實時數(shù)據(jù)的設計過程中,需要考慮到實時數(shù)據(jù)庫的時效性、開放性和獨立性。將面向對象的思維應用于組態(tài)軟件實時數(shù)據(jù)庫的設計中,采用XML存儲組態(tài)軟件參數(shù)讀取參數(shù),將參數(shù)緩存在內存處,不斷提升訪問數(shù)據(jù)的效率;采用Timer將定式算法和采集數(shù)據(jù)算法相分離;采用Web Service對實時數(shù)據(jù)庫接口定義,讓實時數(shù)據(jù)庫具備更強大的分布式能力。
參考文獻:
[1]馬華兵,張 齊.基于面向對象的組態(tài)軟件實時數(shù)據(jù)庫的設計[J].信息通用技術,2009,3(1):64-68.
[2]韓玫瑰,史明華,馬 濤,等.DCS組態(tài)軟件實時數(shù)據(jù)庫系統(tǒng)的設計[J].自動化儀表,2006,27(1): 18-21.