趙建偉
(陜西國防工業(yè)職業(yè)技術(shù)學(xué)院機電系,陜西 西安 710000)
?
組態(tài)軟件實時數(shù)據(jù)庫的構(gòu)建
趙建偉
(陜西國防工業(yè)職業(yè)技術(shù)學(xué)院機電系,陜西 西安 710000)
摘要:本文介紹了組態(tài)軟件中的實時數(shù)據(jù)庫的概念,作用及建立方法,實時數(shù)據(jù)庫的總體結(jié)構(gòu)及設(shè)計方法。
關(guān)鍵詞:組態(tài);實時;數(shù)據(jù)庫
1組態(tài)軟件的總體結(jié)構(gòu)
組態(tài)軟件是通過事先定義對象的組態(tài)信息完成運行過程中對象的監(jiān)視和控制功能,并提供動態(tài)界面顯示的軟件,一般監(jiān)控組態(tài)軟件從結(jié)構(gòu)上可以分為設(shè)備接口(含通訊接口)、實時數(shù)據(jù)庫和界面顯示系統(tǒng)3個部分,設(shè)備接口與現(xiàn)場設(shè)備及控制裝置通訊,界面顯示根據(jù)實時數(shù)據(jù)庫中的數(shù)據(jù)生動形象地再現(xiàn)現(xiàn)場狀況。
2組態(tài)軟件中數(shù)據(jù)處理的特點
組態(tài)軟件中的數(shù)據(jù)必須能反映現(xiàn)場設(shè)備的“當(dāng)前”狀態(tài),其數(shù)據(jù)處理有3個特點:
2.1實時性,這是組態(tài)軟件必須滿足的要求,及時有效的監(jiān)控現(xiàn)場設(shè)備的狀態(tài)是組態(tài)軟件的主要功能。因此系統(tǒng)應(yīng)盡可能快地處理和傳輸數(shù)據(jù)。
2.2時間特性,組態(tài)軟件中處理的數(shù)據(jù)都帶有時間標(biāo)記,要求軟件必須在可預(yù)測的時間內(nèi)將數(shù)據(jù)處理完成。
2.3實時中斷,更新的數(shù)據(jù)是組態(tài)軟件需要處理的主要數(shù)據(jù),在新的數(shù)據(jù)到來時,應(yīng)中斷當(dāng)前的數(shù)據(jù)處理,否則將出現(xiàn)所有數(shù)據(jù)的延遲。
3組態(tài)軟件中實時數(shù)據(jù)庫的功能
實時數(shù)據(jù)庫位于設(shè)備接口和界面顯示的中間層,是組態(tài)軟件中數(shù)據(jù)的管理者,實時數(shù)據(jù)庫主要完成組態(tài)策略的存儲,通訊數(shù)據(jù)管理,實時數(shù)據(jù)的處理和計算,控制策略及算法的計算和下載,歷史數(shù)據(jù)的轉(zhuǎn)化、存儲和查詢及實時曲線的生成,監(jiān)控軟件在運行的過程中需要頻繁讀取組態(tài)信息,處理和保存實時數(shù)據(jù),實時數(shù)據(jù)庫的性能將直接決定整個組態(tài)軟件的可用性。
4商用數(shù)據(jù)庫的特點
組態(tài)軟件運行期間將產(chǎn)生大量數(shù)據(jù),這些數(shù)據(jù)需要進行分類整理并作為歷史數(shù)據(jù)保存,如果將大量的數(shù)據(jù)存儲在幾個文件中,將不利已數(shù)據(jù)查找,商用數(shù)據(jù)庫的目標(biāo)就是對大量數(shù)據(jù)進行有效管理,成熟的關(guān)系型數(shù)據(jù)庫在關(guān)系存儲,數(shù)據(jù)查找、恢復(fù),數(shù)據(jù)庫備份及復(fù)雜的事務(wù)處理,并發(fā)控制,完整性、一致性的實現(xiàn)等方面都已經(jīng)相當(dāng)完善,具有管理數(shù)據(jù)的優(yōu)勢,隨著商用數(shù)據(jù)庫價格越來越低,將商用數(shù)據(jù)庫作為組態(tài)軟件的后臺數(shù)據(jù)庫管理數(shù)據(jù)十分可行。
5商用數(shù)據(jù)在組態(tài)軟件中的局限性
5.1大量的I/O操作造成系統(tǒng)長時間的等待,由于監(jiān)控系統(tǒng)定時采集和輸出數(shù)據(jù)的特點會引起軟件頻繁地讀寫數(shù)據(jù)、更改日志等大量磁盤操作,這些操作帶來大量的磁盤I/O讀寫,造成系統(tǒng)長時間等待,這對于實時性要求很高的控制系統(tǒng)來說是無法忍受的。
5.2事務(wù)的不可預(yù)測性,組態(tài)軟件的事務(wù)必須在可預(yù)測的時間內(nèi)完成,否則可能會影響整個系統(tǒng)的工作或者產(chǎn)生錯誤數(shù)據(jù),而商用數(shù)據(jù)頻繁的I/O磁盤操作不能保證在規(guī)定的時間內(nèi)完成規(guī)定的操作,導(dǎo)致其在組態(tài)軟件中應(yīng)用受到一定的限制。
5.3實時數(shù)據(jù)庫的框架結(jié)構(gòu)
充分發(fā)揮商用數(shù)據(jù)庫管理數(shù)據(jù)的優(yōu)勢,將商用數(shù)據(jù)庫與內(nèi)存數(shù)據(jù)庫相結(jié)合實現(xiàn)組態(tài)軟件中的實時數(shù)據(jù)庫是一個較好的解決方案,內(nèi)存數(shù)據(jù)庫主要完成實時數(shù)據(jù)的處理,商用數(shù)據(jù)庫則完成歷史數(shù)據(jù)的管理和分類。
6實時數(shù)據(jù)庫總體結(jié)構(gòu)
根據(jù)設(shè)計方案,實時數(shù)據(jù)庫的實現(xiàn)分為內(nèi)存管理、內(nèi)存訪問、流程實現(xiàn)、接口管理、數(shù)據(jù)庫訪問等幾個主要部分。
6.1內(nèi)存管理。內(nèi)存中存放的數(shù)據(jù)主要是組態(tài)信息和實時數(shù)據(jù),在運行過程中,組態(tài)信息的數(shù)據(jù)不再變化,但是需要頻繁的被查詢,查詢的方法將直接影響系統(tǒng)的效率,監(jiān)控系統(tǒng)實時數(shù)據(jù)需要對內(nèi)存頻繁的進行更改、插入、刪除和查詢操作,如何在內(nèi)存中規(guī)劃出有效的數(shù)據(jù)存儲結(jié)構(gòu)以快速執(zhí)行這些操作將直接影響系統(tǒng)的性能。
6.2內(nèi)存訪問。在組態(tài)軟件中,底層設(shè)備接口的訪問、顯示界面讀數(shù)據(jù)、遠程網(wǎng)絡(luò)監(jiān)控修改和讀取數(shù)據(jù)等任務(wù)都需要對內(nèi)存數(shù)據(jù)進行讀寫,提供不同的內(nèi)存訪問接口實現(xiàn)這些功能;組態(tài)軟件采用多線程的工作機制,如果多個線程同時對同一塊數(shù)據(jù)區(qū)進行讀寫將產(chǎn)生不正確數(shù)據(jù),影響監(jiān)控軟件的穩(wěn)定性;數(shù)據(jù)更改的觸發(fā)器特性要求相關(guān)變量根據(jù)組態(tài)時提供的公式進行計算,變量之間有一定的約束條件;所有這些特性在讀寫數(shù)據(jù)時都應(yīng)當(dāng)處理,為此在管理內(nèi)存之外增加了訪問層來處理這些操作,確保訪問的安全和系統(tǒng)的穩(wěn)定。
6.3流程實現(xiàn)。流程包括定時對數(shù)據(jù)進行采集、報警計算、數(shù)據(jù)的非線性計算、控制邏輯的實現(xiàn)、運算變量的計算等,這些都是監(jiān)控軟件中必須實現(xiàn)的功能,也是監(jiān)控軟件區(qū)別于其它軟件的主要特征,在軟件中必須有特定的模塊來支持,同時,這些操作有一定的順序,必須按照步驟依次進行計算。
實時數(shù)據(jù)庫的規(guī)劃設(shè)計是組態(tài)軟件的核心,它直接關(guān)系到組態(tài)軟件的實時性、可靠性和穩(wěn)定性,因此對實時數(shù)據(jù)庫的設(shè)計要求精簡、緊湊、可靠。采用傳統(tǒng)的數(shù)據(jù)庫系統(tǒng)、文件管理系統(tǒng)和內(nèi)存緩沖區(qū)三者相結(jié)合的方法,利用多種存儲介質(zhì)來構(gòu)建實時數(shù)據(jù)庫系統(tǒng),從而滿足組態(tài)軟件對實時性的要求。將面向?qū)ο蟮木幊趟枷胍雽崟r數(shù)據(jù)庫的設(shè)計中,運用平衡數(shù)據(jù)結(jié)構(gòu)存儲實時數(shù)據(jù),能夠大大提高數(shù)據(jù)的訪問速度;用來描述組態(tài)參數(shù),方便用戶描述和交換數(shù)據(jù)。利用動態(tài)鏈接庫來建立組態(tài)軟件運行實時數(shù)據(jù)庫,通過提供一組接口函數(shù)來實現(xiàn)對實時數(shù)據(jù)庫的訪問,是實時數(shù)據(jù)庫系統(tǒng)可以與設(shè)備無關(guān),從而具有全面的開放性和很強的通用性。
中圖分類號:TP392
文獻標(biāo)志碼:A
文章編號:1671-1602(2016)08-00010-01
作者簡介:趙建偉,男,高級工程師,四川威遠人,主要從事為機電一體化技術(shù)方面的教學(xué)與研究工作。