收缩
  • 电话咨询

  • 13918285532
欢迎您访问上海翔睦机械设备有限公司官方网站!
  • 全国服务热线:400-996-8850
  • 销售电话:021-57671633 021-31135258
  • 收藏本站

煤矿工作面输送设备远程在线监测系统监测中心开发

2019-08-31

0 引言

刮板输送机、转载机和破碎机是煤矿工作面不可缺少的输送设备,其安全稳定运行至关重要,开发远程在线监测系统,能够帮助煤机制造商主动掌握分布于全国各地煤矿工作面的输送设备的运行工况参数和运行状态,为矿方提供更好的服务。

该系统由井下综合监控系统、调度室监测中心和远程监测中心三部分组成。井下综合监控系统实现在顺槽内就能够监测设备运行工况参数,并将参数上传至地面调度室监测平台;调度室监测平台一方面接受井下上传的数据,另一方面将接收到的数据转发至远程监测中心;远程监测中心通过GPRS或互联网接受调度室传来的数据,实现存储、分析、Web发布等功能。

开发了煤矿工作面输送设备远程在线监测系统监测中心,主要包括中心配置及软件环境搭建、数据库设计、I/O服务器服务端软件研发和中心网站开发。

1 远程监测中心组成及软件环境搭建

监测中心配置I/O服务器、数据库服务器、Web服务器。I/O服务器负责与现场监测子系统通信,并将数据存储至数据库服务器;Web服务器上运行着中心网站,负责读取数据库服务器数据,验证用户登录,将相关数据发布到互联网等;数据库服务器存储着用户信息和设备运行信息。开发时选用1台PC搭建硬件环境,作为I/O服务器、数据库服务器、Web服务器。

搭建好硬件开发环境后,须配置好软件开发环境,才能够进行网站开发工作。采用JSP动态网页技术开发监测中心网站,搭建JSP动态网页技术软件开发环境的主要工作包括:安装并配置JDK,安装Tomcat、Dreamweaver、Microsoft SQL Server 2000企业版、SQL2KSP4数据库补丁、配置Dreamweaver连接SQL Server 2000的JDBC数据库驱动、JSON驱动和服务器重启自动登录。

2 数据库服务器

利用SQL Server 2000建立好数据库后的主要工作包括: (1) 根据实际需求,建立完善的内部表; (2) 备份内部表理论上,SQL Server 2000任一表容纳的记录数只跟硬盘容量有关,但表的记录数太大会影响数据处理速度,因此必须按月备份表。

打开Microsoft SQL Server 2000的企业管理器,建立#1数据库。在#1数据库内部建立memdata用户信息表、machine_info设备信息表、test1和test2设备工况表、tabForConTest表和Threshold表。

(1)数据表memdata用于保存授权用户的账号和密码,字段名称分别为M_username、M_password,字段类型char,字段大小10,分别表示用户名称、用户密码。

(2)数据表machine_info用于保存设备型号、设备用户等信息,字段名称分别为group、coal、conveyor、crusher、transfer、deviceID、tableName,字段类型为char,字段大小为20,分别表示集团名称、煤矿名称、刮板输送机型号、破碎机型号、转载机型号、设备编号、对应的数据表。

(3)数据表test1和test2结构相同,用于保存设备工况信息,具体包括: (1) 字段名称time,字段类型datetime,字段大小8,表示时间; (2) 自定义其他字段名,类型都为smallint,大小2,表示刮板输送机机头和机尾、转载机、破碎机、机头机尾变频电机、转载机变频电机运行参数、GPRS DTU状态、调度室监测平台状态; (3) 字段名称runtime_hour、runtime_minute、runtime_second,类型都为char,大小20,分别表示累计运行时间的时分秒。

(4)数据表Threshold表保存报警阀值,字段类型int,大小4,分别表示减速器油液液位下限、减速器油液液位上限、减速器冷却水温度上限、减速器冷却水流量上限、减速器冷却水压力上限、伸缩机尾油缸压力上限、轴承温度上限、电机绕组温度上限、电机冷却板温度上限、电机电抗器温度上限、PTC温度上限、减速器油液温度上限。

(5)数据表tabForConTest为测试表,专门用于测试连接情况,实现数据库服务器断线重连,定义字段名称forTestDBConnect,字段类型char,字段大小10,表示测试字段。

(6)备份内部表。以当前表test1为例,按月复制test1,复制的表命名为test1@年_月_日@时_分_秒,复制完成后删除表test1的所有数据。本文通过建立存储过程实现按设定命名规则复制表,并删除当前表中所有数据的功能;通过建立定时作业实现每个月的第1天零点执行存储过程。

3 I/O服务器

与基于GPRS的调度室监测平台和基于互联网的调度室监测平台相对应,开发了基于GPRS的I/O服务器和基于互联网的I/O服务器,与调度室监测平台进行通信,并将数据存储至数据库服务器。

3.1 基于GPRS的I/O服务器

(1)设计画面I/O服务器画面实时显示输送设备使用方的信息、输送设备型号、调度室监测平台是否在线以及I/O服务器与调度室监测平台通信是否正常。

(2)定义I/O设备及相关变量调度室监测平台采用了通信ModRTUServer协议,设备地址1,串口参数9600-8-无-S1, DTU模块配置为桑荣协议,5001端口,ID设为13488713431。那么组态王通过桑荣公司的GPRS设备与调度室监测平台通信,定义I/O设备为#1矿,需采用虚拟串口KVCOM,参数配置为9600-8-无-S1,协议为ModbusRTU,地址为1。定义与设备#1矿关联的I/O变量,变量地址与调度室监测平台相关变量配置地址一致即可,同时定义与之对应的内存变量。

(3)连接#1数据库设备工况表 (1) 定义ODBC数据源test1打开控制面板-管理工具-数据源(ODBC),自定义ODBC数据源test1; (2) 定义记录体test1根据设备工况信息,字段与内部变量一一对应,定义记录体test1。

(4)编写应用程序命令语言I/O程序流程图如图1所示,启动时,连接数据库#1。运行时,判断是否连接上数据库#1,若连接上,则将GPRS上传数据赋值给工况变量,将GPRS上传数据赋值给工况变量后,接着判断调度室监测平台是否在线以及通信是否正常,若正常,则写数据到#1数据库的表test1,否则将-9 999记录写入数据库的表test1。若连接数据库#1不成功,执行一次连接数据库的操作。运行期间,程序执行周期10 000 ms。停止时,断开数据库#1。

3.2 基于互联网的I/O服务器

(1)软件功能描述

I/O服务器接受来自各客户端的数据,并将数据写入数据库对应的数据表中;I/O服务器自动判断数据库连接是否断开以及断开重新连接,若数据库断开了,则不接受来自客户端的数据。

图1 I/O程序流程

图1 I/O程序流程   下载原图

(2)程序设计

软件流程如图2所示,在CClientDlg类的初始化函数OnInitDialog () 中,利用LoadIcon () 函数更改图标,利用SetWindowText () 设置标题,利用自定义消息UM_INT的响应函数OnInit () 实现软件的初始化工作。在OnInit () 函数中,利用AfxSocketInit () 函数加载1.1版本的套接库;调用InitSocket () 初始化基于Windows消息的异步套接字,自定义消息UM_SOCK,响应函数OnSock () ;利用Open () 建立于数据库#1的连接;调用GetInfoFromTab () ,获取设备编号和对应数据表信息;利用CreateThread () 创建线程,实现自动判断与数据库的连接情况,并自动重连,IsDBConnectedProc () 为线程函数。在CClientDlg类的析构函数~CClientDlg () 中,利用closesocket () 关闭套接字,利用WSACleanup () 终止对套接字库的使用,close () 和Release () 关闭数据库连接。

图2 软件流程

图2 软件流程   下载原图

异步套接字消息响应函数OnSock () 流程如图3所示。若lParam=FD_ACCEPT,利用accept () 建立于客户端的套接字连接;lParam=FD_READ,若数据库已经连接上,recv () 读取客户端发送的数据,自定义消息UM_RECVDATA及实现数据将数据存入数据库的对应数据表中,OnRecvData (WPARAM wParam, LPARAM lParam) 为消息响应函数。

图3 异步套接字消息响应函数流程

图3 异步套接字消息响应函数流程   下载原图

工作线程流程如图4所示,IsDBConnectedProc (LPVOID lpParameter) 为线程函数。利用自定义消息UM_ISDBCON及消息响应函数OnIsDBConncect () 实现判断数据库是否断开,利用自定义消息UM_CONDB和消息响应函数OnConDB () 实现重连数据库功能。在数据库中建立表tabForConTes,在OnIsDBConncec () ,利用Execute () 查询数据表,若捕捉到错误,则表明数据库断开。在OnConDB () 中,利用Open () 实现连接数据库功能。

图4 线程函数流程

图4 线程函数流程   下载原图

(3)重要的自定义函数

OnInit () 、InitSocket () 、OnSock (WPARAM w Param, LPARAM lParam) 、IsDBConnectedProc (LPVOID lpParameter) 、OnIsDBConncect () 和OnConDB () 分别为自定义消息UM_INT的消息响应函数、套接字初始化函数、UM_SOCK消息响应函数、线程函数、UM_IS-DBCON消息响应函数和UM_CONDB消息响应函数。 (1) 软件初始化函数OnInit响应自定义消息UM_INT,完成初始化套接字、第1次连接数据库#1、第1次读取设备表、创建线程的任务; (2) 套接字初始化函数InitSocket完成异步套接字的初始化工作,实现启动服务器、监听客户端连接的功能; (3) 异步套接字UM_SOCK消息响应函数OnSock响应系统发送的自定义消息UM_SOCK,实现接受客户端发送的数据和将数据写入对应的数据表的功能; (4) 线程入口函数IsDBConnectedProc通过自定义消息UM_ISDBCON、UM_CONDB及其消息响应函数OnIsDBConncect、OnConDB,实现自动判断与数据库#1的连接是否断开以及断开重连的功能; (5) 自定义消息UM_ISDBCON消息响应函数OnIsDBConncect响应线程SendMessage发送的UM_ISDBCON消息,实现判断数据库#1的连接是否断开; (6) 自定义消息UM_CONDB消息响应函数OnConDB响应线程SendMessage发送的UM_CONDB消息,实现自动连接数据库#1的功能。

4 Web服务器

基于Dreamweaver可视化网页设计软件,采用JSP动态网页技术开发了监测中心网站;应用AJAX技术,实现了网页的无闪烁刷新;采用hightcharts图表控件和jscal2日历控件,实现了数据和曲线查询和显示。

中心网站主要实现读取设备工况数据库的数据,通过网页的形式展示给授权用户的功能,结构示意图如图5所示,包括首页、设备监测主页、各功能页面3层页面。打开网站首页(index.jsp),输入用户名和密码,登录进入设备监测主页(page.jsp),单击监测主页导航栏,进入设备实时数据(realData.jsp)、实时曲线(realLine.jsp)、历史数据(historyData.jsp)、历史曲线(historyLine.jsp)、视频(login.asp)和监测报告页面(reprort.jsp),打开查询连接,进入相关显示页面(bb.jsp、historyDataCheck.jsp、cc.jsp)。

图5 煤矿工作面输送设备远程在线监测中心网站结构示意图

图5 煤矿工作面输送设备远程在线监测中心网站结构示意图   下载原图

(1)首页首页由Logo、导航、用户登录、导航内容等部分组成,主要实现用户登录、中心介绍等功能。首页设计采用了浮动框架制作导航链接,减少了页面相同部分的重复;建立名为userlogin的自定义JDBC连接,应用表单和服务器行为,连接数据表memdata,验证用户登录。若登录成功,进入设备监测主页;否则,停留在首页。

(2)设备监测主页设备监测主页左侧导航栏包括实时数据、实时曲线、历史数据、历史曲线、监测视频和监测报告6个功能模块。打开“查看”链接,可以进入各功能模块对应的显示页面。监测报告由专人根据监测数据定期编制并上传网站,供用户浏览,方便用户掌握设备健康状况。每套在用设备所属集团和煤矿、设备型号、设备负荷(实际值与额定值的百分比)、设备累计运行时间、当前数据更新时间均可显示。

设备监测主页设计为顶部和嵌套的左侧框架结构。设备监测列表显示当前时间、在用设备所属集团和煤矿、设备型号、设备负荷(实际值与额定值的百分比)、设备累计运行时间、当前数据更新时间。当前时间、设备负荷(实际值与额定值的百分比)、设备累计运行时间、当前记录更新时间需要及时刷新,使用<meta http-equiv=refresh content=“300”>的方法,会造成整个屏幕不断闪烁,降低用户的操作满意度。课题采用AJAX技术,配合JSON数据交换技术,实现页面无闪自动局部刷新。应用AJAX和JSON技术时,必须先链接数据表test1和test2,此时只自定义JDBC链接。应用AJAX时,XMLHttpRequest请求访问浏览器缓存,导致页面无法刷新,监测页面始终为最先打开的页面。课题通过给url地址增加时间戳,使得每次请求的地址都不一样,解决了XML-HttpRequest请求的缓存问题。

(3)实时数据页面打开实时数据功能模块对应的查询链接,进入实时数据页面。页面显示刮板输送机平行机头、垂直机头和机尾,转载机与破碎机的工况数据。数据包括:减速器油位、减速器油温、减速器输入轴温度、减速器输出轴温度、减速器冷却水压力、减速器冷却水流量、减速器冷却水温度、链轮左轴承温度、链轮右轴承温度、油缸压力、变频电机驱动器电流、变频电机驱动器电容电压、变频电机速度、变频电机绕组温度、变频电机轴承温度、变频电机冷却板温度、变频电机电抗器温度和变频电机PTC温度。红色高亮显示表示数据超限。

(4)实时曲线页面打开实时曲线功能模块对应的查询链接,进入实时曲线页面。实时曲线页面包括实时数据显示和实时曲线“>>>”链接,打开该链接,进入实时曲线显示页面。页面能够当前显示10 min内数据,水平直线表示报警阀值曲线,实时曲线若超出阀值曲线,代表工况超限;把鼠标移到相应的位置时,浮动框显示详细工况参数;若多条曲线重合致无法观察,点击曲线图例可以显示或隐藏曲线;通过导出模块,可将图表下载为图片或打印图表。

(5)历史数据页面打开历史数据功能模块对应的查询链接,进入历史数据页面。历史数据页面包括实时数据显示和历史数据“>>>”链接,打开该链接,进入历史数据显示页面。可点击按钮“选择开始时间”和“选择结束时间”,打开时间列表选择时间;也可直接输入时间。点击“查询”按钮,稍等片刻即可。

(6)历史曲线页面打开历史曲线功能模块对应的查询链接,进入历史曲线页面。历史曲线页面包括实时数据显示和历史曲线“>>>”链接,打开该链接,进入历史曲线显示页面。可点击按钮“选择开始时间”和“选择结束时间”,打开时间列表选择时间;也可直接输入时间。点击“查询”按钮,一段时间后即可显示对应的历史曲线。

通过页面的时间范围选择器,选择查看指定时间的数据,可以是年、月为单位或全部数据,也可以是输入具体的时间范围查看。页面中,水平直线表示报警阀值曲线,历史曲线若超出阀值曲线,代表工况超限;把鼠标移到相应的位置时,浮动框显示详细工况参数;若多条曲线重合致无法观察,点击曲线图例可以显示或隐藏曲线;通过导出模块,可将图表下载为图片或打印图表。

(7)视频监测页面打开视频功能模块对应的查询链接,进入视频登录页面。输入用户名和密码,进入视频监测页面,可对视频进行实时查看、回放。

一般地,每一套设备就需设计1个实时数据页面(realData.jsp)、1个实时曲线页面(realLine.jsp和bb.jsp)、1个历史数据页面(historyData.jsp和historyDataCheck.jsp)、1个历史曲线页面(historyLine jsp和cc.jsp),为了减低重复劳动,在设计相关页面时采用参数传递方法。

5 结语

煤矿工作面输送设备远程在线监测系统监测中心建成后,能够在中心建立长期完善的输送设备运行工况参数历史数据库,可对历史工况进行分析和查询,能够通过互联网,以用户登录方式,浏览系统发布的输送设备运行工况参数,能够为接入中心的煤机装备制造商提供一个大数据平台,进而向煤炭生产企业提供设备远程在线监测诊断服务,可以降低售后维护成本,提高产品核心竞争力,提升煤炭安全生产能力。

[返回]

与上海翔睦机械设备有限公司互动

服务热线:

400-996-8850