欢迎来到高品重科搅拌拖泵官方网站!

在线留言|收藏本站
当前位置:首页>新闻资讯 >
新闻资讯

嵌入式数据库SQLite在混凝土泵车故障监控系统中的应用

更新时间:2017-03-06 10:02:43   点击量:

  混凝土泵车故障监控系统是一种典型的嵌入式实时监控系统,监控测量点多,实时数据量大,数据保存时间长。目前,常用的实时数据存储和管理的方法有3种[1][2]: (1)基于存储器硬件设计的存储管理算法。这种方法简单直接,但是软件的可移植性差,对于较复杂的算法很难满足要求; (2)利用嵌入式操作系统提供的API函数,以文件的方式实现数据的存储和管理。由于多数嵌入式操作系统(Windows CE、Embedded Linux等)都以独占的方式访问文件,所以这种方法IO开销大,访问效率低,数据共享性较差; (3)借助嵌入式数据库EDB(Embedded DataBase)实现数据存储和管理。数据库通过事务来进行调度与并发控制,可有效地对数据进行存取、查询等共享操作,同时借助数据库所具有的安全性和完整性检验等多种安全措施,可确保系统具有较好的整体性能。

  本文结合嵌入式数据库SQLite在混凝土泵车故障监控系统中的应用,对嵌入式数据库EDB(Embedded DataBase)的设计与实现方法进行讨论。

  2 嵌入式数据库SQLite概述

  嵌入式数据库SQLite是一个基于磁盘文件系统的关系数据库,具有占用内存小、速度快、效率高及可移植性好等特点,非常适合于硬件资源有限的嵌入式系统。

  虽然Orocle、SQLServer及MySQL等关系数据库系统代表着当今数据库应用的主流,但它们并不能满足所有应用场合的需要,比如,对于嵌入式系统应用便失去了用武之地。在嵌入式系统中,由于硬件资源有限,不可能安装庞大的数据库服务器,并且嵌入式数据库的实现还须满足系统的可定制性要求,即系统选择的技术路线要面向具体的行业应用,因而,源码开放的嵌入式数据库SQLite的优势便显得较为明显。

  SQLite是一种强有力的嵌入式关系数据库,它是一个很小的C 语言链接库,完全包含数据引擎功能,不用额外的设定就能嵌入到其他程序中。SQLite 提供了对SQL92 的大多数支持。

  2.1 SQLite 的主要特征

  (1)支持原子的、一致的、独立的和持久的(ACID)事务特性,即使系统崩溃和掉电。

  (2)源代码完全开放,可以免费用于任何用途,包括商业目的。

  (3)访问数据库的程序可以直接从磁盘上的数据库文件读写,无中间服务器进程。

  (4)体积较小,速度快。全部源码大约3万行C代码,250KB。

  (5)该数据库是纯C语言的代码,几乎可以在所有平台上运行。

  2.2 SQLite 开发技术

  SQLite 本身提供了C语言的API接口,使得对数据库的操作十分简单,主要是对3 个 API函数的调用[5]。

  (1)打开数据库

  int sqlite3_open(const char *filename ,sqlite3 * *ppDb );

  (2)执行 SQL

  int sqlite3_exec(sqlite3 * , const char * sql , sqlite_callback , void * , char * * errmsg );

  (3)关闭数据库

  int sqlite3_close(sqlite3 * );

  其中,sqlite3_exec()函数的第二个参数用来处理一条或多条 SQL 语句,语句间必须用“;”号隔开。如果是查询 SELECT 语句,查询结果的每一条记录都必须调用第三个参数的 Callback 函数,第四个参数则为 Callback 函数的第一个参数指针。如果不是查询语句,第三、四个参数为 NULL。所有 SQL 执行完毕后返回0 ,否则返回错误代码,可通过第五个参数值来查看详细错误信息。

  3 故障监控系统结构与功能

  在泵车故障处理工作中,最重要、最关键的是故障定位。泵车故障监控系统能实时显示故障提示信息,能引导服务工程师快速、便捷地定位故障,并提供有效的处理措施,以便其有效地处理泵车故障。

  本文基于Windows CE 4.2嵌入式操作系统,利用Embedded Visual C ++ 4. 0 (EVC) + SP4开发语言,结合嵌入式数据库SQLite,对泵车故障监控系统进行了研究。故障监控系统的关键是利用SQLite数据库来存储、检索、修改和删除故障信息。故障监控系统能将本地的实时故障信息通过GPRS网络发送给监控中心,也可以接收来自监控中心的数据检索指令,从而为其提供特定的数据。故障监控系统的体系结构如图1所示。

  本监控系统分为三部分:数据采集部分、本地数据处理部分和监测中心。监控软件的主要功能是:(1)实时采集泵车运行状态和故障数据并存入SQLite数据库; (2)对故障报警信息优先处理,并将分析结果存入数据库, 以便进一步故障分析和统计;(3)客户可以通过多种条件对故障信息进行检索,包括根据优先级、时间或类型进行排序;(4)客户可以对故障信息进行修改、删除等操作。SQLite数据库成为连接前后台的中间件, 存储状态数据供B/S 远程监控和本地LCD显示, 同时接收浏览器和本地按键或键盘输入。

  4 SQLite数据库设计与实现

  嵌入式数据库系统是介于用户和实时操作系统之间的一层软件。它由众多程序模块组成。其作用是对数据库中的共享数据进行有效的组织、管理和存取。本项目的具体设计与实现方式如下所示。

  4.1 创建数据库

  创建一个名为Fault.db的数据库,在该数据库中创建一张名为tblFAULT的表,用于存储故障信息。

  具体实现代码如下所示。

  5 结语

  嵌入式数据库应用将随着各种移动设备发展而迅速普及,在混凝土泵车电控系统中对数据管理的要求程度较高,笔者利用SQLite来进行故障信息数据管理,简化了应用程序的复杂度,提高了程序的运行效率,减少了内存的消耗,增强了软件的可靠性。SQLite数据库因其体积小、快速高效、稳定可靠、易移植以及没有版权限制等优势,将在嵌入式系统应用中扮演越来越重要的角色。


采购:高品重科




请填写采购的产品数量的产品描述,方便我们进行统一备货

产品推荐

 ype='text/javascript'%3E%3C/script%3E"));