趙建偉
(陜西國防工業職業技術學院機電系,陜西 西安 710000)
?
組態軟件實時數據庫的構建
趙建偉
(陜西國防工業職業技術學院機電系,陜西 西安 710000)
摘要:本文介紹了組態軟件中的實時數據庫的概念,作用及建立方法,實時數據庫的總體結構及設計方法。
關鍵詞:組態;實時;數據庫
1組態軟件的總體結構
組態軟件是通過事先定義對象的組態信息完成運行過程中對象的監視和控制功能,并提供動態界面顯示的軟件,一般監控組態軟件從結構上可以分為設備接口(含通訊接口)、實時數據庫和界面顯示系統3個部分,設備接口與現場設備及控制裝置通訊,界面顯示根據實時數據庫中的數據生動形象地再現現場狀況。
2組態軟件中數據處理的特點
組態軟件中的數據必須能反映現場設備的“當前”狀態,其數據處理有3個特點:
2.1實時性,這是組態軟件必須滿足的要求,及時有效的監控現場設備的狀態是組態軟件的主要功能。因此系統應盡可能快地處理和傳輸數據。
2.2時間特性,組態軟件中處理的數據都帶有時間標記,要求軟件必須在可預測的時間內將數據處理完成。
2.3實時中斷,更新的數據是組態軟件需要處理的主要數據,在新的數據到來時,應中斷當前的數據處理,否則將出現所有數據的延遲。
3組態軟件中實時數據庫的功能
實時數據庫位于設備接口和界面顯示的中間層,是組態軟件中數據的管理者,實時數據庫主要完成組態策略的存儲,通訊數據管理,實時數據的處理和計算,控制策略及算法的計算和下載,歷史數據的轉化、存儲和查詢及實時曲線的生成,監控軟件在運行的過程中需要頻繁讀取組態信息,處理和保存實時數據,實時數據庫的性能將直接決定整個組態軟件的可用性。
4商用數據庫的特點
組態軟件運行期間將產生大量數據,這些數據需要進行分類整理并作為歷史數據保存,如果將大量的數據存儲在幾個文件中,將不利已數據查找,商用數據庫的目標就是對大量數據進行有效管理,成熟的關系型數據庫在關系存儲,數據查找、恢復,數據庫備份及復雜的事務處理,并發控制,完整性、一致性的實現等方面都已經相當完善,具有管理數據的優勢,隨著商用數據庫價格越來越低,將商用數據庫作為組態軟件的后臺數據庫管理數據十分可行。
5商用數據在組態軟件中的局限性
5.1大量的I/O操作造成系統長時間的等待,由于監控系統定時采集和輸出數據的特點會引起軟件頻繁地讀寫數據、更改日志等大量磁盤操作,這些操作帶來大量的磁盤I/O讀寫,造成系統長時間等待,這對于實時性要求很高的控制系統來說是無法忍受的。
5.2事務的不可預測性,組態軟件的事務必須在可預測的時間內完成,否則可能會影響整個系統的工作或者產生錯誤數據,而商用數據頻繁的I/O磁盤操作不能保證在規定的時間內完成規定的操作,導致其在組態軟件中應用受到一定的限制。
5.3實時數據庫的框架結構

充分發揮商用數據庫管理數據的優勢,將商用數據庫與內存數據庫相結合實現組態軟件中的實時數據庫是一個較好的解決方案,內存數據庫主要完成實時數據的處理,商用數據庫則完成歷史數據的管理和分類。
6實時數據庫總體結構
根據設計方案,實時數據庫的實現分為內存管理、內存訪問、流程實現、接口管理、數據庫訪問等幾個主要部分。
6.1內存管理。內存中存放的數據主要是組態信息和實時數據,在運行過程中,組態信息的數據不再變化,但是需要頻繁的被查詢,查詢的方法將直接影響系統的效率,監控系統實時數據需要對內存頻繁的進行更改、插入、刪除和查詢操作,如何在內存中規劃出有效的數據存儲結構以快速執行這些操作將直接影響系統的性能。
6.2內存訪問。在組態軟件中,底層設備接口的訪問、顯示界面讀數據、遠程網絡監控修改和讀取數據等任務都需要對內存數據進行讀寫,提供不同的內存訪問接口實現這些功能;組態軟件采用多線程的工作機制,如果多個線程同時對同一塊數據區進行讀寫將產生不正確數據,影響監控軟件的穩定性;數據更改的觸發器特性要求相關變量根據組態時提供的公式進行計算,變量之間有一定的約束條件;所有這些特性在讀寫數據時都應當處理,為此在管理內存之外增加了訪問層來處理這些操作,確保訪問的安全和系統的穩定。
6.3流程實現。流程包括定時對數據進行采集、報警計算、數據的非線性計算、控制邏輯的實現、運算變量的計算等,這些都是監控軟件中必須實現的功能,也是監控軟件區別于其它軟件的主要特征,在軟件中必須有特定的模塊來支持,同時,這些操作有一定的順序,必須按照步驟依次進行計算。
實時數據庫的規劃設計是組態軟件的核心,它直接關系到組態軟件的實時性、可靠性和穩定性,因此對實時數據庫的設計要求精簡、緊湊、可靠。采用傳統的數據庫系統、文件管理系統和內存緩沖區三者相結合的方法,利用多種存儲介質來構建實時數據庫系統,從而滿足組態軟件對實時性的要求。將面向對象的編程思想引入實時數據庫的設計中,運用平衡數據結構存儲實時數據,能夠大大提高數據的訪問速度;用來描述組態參數,方便用戶描述和交換數據。利用動態鏈接庫來建立組態軟件運行實時數據庫,通過提供一組接口函數來實現對實時數據庫的訪問,是實時數據庫系統可以與設備無關,從而具有全面的開放性和很強的通用性。
中圖分類號:TP392
文獻標志碼:A
文章編號:1671-1602(2016)08-00010-01
作者簡介:趙建偉,男,高級工程師,四川威遠人,主要從事為機電一體化技術方面的教學與研究工作。