基于混合式开发的测震台网运维App的设计与实现
2021-03-15刘炜李文超殷锴
刘炜 李文超 殷锴
摘要:研发用于地震监测领域测震台网运行维护管理的手机软件。软件采用Java和JavaScript语言编写。主要由台站基本信息、台站巡检信息、台站故障信息、物资器材信息等功能模块组成。同时能够对记录的信息进行统计,便于维护人员提前排除隐患,对于保障测震台网运行具有积极的作用。
关键词:测震台网;手机软件;维护;统计
中图分类号:TP311 文献标识码:A
文章编号:1009-3044(2021)03-0116-02
1 背景
目前山西省有57个在运行数字测震台站。实现了全省ML1.2,个别地区ML0.6的监控能力。为山西地区地震活动监测及研究提供了极为宝贵的资料。因此,保障测震台网的运行率和数据的可用率就显得尤为重要[1]。同时,国家烈度速报与预警工程实施后,更加密集的台网也对运行维护体系提出了更高的要求。如何提前排除隐患,仪器故障快速发现,快速解决是一项重要的工作。目前维护工作存在被动性,经验性、记录缺失等问题。基于维护中心的运维需求,开发出一个功能完善、使用便捷、配置简单、成本较低的台网维护管理手机应用App,可以实现在外出维护工作中随时记录,同时电子化的記录方便查询和修改,在巡检和检修故障时及时地记录图片,保存台站的仪器的运行情况[2],台站内外环境的变化。能有效提高故障的处理效率,同时有利于提前排除隐患
2 软件设计
2.1 软件开发环境
软件后台采用JAVA语言编写,在Windows操作系统下需提前安装JAVA运行环境和MySQL数据库。在程序安装包路径下打开Powershell窗口输入“java -jar new.jar”开始运行[3]。软件前台采用Javascript语言编写,在手机安卓系统下直接安装运行。
2.2 设计思路
软件设计思路就是结合山西省地震局北部维护中心实际工作需求以及预警工程实施后将要增加更多的台站,设计一个功能完善,使用便捷的移动端应用程序,利用该软件可以主要完成以下任务:
1)台站的基本信息管理
包括台站基础信息;观测设备信息;供电及供电设备设施信息。
2)台站巡检管理
包括图像记录、文字描述。
3)台站故障处理管理
对于故障的描述,处置情况,恢复情况。通过数据统计,汇出故障原因统计图,对故障的提前排查提供参考。
4)维护中心物资器材管理
记录备机备件型号、参数。
软件主要功能模块图如图1所示。
软件运行主界面如图2所示。
2.3 数据库设计
软件后台采用Mysql5.7数据库。数据库包括:用户信息表、台站信息表、故障信息表、巡检记录表、器材信息表。各表含义如表1所示。
3 软件功能实现及关键代码
3.1 故障统计
故障统计包括故障类型统计和故障数量统计[4]。故障类型统计采用饼状图的形式展示,可显示所选台站所记录的故障类型占故障总发生数量的百分比。便于维护人员根据数据了解所选台站常发生的故障类型有哪些,并根据结果处理,有利于提前排除隐患。故障数量统计采用条状图的形式展示,可根据算选台站记录的故障数量按月份排列。维护人员可根据数据了解所选台站已于发生故障的月份。根据结果处理,同样有利于可以提前排除隐患。(软件故障统计界面如图3所示)实现的部分代码如下:
showPie(canvasId,chartData){canvaPie=newuCharts({$this:_self,canvasId: canvasId,type:'pie',fontSize:11,legend:{show:true},background:'#FFFFFF',pixelRatio:_self.pixelRatio,series:chartData.series,animation:true,width:_self.cWidth*_self.pixelRatio,height:_self.cHeight*_self.pixelRatio,dataLabel:true,extra:{pie:{lableWidth: 15}},});},
showColumn(canvasId,chartData){canvaColumn=newuCharts({$this:_self,canvasId:canvasId,type:'column',legend:{show:true},fontSize:11,background:'#FFFFFF',pixelRatio:_self.pixelRatio,animation:true,categories:chartData.categories,series:chartData.series,xAxis:{disableGrid:true,},yAxis:{//disabled:true},padding:[20,0,0,0],dataLabel:true,width:_self.cWidth*_self.pixelRatio,height:_self.cHeight*_self.pixelRatio,extra:{column:{type:'group',width:_self.cWidth*_self.pixelRatio * 0.45 / chartData.categories.length}}});},
3.2 新增故障信息
新增故障信息包括故障台站名称、故障信息描述、故障照片等信息。可实现统计故障开始与结束时间以及故障持续时长,并统计故障原因以及类型[5]。(软件新增故障信息界面如图4所示。)实现的部分代码如下:
EnvImage(){console.log(API_ROOT)varurl="";varthat=this;uni.chooseImage({count:3,sizeType:['original','compressed'],sourceType:['album','camera'],success:(res)=>{letigmFile=res.tempFilePaths;uni.uploadFile({url:API_ROOT+"xunjian/img",method: "POST",filePath: igmFile[0],name: 'file',success: (res) => {let imgUrls = JSON.parse(res.data);varimgUrls=JSON.parse(res.data)this.EnvimageList=this.EnvimageList.concat(imgUrls.msg);console.log(this.imageList)if(this.EnvimageList.length >= 3) {this.IsImagesShow = false;} else {this.IsImagesShow = true;}}})},});},
previewImage:function(e){varcurrent=e.target.dataset.srcuni.previewImage({current: current,urls: this.imageList})},
4 系統应用
软件于2020年设计完成,并开始在山西省地震局大同中心地震台北部维护中心测试使用。北部维护中心负责管理山西测震台网北部12个测震测点。台站工作人员主要负责台网维护,仪器维修。软件安装使用后,实现了维护人员日常维护工作的无纸化记录,便于随时查看台站信息。通过初期的使用,可有效判台站容易发生的故障类型。为提高台网运行效率发挥了积极的作用。
5 结束语
测震台网运维App具有通用性,可以在更多的台网维护中心推广应用。软件在大同中心地震台试用以来,得到了台站人员的一致好评。解决了记录混乱与缺失的问题,同时可以有效地判断台站易故障类型与时间,提高了工作效率,保障台网运行。但是该应用程序也有很多可以完善与增加的功能。今后可以考虑添加实时状态监控,维护流程标准化等功能。
参考文献:
[1] 梁艳,王鹏伟.山西测震台网台站及设备运行维护管理系统的设计与实现[J].山西地震,2018(2):34-39,43.
[2] 程冬焱,胡玉良,穆慧敏,等.山西地震前兆台网日常运行管理软件[J].地震地磁观测与研究,2016,37(4):181-186.
[3] Bruce Eckel. Java编程思想[M]. 陈昊鹏,译.北京:机械工业出版社,2007.
[4] 殷志刚,徐锡泉,张登科,等.前兆数据质量监控和水位阶变报警软件[J].山西地震,2012(3):24-27,36.
[5] 池海江,张帆,姜佳宁,等.地震台站自动监控与管理软件[J].地震地磁观测与研究,2019,40(5):163-171.
【通联编辑:谢媛媛】