<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          關(guān) 閉

          新聞中心

          EEPW首頁(yè) > 安全與國(guó)防 > 設(shè)計(jì)應(yīng)用 > 嵌入式數(shù)據(jù)庫(kù)礦場(chǎng)安全系統(tǒng)的設(shè)計(jì)

          嵌入式數(shù)據(jù)庫(kù)礦場(chǎng)安全系統(tǒng)的設(shè)計(jì)

          作者: 時(shí)間:2010-08-21 來源:網(wǎng)絡(luò) 收藏
           

            設(shè)備安裝信息和實(shí)時(shí)數(shù)據(jù)信息的存儲(chǔ)代碼具有一定的相似性,作者以實(shí)時(shí)數(shù)據(jù)信息的存儲(chǔ)代碼為例說明其設(shè)計(jì)過程,程序流程如下所示:


          圖 2 設(shè)備安裝信息數(shù)據(jù)庫(kù)存儲(chǔ)程序流程

            3.3 數(shù)據(jù)查詢模塊

            實(shí)時(shí)/歷史數(shù)據(jù)查詢模塊設(shè)計(jì)主要就是GetDevKey、DataQueryByRealTime 和DataQuery函數(shù)設(shè)計(jì)。

            1. DataQueryByRealTime 函數(shù)設(shè)計(jì)

            若用戶輸入的查詢時(shí)間段內(nèi)設(shè)備安裝信息沒有改變,GetDevKey 函數(shù)會(huì)直接返回FALSE,程序接著會(huì)調(diào)用DataQueryByRealTime 函數(shù)查詢實(shí)時(shí)數(shù)據(jù)庫(kù)文件,設(shè)備安裝信息直接從m-devList 結(jié)構(gòu)體鏈表中獲得,函數(shù)設(shè)計(jì)包括如下:

           ?、俑鶕?jù)用戶輸入的查詢?nèi)掌?,形成?shí)時(shí)數(shù)據(jù)庫(kù)文件如2007-02-09.db,打開實(shí)時(shí)數(shù)據(jù)庫(kù)。

           ?、跇?gòu)建游標(biāo)cursor,使用get 方法,以查詢時(shí)間為key,flag 標(biāo)簽為_ SET_ RANGE 游標(biāo)定位到數(shù)據(jù)庫(kù)文件多重記錄的首一記錄。

           ?、郾闅v數(shù)據(jù)庫(kù)文件擁有相同 kev 的多重記錄,將data 中傳感器ID 號(hào)與用戶輸入ID 號(hào)相等的REALDATA 結(jié)構(gòu)體與相應(yīng)的m devList 鏈表節(jié)點(diǎn)DEVDATA 結(jié)構(gòu)體在列表框控件(CC1istCtrl)中顯示出來。

            2. DataQuery 函數(shù)設(shè)計(jì)

            若設(shè)備查詢時(shí)間對(duì)應(yīng)的安裝信息相對(duì)于當(dāng)前時(shí)間段己經(jīng)改變,GetDevKey 函數(shù)會(huì)返回正確的設(shè)備安裝信息查詢時(shí)間devKey,這個(gè)查詢時(shí)間可能跟用戶輸入的傳感器查詢時(shí)間不同;程序接著會(huì)調(diào)用DataQuery 函數(shù),并將這個(gè)正確的設(shè)備查詢時(shí)間devKey、用戶輸入的傳感器實(shí)時(shí)數(shù)據(jù)查詢時(shí)間realKey、傳感器ID 號(hào)strDevID 以及實(shí)時(shí)數(shù)據(jù)庫(kù)文件名strRealDbName以形參方式傳給DataQuery 函數(shù),其函數(shù)設(shè)計(jì)包括如下:

           ?、俅蜷_設(shè)備數(shù)據(jù)庫(kù) dev.db 文件,根據(jù)形參strRealDbName 打開實(shí)時(shí)數(shù)據(jù)庫(kù)文件。

           ?、跇?gòu)建游標(biāo) cursor,使用get 方法,分別以devKey 和realKey 為數(shù)據(jù)庫(kù)的key, flag標(biāo)簽為_ SET_ RANGE,游標(biāo)定位到設(shè)備數(shù)據(jù)庫(kù)文件和實(shí)時(shí)數(shù)據(jù)庫(kù)文件的首記錄。

           ?、郾闅v數(shù)據(jù)庫(kù)文件擁有相同key 的多重記錄,若設(shè)備數(shù)據(jù)庫(kù)文件記錄的data 中(DEVDATA 結(jié)構(gòu)體)傳感器ID 號(hào)與實(shí)時(shí)數(shù)據(jù)庫(kù)文件記錄的data 中(REALDATA 結(jié)構(gòu)體)傳感器ID 號(hào)相等,則將這兩個(gè)data 信息在列表框控件(CC1istCtrl)中顯示出來。

          4.總結(jié)

            本文的創(chuàng)新點(diǎn):分析嵌入式煤礦井上監(jiān)控系統(tǒng)的功能需求,開發(fā)設(shè)計(jì)了基于 數(shù)據(jù)庫(kù)和Windows CE 的系統(tǒng),實(shí)現(xiàn)了窗口登錄、數(shù)據(jù)采集、系統(tǒng)界面、數(shù)據(jù)庫(kù)存儲(chǔ)、實(shí)時(shí)/歷史數(shù)據(jù)查詢、實(shí)時(shí)曲線顯示等功能模塊,深入討論研究了系統(tǒng)的數(shù)據(jù)采集方法、數(shù)據(jù)庫(kù)KEY/DATA 對(duì)存儲(chǔ)方案及實(shí)時(shí)/歷史傳感器數(shù)據(jù)的數(shù)據(jù)庫(kù)查詢策略。在實(shí)際生產(chǎn)中工作穩(wěn)定,查詢速度快,達(dá)到了預(yù)期的設(shè)計(jì)目標(biāo)。


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

          評(píng)論


          相關(guān)推薦

          流程圖:

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

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();