新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 基于Linux的嵌入式實(shí)時數(shù)據(jù)庫的設(shè)計(jì)

基于Linux的嵌入式實(shí)時數(shù)據(jù)庫的設(shè)計(jì)

作者: 時間:2012-05-21 來源:網(wǎng)絡(luò) 收藏

在現(xiàn)代化的工業(yè)生產(chǎn)現(xiàn)場,產(chǎn)生了大量的生產(chǎn)數(shù)據(jù)和控制數(shù)據(jù),使得嵌入式環(huán)境下的數(shù)據(jù)管理成為工業(yè)控制系統(tǒng)中的重要部分,這就要求監(jiān)控軟件必須具備強(qiáng)大的數(shù)據(jù)處理能力,為人們提供實(shí)時、可靠的數(shù)據(jù),以反映現(xiàn)場運(yùn)行的狀況,以便進(jìn)行相應(yīng)的控制操作。

嵌入式環(huán)境中數(shù)據(jù)的正確性不僅依賴于數(shù)據(jù)的邏輯結(jié)果,而且依賴于邏輯結(jié)果產(chǎn)生的時間。如何有效管理這些大量的、時效性強(qiáng)且有嚴(yán)格時序的數(shù)據(jù),如何使之以高可靠性、高實(shí)時性和大吞吐量的方式進(jìn)行處理是開發(fā)必須解決的首要問題。

1 實(shí)時數(shù)據(jù)的處理過程

圖1中的數(shù)據(jù)處理過程

在監(jiān)控系統(tǒng)中,需要對大量的實(shí)時數(shù)據(jù)進(jìn)行處理,處理過程包括:現(xiàn)場數(shù)據(jù)的實(shí)時采集;對實(shí)時數(shù)據(jù)進(jìn)行處理和存儲;對結(jié)果進(jìn)行分析、判斷和報警;對歷史數(shù)據(jù)的處理等,如圖1。

將所有的實(shí)時數(shù)據(jù)集中進(jìn)行處理,建立,是的一個中心環(huán)節(jié)。中的很大一部分?jǐn)?shù)據(jù)是從生產(chǎn)和測量現(xiàn)場實(shí)時采集到的數(shù)據(jù),因此及時準(zhǔn)確地采集數(shù)據(jù)是整個控制系統(tǒng)正常工作的基本前提。另外還有一些計(jì)算數(shù)據(jù)、控制數(shù)據(jù)和管理數(shù)據(jù)。

實(shí)時數(shù)據(jù)處理是在監(jiān)控系統(tǒng)中對中變量的值進(jìn)行的操作。包括對數(shù)據(jù)的顯示,存儲,報警,管理,提供控制參數(shù)等,同時它還可以根據(jù)需要把有關(guān)信息以事件的方式發(fā)送給系統(tǒng)的其它部分,以便觸發(fā)相關(guān)事件,進(jìn)行實(shí)時處理。

歷史數(shù)據(jù)處理是對定時存儲到歷史數(shù)據(jù)庫中的數(shù)據(jù)進(jìn)行處理,主要操作包括對原始數(shù)據(jù)的匯總、查詢,可以以曲線、報表等形式將數(shù)據(jù)形象地顯示出來。嵌入式設(shè)備存儲容量有限,系統(tǒng)中的大量數(shù)據(jù)將通過通信接口定期送入遠(yuǎn)程關(guān)系數(shù)據(jù)庫中保存。

在嵌入式系統(tǒng)中,實(shí)時數(shù)據(jù)庫從本質(zhì)上說不是一個真正意義上的數(shù)據(jù)庫系統(tǒng),只是一個由應(yīng)用程序管理的內(nèi)存緩沖區(qū),有時又稱為“內(nèi)存數(shù)據(jù)庫”,是一個供多個實(shí)時任務(wù)共同使用的共享數(shù)據(jù)區(qū),是嵌入在監(jiān)控軟件中、與應(yīng)用程序不可分割的部分,主要完成數(shù)據(jù)的存、取操作,不具有獨(dú)立性。一個完整的嵌入式實(shí)時數(shù)據(jù)庫系統(tǒng)除了內(nèi)存數(shù)據(jù)庫外,還應(yīng)包括歷史數(shù)據(jù)庫、數(shù)據(jù)庫管理等。因此在構(gòu)建嵌入式實(shí)時數(shù)據(jù)庫時,應(yīng)考慮系統(tǒng)的實(shí)時性、開銷大小、系統(tǒng)性能、可靠性,以及如何高效地利用嵌入式系統(tǒng)的有限資源、提高數(shù)據(jù)的存取速度、進(jìn)行數(shù)據(jù)保護(hù)、數(shù)據(jù)交換、算法的優(yōu)化、事務(wù)的優(yōu)先級分派、事務(wù)調(diào)度等。

2 嵌入式中的實(shí)時數(shù)據(jù)庫的開發(fā)

隨著DCS的發(fā)展,利用來支持工業(yè)應(yīng)用軟件的開發(fā),隨著在嵌入式技術(shù)領(lǐng)域應(yīng)用的不斷推廣和深入,許多工控軟件都基于開發(fā)。從結(jié)構(gòu)上看,基于的嵌入式圖形化(LEGCS:Linux-based Embedded Graphic Configuration Software)由系統(tǒng)開發(fā)環(huán)境和系統(tǒng)運(yùn)行環(huán)境兩部分組成。系統(tǒng)開發(fā)境是作為一個平臺開發(fā)工具運(yùn)行在PC機(jī)上,主要完成畫面繪制、指定組態(tài)的具體對象和內(nèi)容、完成設(shè)備屬性設(shè)定、設(shè)定控制策略、I/O管理等操作來對控制現(xiàn)場進(jìn)行全面的描述與設(shè)置,所有設(shè)定的結(jié)果保存到實(shí)時數(shù)據(jù)庫中,供系統(tǒng)運(yùn)行時使用。保存到實(shí)時數(shù)據(jù)庫中的信息主要包括:現(xiàn)場數(shù)據(jù)、開關(guān)量、儀表值、實(shí)時時鐘、設(shè)備屬性等。運(yùn)行環(huán)境實(shí)際就是工業(yè)控制應(yīng)用軟件,運(yùn)行在嵌入式設(shè)備上,實(shí)時采集現(xiàn)場數(shù)據(jù)存入實(shí)時數(shù)據(jù)庫,讀取其中的數(shù)據(jù)并進(jìn)行解析,在目標(biāo)機(jī)上顯示組態(tài)內(nèi)容,實(shí)現(xiàn)設(shè)備的組態(tài)控制和仿真。維系組態(tài)環(huán)境與運(yùn)行環(huán)境的紐帶是實(shí)時數(shù)據(jù)庫,如圖 2。

圖2LEGCS組態(tài)軟件開發(fā)環(huán)境和運(yùn)行環(huán)境的關(guān)系

數(shù)據(jù)庫生成模塊運(yùn)行在開發(fā)環(huán)境,主要完成如全局變量、內(nèi)存變量的數(shù)據(jù)定義,設(shè)置變量處理方式等,全局變量直接與工業(yè)現(xiàn)場設(shè)備狀態(tài)(如反應(yīng)容器壓力、閥門開關(guān)狀態(tài)等)相關(guān),這些數(shù)據(jù)在運(yùn)行環(huán)境中由I/O 驅(qū)動模塊按組態(tài)要求實(shí)時采集;內(nèi)存變量是組態(tài)軟件中用到的中間變量。實(shí)時數(shù)據(jù)生成模塊將組態(tài)信息存放到實(shí)時數(shù)據(jù)庫中。在運(yùn)行環(huán)境,由實(shí)時數(shù)據(jù)庫運(yùn)行模塊執(zhí)行數(shù)據(jù)采集,響應(yīng)用戶控制請求,維護(hù)圖形界面與實(shí)時數(shù)據(jù)庫、被控對象之間的數(shù)據(jù)流動。運(yùn)行環(huán)境中的實(shí)時曲線顯示和趨勢模塊定時從實(shí)時數(shù)據(jù)庫中獲取數(shù)據(jù),數(shù)據(jù)存儲模塊將實(shí)時數(shù)據(jù)庫中的數(shù)據(jù)存儲在磁盤上作為歷史數(shù)據(jù)。

3 LEGCS系統(tǒng)中實(shí)時數(shù)據(jù)庫的的設(shè)計(jì)

3.1 實(shí)時數(shù)據(jù)庫的結(jié)構(gòu)設(shè)計(jì)

實(shí)時數(shù)據(jù)按其性質(zhì)可分為模擬量、開關(guān)量、數(shù)字量、字符串等多種,根據(jù)現(xiàn)場數(shù)據(jù)類型和系統(tǒng)所用到的系統(tǒng)常量和中間變量,在LEGCS中定義了八種變量類型:內(nèi)存離散型、I/O離散型、內(nèi)存整數(shù)型、I/O整數(shù)型、內(nèi)存實(shí)數(shù)型、I/O實(shí)數(shù)型、內(nèi)存字符串型、I/O字符串型,其中內(nèi)存變量類型用于創(chuàng)建系統(tǒng)常量和中間變量,I/O變量類型用于處理現(xiàn)場采集的數(shù)據(jù)。對各種類型的變量來說,均有其取值范圍:離散型變量只能取0和1,整型變量與一般程序設(shè)計(jì)語言中的有符號長整型變量類似,用于表示帶符號的整型數(shù)據(jù)。實(shí)型變量用于表示浮點(diǎn)數(shù)據(jù)。字符串變量用于記錄一些特定含義的字符串。每類變量一一對應(yīng)于一類實(shí)時數(shù)據(jù),它以結(jié)構(gòu)的形式來管理,變量的數(shù)據(jù)結(jié)構(gòu)RTVariant定義如表1。

linux操作系統(tǒng)文章專題:linux操作系統(tǒng)詳解(linux不再難懂)

上一頁 1 2 下一頁

評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉