麦俊佳
(广东电网公司 佛山供电局,佛山 528000)
输电线路分布点多面广,经常面临不同地理环境和气候环境的影响,加上人为因素和不可抗自然灾害破坏的影响,使得输电线路又成为电网中最薄弱和最容易发生故障的一部分.一旦输电线路某一部位发生故障则会产生连锁反应,影响整个电网系统的稳定运行.快速、精确地定位线路故障点的位置,既能减轻人工巡线工作量,又有利于及时排除故障,使线路快速恢复供电,减少因停电而造成的综合经济损失,同时还能保证电网的安全稳定运行[1,2].
现有故障定位与故障设备信息查询主要的作业方式是采用人工查询,根据故障测距信息,查阅杆塔明细表,得出故障位置杆塔号,然后开展故障巡视,运维人员利用望远镜或无人机进行故障排查,定位故障设备后,然后查阅故障设备信息,开展抢修复电工作.然而该方法存在着以下3个问题:(1) 发生故障后,必须人工查阅杆塔明细表才能判定故障位置杆塔号,耗费大量时间.(2) 故障巡视时,运维人员不能根据道路路况,按照最省时的路径来到故障杆塔位置,抢修效率降低[3].(3) 发现故障点后,不能第一时间查询到故障设备信息,不能为接下来的抢修复电工作提供真实依据.
本文基于开源的Android系统,借助高德地图API,针对目前高压电力线路跳闸事故应急处理过程中的各种问题,设计开发了一款高压架空线路故障快速定位导航系统,用以精准快速地定位故障杆塔位置,同时具有故障杆塔导航功能和查看故障设备信息功能,直接导航至故障杆塔,查看故障设备相关信息,大大缩短了故障查找时间,提高了应急反应速度和效率,为排除故障,使线路快速恢复供电节省了宝贵时间.
随着移动应用的普及,以及考虑其移动办公的便利性和实际业务的需求,采用Android Studio作为开发平台对系统进行设计.但在设计过程中仍然存在着以下3点问题:(1) 可视化地图显示及导航功能实现问题,为了使系统更直观和易于操作,需要设计地图显示主界面、杆塔显示和线路导航模块.(2) 海量数据交互问题,输电线路分布点多面广,仅佛山地区的输电杆塔坐标数据就有一万多左右,加上设备信息数据有十几万之多,个别数据难免存在错误,此时数据的更新和存储便成为了必须解决的问题.(3) 故障定位算法问题,通常一回输电线路有上百基杆塔,需要精准的计算方法才能通过故障测距信息准确定位故障杆塔.
通过分析,针对不同问题分别提出的解决方案如下:(1) 地图问题,借助商业化的地图软件解决.利用高德地图API接口完成地图显示、杆塔显示和地图导航等功能的实现.(2) 数据交互问题,根据C/S架构进行设计系统客户端和服务端.其中服务端采用百度云MySQL服务器,通过与服务器数据的异步线程连接以实现数据的共享和交互.(3) 算法问题,采用递推算法的思想解决.循环比较输入的测距长度和叠加的杆塔长度,最终计算出故障所处位置.
本系统总体构架包括客户端和服务端.其中客户端为Android系统手机终端.服务端基于百度云MySQL服务器搭建,主要用于储存输电线路杆塔位置和设备信息.客户端与服务端根据C/S架构进行设计,客户端通过移动网络或者无线WiFi连接服务端,进行数据的上传下载[4].线路巡视人员可以利用Android系统的手机终端,通过GPRS或者WiFi将线路杆塔的位置和设备信息及时更新上传到服务端,同时也可从服务端下载更新最新的线路巡视信息.其系统总体构架图如图1所示.
图1 系统总体构架图
为了方便设计管理,系统客户端采用模块化设计[5],其主要分5个模块,分别是载入线路模块、故障定位模块、线路导航模块、信息查询模块和坐标更新模块,总体功能结构图如图2 所示.
图2 总体功能结构图
2.3.1 客户端主界面设计
系统主界面包括主界面地图视图、侧滑栏功能按钮、菜单栏搜索框和底部信息显示窗口,如图3和图4所示.
图3 地图界面
图4 侧滑栏窗口
地图视图借助高德地图API实现,其具体过程如下:(1) 在主界面设置高德地图控件;(2) 将高德地图jar包放入项目的libs文件夹下;(3) 将高德地图API官网申请的密钥配置到项目根目录下的AndroidMainfest.xml中并添加相关操作权限;(4) 重写Activity_main.java的onCreate方法,对地图进行全局初始化[5].
侧滑栏功能按钮通过在主界面设置侧滑栏控件并添加背景画面和系列按钮控件实现视图的显示,其主要包括线路选择、故障定位、坐标更新和信息查询功能.
菜单栏搜索框通过设定自定义toolbar实现,在其中设置自动完成输入框autocompletetextview和搜索按钮button,通过关联内置的输电线路信息数据库,在输入框中输入线路的关键字即出现相关名称的线路提示,在Activity_main.java主程序中添加搜索按钮的监听,按下按钮即可在地图上显示相应线路.
底部信息显示窗口主要设置了两个显示信息的textview和导航button,textview用于显示所选线路杆塔的信息,button用于实现导航的功能.
2.3.2 载入线路模块
载入线路杆塔模块用于载入输电线路杆塔,当在菜单栏搜索框中选择了具体的线路并点击搜索按钮后,系统把内置于数据库中的线路杆塔名称,杆塔号,经纬度等信息导出,所选线路具体线路杆塔便以标记物的形式显示在系统的地图界面中,如图5所示.其具体方法是在菜单栏搜索按钮上增加了载入线路的监听,当选择了具体的线路后查询数据库中的线路杆塔名称,杆塔号,经纬度等信息,把所选杆塔信息导出,以设置标记物的形式显示在地图界面上,从而完成所选线路杆塔的载入.
图5 载入线路界面
2.3.3 故障定位模块
故障定位模块用于实现快速定位输电线路故障杆塔的位置,只需输入故障的线路和故障测距信息,即可定位线路的准确故障位置,同时将故障位置相邻的前后档输电杆塔显示在软件地图上.故障定位界面如图6所示.
为了系统的简洁美观,故障定位界面采用自定义dialog的形式显示,如图6所示,在dialog中设置了线路选择的自动完成输入框和故障测距信息的长度输入框,根据选择的线路和故障测距信息,系统准确的定位故障杆塔号.为了完成定位首先要计算输电线路每段杆塔的长度,其主要方法是采用Android提供的接口Location.distanceBetween,提取选定线路的相邻杆塔号的经纬度,根据经纬度信息采用Location.distanceBetween方法计算相邻杆塔号的距离.计算完成后,将小号杆塔至大号杆塔的每一段线路长度依次储存于数组an[]中,在for循环中比较故障测距信息与数组前n项的大小,若故障测距信息比较大,则n+1,由此通过循环比较计算出故障所处的相邻杆塔.另外为了方便查看计算结果,在自定义dialog中设置了显示杆塔按钮,点击后将提取计算结果的线路杆塔号,查找数据库中此杆塔信息,具体的线路杆塔便以标记物的形式显示在系统的地图界面中,如图7所示.
图6 故障定位界面
图7 故障定位杆塔显示界面
2.3.4 线路导航模块
线路导航模块用于导航至指定的线路杆塔,借助高德地图API,选择需要导航杆塔后自动规划最高效、省时的行车路径,实时导航至目标10 m范围内.其具体实现过程如下:(1) 在Activity_main.java主程序中设置位置监听类onMyLocationChangeListener,当位置发生变化时获取当前位置坐标;(2) 设置导航界面,新建导航布局guaid.xml,在该布局下设置高德地图导航控件;(3) 设置导航程序Guaid.java,设置导航监听AMapNaviViewListener,并在导航监听中定义驾车路径计算方法,计算成功后回调启动导航;(4) 设置主界面底部信息窗口导航按钮的监听,当按下导航按钮启动导航程序Guaid.java,同时默认将当前位置经纬度和设定目标的经纬度传给导航程序,以此完线路驾车导航的开发.导航成功界面如图8所示.
图8 线路导航界面
2.3.5 信息查询模块
信息查询模块用于查询故障设备信息.如图9所示,在dialog中设置了杆塔设备的各种信息输入框,当选择某一线路的某一杆塔,即弹出设置好的dialog界面,并查询数据库中对应线路杆塔的设备信息,将众多信息一一对应显示在自定义dialog界面对应的信息输入框中,从而实现杆塔设备信息的查询.
2.3.6 坐标更新模块
坐标更新模块用于更新错误坐标.坐标更新模块界面采用自定义dialog的形式显示,如图10所示.在dialog中设置了线路选择的自动完成输入框和杆塔选择的spinner下拉列表,选择线路后,系统查询数据库将所选线路的所有杆塔提取,显示在下拉列表spinner中以供选择.完成线路和杆塔的选择后,点击更新按钮,系统即获取当前位置信息,直接更新数据库中相应线路杆塔的位置信息,由此完成相应杆塔坐标的修改.特别的为了实现数据的共享和交互,使数据库坐标信息更加准确高效,在侧滑栏中增加了上传和下载的操作按钮,系统通过异步线程连接百度云MySQL服务器,自动上传或下载铁塔巡视杆塔位置信息.通过与服务器数据的交互,持续更新完善客户端的杆塔位置信息,以形成强大的线路坐标数据库.坐标数据更新界面如图10所示.
图9 设备信息查询界面
图10 坐标更新界面
(1) 快速地定位故障杆塔位置,大大减少人工查询故障定位耗费的时间.
本系统具有输电线路故障点定位显示功能,只要输入故障的线路和故障测距信息,即可定位线路的准确故障位置.系统定位精准高效,改变了传统人工查询故障定位的作业方式,无需人工查阅杆塔明细表即可判定故障位置杆塔号,大大减少人工查询故障定位耗费的时间.
(2) 一键导航至故障杆塔,智能躲避拥堵路段.
本系统具有架空输电线路杆塔导航功能,根据所定位的故障线路杆塔,获取其坐标信息,自动规划最高效、省时的行车路径,一键导航至故障定位的杆塔10米范围内,解决了抢修人员对线路杆塔位置和道路路况不熟悉问题,使输电线路故障应急抢修效率大大提升.
(3) 直接查看故障设备信息,有效提高了应急反应速度和效率.
本系统具有故障设备信息查询功能,可查看故障处线路设备的详细信息,根据故障类别和位置制定应急处置方案,准备作业工具和材料,这大大缩短了运行人员对故障线路设备资料查找时间,提高了应急反应速度和效率,为故障处理前作业工具和材料的准备节省了宝贵的时间.
本系统已在Android系统的手机上安装调试使用,系统各部分功能均正常可靠运行,运行效果图如图11所示.
图11 系统运行画面
特别的,为了增加使用人员的用户体验,增加了温馨提示功能,若各功能模块的操作没有按照固定流程,系统会无法响应该操作,同时系统会弹出消息框提醒按照流程使用,由此避免误操作带来的系统错误的影响[6],比如故障定位功能操作没有按照流程选择线路和输入长度,系统提示如图12所示.
图12 系统提示输入搜索内容
本文基于现有高压电力线路跳闸事故应急处理过程中的问题,借助开源的Android系统和高德地图API,设计并实现了一种高压架空线路故障快速定位导航系统,用以精准快速地定位故障杆塔位置、查看故障设备信息和导航至故障杆塔.本系统实现了载入线路、故障定位、线路导航、信息查询和坐标更新等五大模块功能.为验证系统可靠性与作用,系统开发结束后,实地测试证明了系统的可靠性及高效性.经验证本系统创新了传统人工查询故障定位的作业模式,改传统的人工查询为系统定位,并具有故障杆塔导航功能和查看故障设备信息功能,直接导航至故障杆塔,查看故障设备相关信息,大大缩短了故障查找时间,提高了应急反应速度和效率,为排除故障,使线路快速恢复供电节省了宝贵的时间.
1 李德刚.架空输电线路故障测距方法综述.城市建设理论研究:电子版,2016,(14):1996.
2 李涛,裴文辉.输电线路智能巡检故障定位系统.信息系统工程,2013,(3):87.
3 王冠宇.输电线路手机卫星地图导航系统的定制与应用探究.机电信息,2015,(33):41,43.
4 陈福集,游丹丹.基于Android的移动交警执法系统.计算机系统应用,2016,25(2):22-30.
5 郑秋梅,苏政,龚雪松,等.基于Android的手机校园导航系统.计算机系统应用,2017,26(2):58-62.
6 韩文智,骆文亮.Android平台的移动APP开发方法与应用研究.四川理工学院学报(自然科学版),2015,28(3):22-26.[doi:10.11863/j.suse.2015.03.05]