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