關 閉

新聞中心

EEPW首頁 > 安全與國防 > 設計應用 > 嵌入式數據庫礦場安全系統(tǒng)的設計

嵌入式數據庫礦場安全系統(tǒng)的設計

作者: 時間:2010-08-21 來源:網絡 收藏
 

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


圖 2 設備安裝信息數據庫存儲程序流程

  3.3 數據查詢模塊

  實時/歷史數據查詢模塊設計主要就是GetDevKey、DataQueryByRealTime 和DataQuery函數設計。

  1. DataQueryByRealTime 函數設計

  若用戶輸入的查詢時間段內設備安裝信息沒有改變,GetDevKey 函數會直接返回FALSE,程序接著會調用DataQueryByRealTime 函數查詢實時數據庫文件,設備安裝信息直接從m-devList 結構體鏈表中獲得,函數設計包括如下:

 ?、俑鶕脩糨斎氲牟樵內掌?,形成實時數據庫文件如2007-02-09.db,打開實時數據庫。

 ?、跇嫿ㄓ螛薱ursor,使用get 方法,以查詢時間為key,flag 標簽為_ SET_ RANGE 游標定位到數據庫文件多重記錄的首一記錄。

 ?、郾闅v數據庫文件擁有相同 kev 的多重記錄,將data 中傳感器ID 號與用戶輸入ID 號相等的REALDATA 結構體與相應的m devList 鏈表節(jié)點DEVDATA 結構體在列表框控件(CC1istCtrl)中顯示出來。

  2. DataQuery 函數設計

  若設備查詢時間對應的安裝信息相對于當前時間段己經改變,GetDevKey 函數會返回正確的設備安裝信息查詢時間devKey,這個查詢時間可能跟用戶輸入的傳感器查詢時間不同;程序接著會調用DataQuery 函數,并將這個正確的設備查詢時間devKey、用戶輸入的傳感器實時數據查詢時間realKey、傳感器ID 號strDevID 以及實時數據庫文件名strRealDbName以形參方式傳給DataQuery 函數,其函數設計包括如下:

 ?、俅蜷_設備數據庫 dev.db 文件,根據形參strRealDbName 打開實時數據庫文件。

 ?、跇嫿ㄓ螛?cursor,使用get 方法,分別以devKey 和realKey 為數據庫的key, flag標簽為_ SET_ RANGE,游標定位到設備數據庫文件和實時數據庫文件的首記錄。

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

4.總結

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


上一頁 1 2 3 下一頁

評論


相關推薦

流程圖:

技術專區(qū)

關閉