<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

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

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

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

表1 的結構

域名

作用

類(lèi)型

長(cháng)度

VariantName

變量名

string

50

VariantType

變量類(lèi)型

string

30

VariantDesc

變量描述

string

50

ChangeLmd

變量變化靈敏度,變化幅度大于該值才被記錄

float

InitValue

軟件開(kāi)始運行時(shí)非離散型變量的初始值

float

InitBoolValue

軟件開(kāi)始運行時(shí)離散型變量的初始值

int

1

MinValue

變量在的最小值

float

MaxValue

變量在的最大值

float

InitMinValue

變量所對應的設備的數值的下限

float

InitMaxValue

變量所對應的設備的數值的上限

float

DeviceName

I/O類(lèi)型的變量對應的設備名稱(chēng)

string

50

Register

I/O類(lèi)型的變量對應的設備寄存器

string

50

DataType

該變量的數據類(lèi)型,為上述8種類(lèi)型之一

string

20

ReadWrite

I/O變量的讀寫(xiě)特性,只讀、只寫(xiě)或讀寫(xiě)

string

10

TimeScan

讀寫(xiě)外部設備的時(shí)間頻率

float

RunMode

獲取變量值的模式:仿真方式、直接采集

string

50

SoftMode

定義仿真獲取數據時(shí)是否隨機產(chǎn)生

string

50

FltValue

變量的當前值

float

3.2 實(shí)時(shí)數據庫生成模塊設計

實(shí)時(shí)數據庫生成模塊運行在組態(tài)開(kāi)發(fā)環(huán)境,為了方便對應用程序中的數據管理,將所有的實(shí)時(shí)變量用單向鏈表定形式來(lái)實(shí)現管理,用以完成對數據庫的操作,鏈表定義如下:

typedef struct ClsRTVariantSet//實(shí)時(shí)數據庫結構定義

{ int count; //鏈表中所有實(shí)時(shí)數據變量的個(gè)數

Position currentpos; //標記鏈表中的當前元素所處的位置

RTVariant * head; //指向鏈表的第一個(gè)元素,類(lèi)型為RTVariant

RTVariant * current; //標記鏈表中的當前元素

}RTVariantSet;

再定義一組與該鏈表相關(guān)的操作來(lái)實(shí)現數據的管理,如數據的初始化、插入數據、更新、獲取、設置實(shí)時(shí)數據庫對象的值等操作,操作原型定義如下:

Status InitRTVariantSet(RTVariantSet* mlist, char* mstrFileName,

char* mstrFilter, int mintFiltered); //鏈表的初始化

void FreeRTVariantSet(RTVariantSet* mlist); //清空鏈表

void InsertRTVariantList(Position p, RTVariant* mObjItem, RTVariantSet* mlist);//插入數據對象

Status UpdateRTValue(RTVariantSet* mlist,char* FldNameAndValue);//更新數據

float GetRTValueByName(RTVariantSet* mlist,char* FldName);//獲取變量的值

Status SetRTValueByName(RTVariantSet* mlist,char* FldName,float mfltValue);

// 設置變量的值

3.3.實(shí)時(shí)數據庫運行模塊的設計

實(shí)時(shí)數據庫運行模塊運行在仿真環(huán)境或者嵌入式設備上,主要完成實(shí)時(shí)數據的采集以及實(shí)時(shí)數據的分析處理,依據功能的不同編寫(xiě)不同的處理函數。如實(shí)時(shí)曲線(xiàn)分析(RealCurve)就是用于觀(guān)察外部變量或表達式的值隨時(shí)間變化的趨勢的一個(gè)模塊。實(shí)時(shí)曲線(xiàn)的X軸代表時(shí)間、Y軸代表變量值,運行時(shí)曲線(xiàn)可以自動(dòng)卷動(dòng),以快速反映變量隨時(shí)間的變化。在設計實(shí)時(shí)曲線(xiàn)時(shí)主要用到如下的變量屬性:

域名

作用

類(lèi)型

FltValue

變量的當前值

float

Count

顯示數據的個(gè)數

int

FltModel

實(shí)時(shí)曲線(xiàn)中設定的參照曲線(xiàn)的數值,一維數組,在開(kāi)發(fā)環(huán)境中設置

float*

FltRealValue

當前值之前的時(shí)間段的實(shí)際值數組

float*

FltRealValue是一個(gè)一維數組,其中存放了實(shí)時(shí)曲線(xiàn)實(shí)際顯示的數值,存放的數據是自動(dòng)卷動(dòng)的,當由外部設備采集到一個(gè)當前時(shí)刻的數值后,存放在數組中的采集時(shí)間最老的一個(gè)數據將被丟棄,而加入當前新采集到的數據,數組中有效數據的總數保持不變。實(shí)時(shí)趨勢曲線(xiàn)就是根據這個(gè)的數據結構來(lái)滾動(dòng)顯示的。

4 小結

嵌入式應用系統的運行要處理大量的實(shí)時(shí)數據,這就要求開(kāi)發(fā)嵌入式應用系統的具有處理大量實(shí)時(shí)數據的功能。實(shí)時(shí)數據庫模塊分為開(kāi)發(fā)環(huán)境和運行環(huán)境分別設計,在組態(tài)開(kāi)發(fā)環(huán)境中完成實(shí)時(shí)數據庫結構、數據來(lái)源、數據連接、數據類(lèi)型及相關(guān)的各種參數的定義,生成目標實(shí)時(shí)數據庫,然后在系統運行環(huán)境中,將從外部設備采集來(lái)的實(shí)時(shí)數據送入實(shí)時(shí)數據庫,讀取目標實(shí)時(shí)數據庫中的數據進(jìn)行解析,自動(dòng)完成顯示、報警、存盤(pán)等操作,同時(shí)把有關(guān)信息發(fā)送給系統的其它部分,以便觸發(fā)相關(guān)事件,進(jìn)行實(shí)時(shí)處理。

參考文獻:

[1] 周東球,杜殿林等.先進(jìn)控制軟件系統實(shí)時(shí)數據庫的設計[J].微計算機信息,2003

[2] 沙寶良,陳云飛,周正林.工業(yè)控制系統的實(shí)時(shí)數據庫設計[J].信息技術(shù),2003

[3] Olson,M.A. Selecting and Implementing an Embedded Database System. IEEE Computer.2000,33(9):27-34

[4] J Stankovic,et al. Misconceptions about Real-Time Databases. IEEE Computer,1999,
32(6):29-36

[5] 劉震 羅欣. 嵌入式實(shí)時(shí)數據庫技術(shù)研究.電子產(chǎn)品世界.2005.2

[6]錢(qián)笑宇,張彥武. 工業(yè)實(shí)時(shí)數據庫的研究和設計. 計算機工程. 2005年1月

創(chuàng )新觀(guān)點(diǎn)

對實(shí)時(shí)數據的處理是工控系統的核心,主要用于開(kāi)發(fā)嵌入式工控軟件,實(shí)時(shí)數據庫的設計和實(shí)現是的重要組成部分。將實(shí)時(shí)數據庫的設計分為開(kāi)發(fā)環(huán)境和運行環(huán)境分別設計,在系統開(kāi)發(fā)環(huán)境就可以只定義數據庫結構和數據字典,在運行環(huán)境中完成數據和變量的綁定,實(shí)時(shí)獲取或處理數據,并完成了兩部分軟件的分析和設計。

linux操作系統文章專(zhuān)題:linux操作系統詳解(linux不再難懂)

上一頁(yè) 1 2 下一頁(yè)

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>