在线看毛片网站电影-亚洲国产欧美日韩精品一区二区三区,国产欧美乱夫不卡无乱码,国产精品欧美久久久天天影视,精品一区二区三区视频在线观看,亚洲国产精品人成乱码天天看,日韩久久久一区,91精品国产91免费

<menu id="6qfwx"><li id="6qfwx"></li></menu>
    1. <menu id="6qfwx"><dl id="6qfwx"></dl></menu>

      <label id="6qfwx"><ol id="6qfwx"></ol></label><menu id="6qfwx"></menu><object id="6qfwx"><strike id="6qfwx"><noscript id="6qfwx"></noscript></strike></object>
        1. <center id="6qfwx"><dl id="6qfwx"></dl></center>

            新聞中心

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

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

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

            表1 的結構

            域名

            作用

            類型

            長度

            VariantName

            變量名

            string

            50

            VariantType

            變量類型

            string

            30

            VariantDesc

            變量描述

            string

            50

            ChangeLmd

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

            float

            InitValue

            軟件開始運行時非離散型變量的初始值

            float

            InitBoolValue

            軟件開始運行時離散型變量的初始值

            int

            1

            MinValue

            變量在的最小值

            float

            MaxValue

            變量在的最大值

            float

            InitMinValue

            變量所對應的設備的數(shù)值的下限

            float

            InitMaxValue

            變量所對應的設備的數(shù)值的上限

            float

            DeviceName

            I/O類型的變量對應的設備名稱

            string

            50

            Register

            I/O類型的變量對應的設備寄存器

            string

            50

            DataType

            該變量的數(shù)據(jù)類型,為上述8種類型之一

            string

            20

            ReadWrite

            I/O變量的讀寫特性,只讀、只寫或讀寫

            string

            10

            TimeScan

            讀寫外部設備的時間頻率

            float

            RunMode

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

            string

            50

            SoftMode

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

            string

            50

            FltValue

            變量的當前值

            float

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

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

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

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

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

            RTVariant * head; //指向鏈表的第一個元素,類型為RTVariant

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

            }RTVariantSet;

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

            Status InitRTVariantSet(RTVariantSet* mlist, char* mstrFileName,

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

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

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

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

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

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

            // 設置變量的值

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

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

            域名

            作用

            類型

            FltValue

            變量的當前值

            float

            Count

            顯示數(shù)據(jù)的個數(shù)

            int

            FltModel

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

            float*

            FltRealValue

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

            float*

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

            4 小結

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

            參考文獻:

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

            [2] 沙寶良,陳云飛,周正林.工業(yè)控制系統(tǒng)的實時數(shù)據(jù)庫設計[J].信息技術,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ù)據(jù)庫技術研究.電子產(chǎn)品世界.2005.2

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

            創(chuàng)新觀點

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

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

            上一頁 1 2 下一頁

            評論


            相關推薦

            技術專區(qū)

            關閉