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