来源:中国一卡通网 作者:刘西青 发布时间:2010-07-05 17:55:28 字体:[大 中 小]
摘 要:本文主要介绍了井下人员定位系统中监控软件设计部分里数据库的设计内容,重点完成了数据库的总体设计、数据库的建立和主要编程实现。
一、人员定位系统概述
煤矿的现代化管理和煤矿的安全生产是煤炭行业举足轻重的大事;在管理和安全方面,人的管理便成了一个关键的问题。长期以来,大部分矿井,尤其是现代化的矿井,井下都是连续生产,然而煤矿井下的员工状况如何,一直是较难查清的问题,到目前为止,即使是我国的现代化矿井的管理,也只能是依据矿灯来对应井下员工的状况,在煤炭行业历次大型突发性事故发生时,由于一时难以摸清井下工人的分布状况,给事故的抢救工作造成困难,有时造成不应有的损夫。
虽然目前在国内外的一些矿井中采用了计算机监控系统,但这些系统大都侧重于对生产参数的检测,并且在实际的应用中效果并不十分理想,井下人员自动定位系统就是基于上述原因提出的。煤矿井下人员定位考勤安全监控系统是利用射频识别技术、数据库管理与开发技术、网络技术等先进的技术手段研究开发的。这一研究将推动煤矿企业的安全生产和经营管理上一个新的台阶。
系统能够为煤矿管理人员提供人员进出限制、考勤作业、监测监控等多方面的管理信息,在煤矿危险性事故发生时能够准确及时地对煤矿员工定位,以便实施下一步快速有效的救援工作。这对煤矿安全生产具有重要意义,给营救工作带来极大方便,能够尽量减少人员和财产损失。研究开发煤矿井下人员定位考勤安全管理系统有着重要的作用和意义。
二、数据库总体设计思路
人员定位系统的关键部分是人员信息的管理,当计算机接收到人员的身份码后,计算机将检测人员信息总表数据库,将对应的人员信息作为一条记录添加到相应的检测站对应的数据库,计算机需要完成数据信息的显示、定时存储,数据的统一管理,以利于对人员的跟踪查询。要完成这一功能就要建设一个功能比较完备的数据库。我们所用的数据库是基于ODBC(Open DataBase Connectivity,即开放式数据库连接)的数据库应用程序为了方便数据的查寻,在程序中使用SQL(Structured Query Language,即结构化查询语言)语言整个数据库软件包括各检测站的数据库表人员的历史信息表和人员的信息表三部分各检测站数据库表用于存放在检测过程中该监测站当前所有的人员信息;人员的历史信息表数据库用于存放人员的历史数据,从中可以查询某工人的路径信息,也可以查询某检测站曾经有过的人员信息人员信息表数据库用于管理人员的基本信息,它为检测站数据库表和人员历史数据表提供一个参考。
井下人员定位系统是数据采集与信息处理的综合数据库管理系统,它能够实现煤矿井下作业人员进出的有效识别和监测监控,为煤矿管理人员提供人员进出限制、考勤作业等多方面的管理信息。
由于井下定位管理系统处理信息量不是特别大,所以没有采用Oralce等大型数据库,另外该系统要求安全性较高也没采用Access等桌面数据库,SQL Server 2000能够满足今天的企事业环境要求不同类型的数据库解决方案。它是一种应用广泛的数据库管理系统,具有许多显著的优点:易用性、适合分布式组织的可伸缩性、用于决策支持的数据仓库功能、与许多其他服务器软件紧密关联的集成性、良好的性价比等。性能、可伸缩性及可靠性是基本要求。除这些核心企业品质外,SQL Server 2000还为您的数据管理与分析带来了灵活性,允许单位在快速变化的环境中响应等优势。在进行系统设计时,我们要考虑系统安全性、可扩展性、易维护性和易操作性。使管理系统充分体现“人性化、信息化和高度自动化”。通过对系统需球的充分分析,本系统采用SQL Sexver 2000数据库以Clicnt/Server模式开发设计。最终采用SQL Server2000数据库,数据库设计围绕职工和职工携带的带标签扫描的卡为中心来设计。主要有分站位置坐标表;分站基本信息表;职工基本信息表;人员位置信息表。
三、系统数据库的建立
本系统的数据库包括三个部分,第一部分为“人员信息总表”数据库,它用来管理整个煤矿的所有人员信息。第二部分为“历史信息总表”数据库,它用来存储人员的历史信息,包口人的基本信息、人在某时间段所在的工作站,它便与对人员或工作站历史信息的查询。第三部分为各工作站自己的数据库,它主要用来存储当前时刻该工作站中工人的情况,同时来显示各工种人员的分布情况。
(一)“人员信息总表”数据库
在利用编写数据库应用程序之前首先要对所使用的数据源进行配置数据源的配置用来完成将所用的数据库驱动程序向系统注册,以及连接所使J}】数据库。该工作通过系统的控制面板的ODBC管理器来完成。
(1)“人员信息总表”的功能“人员信息总表”数据库主要用来管理整个煤矿所有人员的基本信息,其中包括人员的姓名、身份码、年龄以及T种。“人员信息总表”是一个参考表,计算机传输的数据为人员的身份码,当计算机接收到身份码后需要查寻“人员信息总表”,将与取相符合的那条记录添DLi~J各个工作站的数据库中去。同时它还可以作为接收数据的正确与否的判断标准。只有与“人员信息总表”所存在的身份码相符合的数据才是正确的。因为“人员信息总表”数据库为数据通讯和数据处理提供一个依据,因此要求它必须要有良好的可维护性。在这里我们可以对人员信息进行添加、删除和修改操作。
(2)“人员信息总表”功能的编程实现添加记录时的流程框图见图1示:
编程要点:由于本系统所用到的数据库需要处理多个表,因此,在打开“人员信息表”时将用到SQL“SELECT要检测的字段FRM要检测的表”语句,具体应为:m_Data.Open (Crecordset,::dynaset,T (“Select*fome人员信息表”));本语句的含义为动态的打开“人员信息表”中的所有纪录。修改和删除操作与此类似。
(二)“历史信息总袁”数据库
(1)“历史信息总表”数据库功能“历史信息总表”数据库,它用来存储人员的历史信息,它便与对人员或工作站历史信息的查询,它所存的人员信息除了人员的基本信息外,还包括人员所在的T作站入站时间和出站时间。“历史信息”数据库与“人员信息总表”数据库不同,它不需要人手工的添加、删除和修改记录,对于数据的维护都是由计算机来自动地完成的。在程序串行通讯之前就已经设定了定时存储数据的时间间隔,计算机每隔一定的时间自动检测各T作站,将每个T作站中的人员信息添加到“历史信息总表”中。“历史信息总表”主要用于对人员或工作站历史信息的查询,因此要有比较完备的查询功能。要查询某一历史数据,点击“查看”菜单下的“历史信息查询”,“人员查询”对话框,选择某种查询方法点击“确定”,要查询的历史数据就显示在历史信息列表中。信息数据的定时存储要用到计算机的定时器资源。
(2)“历史信息”数据库功能的编程实现信息数据的定时存储要用到计算机的定时器资源。我们在启动串行通讯的同时,启动一个计时器,在WM_TIMER消息的响应函数流程图如图2所示:
编程要点:在程序中由于要用到多的计时器,我们在这里使用计时器1.SetTmerO函数中应当设置为SetTimer (1,m—Imterval,NULL),这里表示使用计时器1,计时m_ lnterval时间产生中断。对应的窗口过程接收到一条WM—TIMER消息时,其映射函数为OnTiner(UINT?nIDE— vent),其中的nIDEVENT应于SetTimer中指定的一致。
(三)各工作站数据库建设
各工作站自己的数据库,它主要用来存储当前时刻该工作站中工人的情况,同时来显示各工种人员的分布情况。各工作站数据库不需要人去维护,它的数据处理完全由计算机来完成。他只给留出一个人机界面,便于人来实时查询各工作站的当前人员情况。在程序的主界面中,在“检测站信息”栏中,选择要查看的工作站序号,点击“调入”按钮,将本工作站的所有人员信息显示在下面的列表框中。同时将本工作站的人数显示在静态文本框中。
推荐文章
论坛热帖