关 闭

新闻中心

EEPW首页>安全与国防>设计应用> 嵌入式数据库矿场安全系统的设计

嵌入式数据库矿场安全系统的设计

作者: 时间:2010-08-21 来源:网络 收藏

  设备安装信息和实时数据信息的存储代码具有一定的相似性,作者以实时数据信息的存储代码为例说明其设计过程,程序流程如下所示:


图 2 设备安装信息数据库存储程序流程

 3.3 数据查询模块

  实时/历史数据查询模块设计主要就是GetDevKey、DataQueryByRealTime 和DataQuery函数设计。

  1. DataQueryByRealTime 函数设计

  若用户输入的查询时间段内设备安装信息没有改变,GetDevKey 函数会直接返回FALSE,程序接着会调用DataQueryByRealTime 函数查询实时数据库文件,设备安装信息直接从m-devList 结构体链表中获得,函数设计包括如下:

  ①根据用户输入的查询日期,形成实时数据库文件如2007-02-09.db,打开实时数据库。

  ②构建游标cursor,使用get 方法,以查询时间为key,flag 标签为_ SET_ RANGE 游标定位到数据库文件多重记录的首一记录。

  ③遍历数据库文件拥有相同 kev 的多重记录,将data 中传感器ID 号与用户输入ID 号相等的REALDATA 结构体与相应的m devList 链表节点DEVDATA 结构体在列表框控件(CC1istCtrl)中显示出来。

  2. DataQuery 函数设计

  若设备查询时间对应的安装信息相对于当前时间段己经改变,GetDevKey 函数会返回正确的设备安装信息查询时间devKey,这个查询时间可能跟用户输入的传感器查询时间不同;程序接着会调用DataQuery 函数,并将这个正确的设备查询时间devKey、用户输入的传感器实时数据查询时间realKey、传感器ID 号strDevID 以及实时数据库文件名strRealDbName以形参方式传给DataQuery 函数,其函数设计包括如下:

  ①打开设备数据库 dev.db 文件,根据形参strRealDbName 打开实时数据库文件。

  ②构建游标 cursor,使用get 方法,分别以devKey 和realKey 为数据库的key, flag标签为_ SET_ RANGE,游标定位到设备数据库文件和实时数据库文件的首记录。

  ③遍历数据库文件拥有相同key 的多重记录,若设备数据库文件记录的data 中(DEVDATA 结构体)传感器ID 号与实时数据库文件记录的data 中(REALDATA 结构体)传感器ID 号相等,则将这两个data 信息在列表框控件(CC1istCtrl)中显示出来。

4.总结

  本文的创新点:分析嵌入式煤矿井上监控系统的功能需求,开发设计了基于数据库和Windows CE 的系统,实现了窗口登录、数据采集、系统界面、数据库存储、实时/历史数据查询、实时曲线显示等功能模块,深入讨论研究了系统的数据采集方法、数据库KEY/DATA 对存储方案及实时/历史传感器数据的数据库查询策略。在实际生产中工作稳定,查询速度快,达到了预期的设计目标。


上一页 1 2 3 下一页

评论


流程图:
简易电子琴的设计

技术专区

关闭