W1WW_P4LCJS_COM-PLC-技.术_网
1 引言WWW_PL※CJS_COM-PLC-技.术_网
井下人员管理及紧急搜救系统通过对矿山井下作业人员实时、精确的定位,建立了一个完整而实时的井下管理信息系统,可对井下作业人员的工作岗位、计划安排、进出巷道的权限、人员分布、安全物资流动等要素进行严格管理,以达到落实责任、提高安全生产的技术水平、保证安全生产的目的。WWW.PLCJS.COM——可编程控制器技术门户
一旦发生安全事故,通过该系统立即可以知道该作业面的具体工作人员构成及人员数量、事故发生位置、救援设备位置等信息,尽快确定被困人员的身份、人数、所处位置等必要信息,确保抢险救灾和安全救护工作的高效运作。救援人员可使用手持式探测器接受被困人员的信息,极大地提高救援效率,保障生命安全。WWW_P※LCJS_COM-PLC-)技.术_网
WWW_PL※CJS_COM-PLC-技.术_网
2 系统结构WW.W_PLCJS_COM-PLC-技.术_网
该系统由井下以及井上两部分组成。井下部分主要实现对数据的采集、传输,井上部分主要实现数据的处理、存储等功能。系统结构示意图如图1所示。W1WW_P4LCJS_COM-PLC-技.术_网
WWW_PLCJ-S_COM-PLC-技.术_网(可-编程控-制器技术-门户)
WWW_PLC※JS_COM-PmLC-技.术_网
WWW_PLC※JS_COM-PmLC-技.术_网
图1 矿用人员管理系统示意图plcjs.技.术_网
2.1 井下部分介绍WWW※PLCJS_COM-PL#C-技.术_网(可编※程控※制器技术门户)
井下部分主要由识别卡、分站以及中继器组成,总线电缆将各个部分连接起来。总线电缆采用双绞线,以避免电缆反射波。分站接收由井下工作人员所携带识别卡发送的信息,然后通过总线网络,将数据传送到井上数据控制中心。WWW_PLC※JS_COM-PmLC-技.术_网
2.2 井上部分WWW_P※LCJS_CO※M-PLC-技-.术_网
井上部分由传输接口、工控机等组成,上位机软件实时对采集来的数据进行处理、存储,对各种异常情况进行实时报警。系统软件可将采集到的数据存储到sql server数据库,并可通过查询等方法实现对人员的考勤和管理。同时,主监控计算机还可通过工业以太网连接到矿务局内网,从而实现数据的共享。P_L_C_技_术_网——可——编——程——控-制-器-技——术——门——户
WW.W_PLC※JS_C,OM-PL,C-技.术_网
3 基于delphi的数据处理与数据库管理技术WWW_PLCJS※COM-PLC-技×术_网(可编程控※制器技术门户)
delphi具有简单、高效、功能强大的特点,它同时兼备了vc功能强大和vb简单易学的特点。在delphi众多的优势当中,它在数据库方面的特长显得尤为突出:适应于多种数据库结构,从客户机/服务机模式到多层数据结构模式;高效率的数据库管理系统和新一代更先进的数据库引擎;最新的数据分析手段和提供大量的企业组件。WW.W_PLC※JS_C,OM-PL,C-技.术_网
3.1 系统上位机软件界面设计P_L_C_技_术_网——可——编——程——控-制-器-技——术——门——户
为了达到直观、形象、动态地显示井下巷道布置情况,准确的实现人员定位的目的,本系统在delphi中引入了第三方控件mapx,将井下巷道布置图引入到上位机软件中,可以在图形上实时观察各个站点的人员信息,当发生异常时候还可监测到实时报警报警信息。在上位机软件主界面上可实现如下功能:plcjs.技.术_网
(1)定位:在图形上标注不同的区域,通过上位机软件对采集到数据的处理,将各个区域的数据信息显示在图上对应的位置,并可查看当前该区域有哪些人员。WWW_P※LCJS_COM-PLC-)技.术_网
(2)实时显示:通过图2右侧listbox表格,可以查看各个区域人员流动情况,包括进出限制区域、重点区域时间,超员报警、超时报警、工作异常报警等。WWW_PL※CJS_COM-PLC-技.术_网
(3)报警功能:可通过设定下井时间,对下井超过一定时间的人员提示报警,并给出相关人员的名单等信息;可对进入一些重要位置、危险场合的人员进行报警,从而有效阻止人员违章进入,并将违章人员记录在案。WWW_PLC※JS_COM-PmLC-技.术_网
(4)模拟动画:可对图片进行放大、缩小、漫游等功能。可以监测特定人员从的活动路线,可实现指示灯、区域信息分类显示、历史轨迹回放等功能。系统主界面如图2所示。WWW.PLCJS.COM——可编程控制器技术门户
WWW_PLCJS@_COM%-PLC-技.术_网
W1WW_P4LCJS_COM-PLC-技.术_网
WWW_PLCJS※COM-PLC-技×术_网(可编程控※制器技术门户)
图2 矿用人员信息管理系统主界面WWW_PLC※JS_COM-PmLC-技.术_网
3.2 数据处理程序设计WWW※PLCJS_COM-PL#C-技.术_网(可编※程控※制器技术门户)
为了实现3.1中所提到的各种功能,本文的数据处理部分必须能够快速、准确地完成对数据的判断、处理。该部分主要完成的功能是对数据的接收、处理以及数据的存储。其中数据的接收是通过delphi的tthread类来实现;处理部分由若干算法组成;存储部分通过delphi的adoconnectin控件来完成。WWW_PLCJS※COM-PLC-技×术_网(可编程控※制器技术门户)
本系统运用delphi的tthread类创建了一个线程函数,通过线程函数可以构造一个接收数据的线程,构造方法如下:WWW※PLCJS_COM-PL#C-技.术_网(可编※程控※制器技术门户)
fhandle:=beginthread(nil,0,@receivethread,pointer(self),create_suspended,fthreadid)。plcjs.技.术_网
在本系统构造的线程中,第三个参数就是线程函数,即在线程中执行的代码部分;第四个参数是传递给线程函数的参数;第五个参数是用于设置线程在创建后即挂起;第六个是返回线程id。tthread的核心是线程函数receivethread,它是一个全局函数。本系统中receivethread部分的代码如下:——可——编——程——控-制-器-技——术——门——户
function receivethread (thread: tthread): integer;WWcW_PLCJS_COM-PLC-技.术_网
varWWW※PLCJS_COM-PL#C-技.术_网(可编※程控※制器技术门户)
freethread: boolean;WWW_PLCJS※COM-PLC-技.术_网(可※编程控※制器技术门户)
beginP_L_C_技_术_网——可——编——程——控-制-器-技——术——门——户
tryWW.W_PLCJS_COM-PLC-技.术_网
if not thread.terminated then——可——编——程——控-制-器-技——术——门——户
tryWWW_PLCJ-S_COM-PLC-技.术_网(可-编程控-制器技术-门户)
thread.execute;P.L.C.技.术.网——可编程控制器技术门户
exceptWWW_PL※CJS_COM-PLC-技.术_网
thread.ffatalexception := acquireexceptionobject;WWW_PLCJS_COM-PLC-技.术_网
end;——可——编——程——控-制-器-技——术——门——户
finallyP_L_C_技_术_网——可——编——程——控-制-器-技——术——门——户
freethread:=thread.ffreeonterminate;WWW※PLCJS_COM-PL#C-技.术_网(可编※程控※制器技术门户)
result:=thread.freturnvalue;WWcW_PLCJS_COM-PLC-技.术_网
thread.doterminate;WWW_P※LCJS_COM-PLC-)技.术_网
thread.ffinished := true;WWW_P※LCJS_COM-PLC-)技.术_网
signalsyncevent;WWW_P※LCJS_COM-PLC-)技.术_网
if freethread then thread.free;WWW_PLCJ-S_COM-PLC-技.术_网(可-编程控-制器技术-门户)
endthread(result);WWW_PL※CJS_COM-PLC-技.术_网
end;WW.W_PLCJS_COM-PLC-技.术_网
end;WWW_PL※CJS_COM-PLC-技.术_网
在数据处理部分中一个重要的算法是判断人员进入或者离开某个区域或站点的算法。其中a、b、c为三个数组,三个数组中分别存储代表人员的卡号信息,通过比较三个数组中的卡号信息,比较出人员的来、去信息,并将来、去信息存入数据库,以供查询。算法流程图如图3所示。P.L.C.技.术.网——可编程控制器技术门户
WW.W_PLCJS_COM-PLC-技.术_网
WWW.PLCJS.COM——可编程控制器技术门户
WWW_PLCJS@_COM%-PLC-技.术_网
图3 人员来/去算法流程图WWW_P※LCJS_COM-PLC-)技.术_网
3.3 数据库操作WWW_PLC※JS_COM-PLC-技.术_网(可编程控※制器技术门户)
本系统中采用的是稳定可靠的sql server2000数据库,采用主/从式结构。在delphi中使用adoconnection连接数据库,通过adoquery实现对数据库的查询。通过adoconnection连接sql server2000数据库的代码如下:W1WW_P4LCJS_COM-PLC-技.术_网
provider=sqloledb.1; persist security info=false; user id=sa; initial catalog=passionWWW_PLCJS※COM-PLC-技×术_网(可编程控※制器技术门户)
passion为所创建的数据库的名称。WW.W_PLCJS_COM-PLC-技.术_网
通过delphi与数据库的连接,可以实现对采集到数据的存储、查询等功能。具体功能如下:plcjs.技.术_网
(1)可具体显示每个下井人员确切的下井时间和上井时间。并根据工种,判断不同类别的人员是否足班,从而确定其该次下井是否有效。在月统计报表中对下井时间、下井次数等分类统计,便于考核。还可打印月考勤报表、任意时间段下井统计等有关报表。WWW_P※LCJS_CO※M-PLC-技-.术_网
(2)可实时查询当前井下人员的数量及分布情况、任一指定井下人员在当前或指定时刻所处的区域、任一指定井下人员本日或指定日期的活动踪迹。WWcW_PLCJS_COM-PLC-技.术_网
(3)选定某一区域可以获得当前该区域的人员信息;选定某一分站可以接收和查询经过该分站所有人员的时间信息(包括历史信息)。W1WW_P4LCJS_COM-PLC-技.术_网
(4)可对特定的人员进行实时跟踪。WWW_PLCJS※COM-PLC-技.术_网(可※编程控※制器技术门户)
WWcW_PLCJS_COM-PLC-技.术_网
4 结束语WWW_PLCJS@_COM%-PLC-技.术_网