用电安全隐患信息处理方法及用电安全监管服务系统与流程

未命名 08-07 阅读:96 评论:0


1.本发明属于电力服务技术领域,特别是涉及用电安全隐患信息处理方法及用电安全监管服务系统。


背景技术:

2.用电安全问题是社会关注的焦点,尤其是在工业和居民用电领域。由于各种原因,例如设备的损坏、维护的缺乏、人为的操作错误等,都可能导致电力设备发生故障,甚至可能引发火灾等严重事故。
3.同时,电力监管机构在用电安全管理方面也面临着一些挑战。例如,传统的用电安全监管方式通常需要人员现场巡查和检查,这种方式效率低下,耗时且耗力,而且无法做到实时监控。另外,即使发现了用电设备的隐患,也需要及时将这些信息反馈给相关人员,并对隐患进行跟踪管理,这在大规模的电力系统中同样具有挑战性。


技术实现要素:

4.本发明的目的在于提供用电安全隐患信息处理方法及用电安全监管服务系统,通过对具有安全隐患的电力设备和用电设备进行监控分析,在有限的电力维护能力状态下提高了管理范围内整体用电安全程度。
5.为解决上述技术问题,本发明是通过以下技术方案实现的:本发明提供一种用电安全隐患信息处理方法,包括,获取管理区域内电力设备的位置;持续获取管理区域内漏电传感器的监测结果,得到所述电力设备的漏电时间;根据所述电力设备的位置以及漏电时间得到在历史不同时段所述管理区域内漏电的所述电力设备的位置分布;对于每个历史不同时段,根据所述管理区域内漏电的所述电力设备的位置分布获取所述管理区域内漏电的所述电力设备的漏电时长;根据每个历史不同时段中所述管理区域内漏电的所述电力设备的位置和漏电时长得到每个历史不同时段中所述管理区域内的若干个待排查电力设备;根据每个待排查电力设备的漏电时间生成检修顺序。
6.本发明还公开了一种用电安全隐患信息处理方法,包括,接收以上所述的检修顺序;按照所述检修顺序对待排查电力设备进行检修。
7.本发明还公开了一种用电安全监管服务系统,包括,定位单元,用于获取管理区域内电力设备的位置;信息收集单元,用于持续获取管理区域内漏电传感器的监测结果,得到所述电力设备的漏电时间;维保调配单元,用于根据所述电力设备的位置以及漏电时间得到在历史不同时段
所述管理区域内漏电的所述电力设备的分布范围;对于每个历史不同时段,获取所述管理区域内漏电的所述电力设备的漏电时长;根据每个历史不同时段中所述管理区域内漏电的所述电力设备的位置和漏电时长得到每个历史不同时段中所述管理区域内的若干个待排查电力设备;根据每个待排查电力设备的漏电时间生成检修顺序;检修单元,用于按照所述检修顺序对待排查电力设备进行检修。
8.本发明通过监控分析电力设备和用电设备,提高了有限电力维护能力下的整体用电安全水平。本系统包括定位单元、信息收集单元、维保调配单元和检修单元。在运行过程中由定位单元获取设备位置,再由信息收集单元连续获取漏电传感器的结果,得到设备的漏电时间,之后由维保调配单元根据设备位置和漏电时间,获取不同时段内漏电设备的分布范围,以及每个时段内漏电设备的漏电时长,从而得到待排查设备,并且根据待排查设备的漏电时间生成检修顺序。最后由检修单元按照这个顺序对待排查设备进行检修。本系统提升了电力设备的安全管理效率和用电设备的运行安全度。
9.当然,实施本发明的任一产品并不一定需要同时达到以上所述的所有优点。
附图说明
10.为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
11.图1为本发明所述用电安全监管服务系统于一实施例的功能模块和信息流向示意图;图2为本发明所述用电安全隐患信息处理方法于一实施例的步骤流程示意图一;图3为本发明所述步骤s3于一实施例的步骤流程示意图;图4为本发明所述步骤s5于一实施例的步骤流程示意图;图5为本发明所述步骤s52于一实施例的步骤流程示意图;图6为本发明所述步骤s6于一实施例的步骤流程示意图;图7为本发明所述用电安全隐患信息处理方法于一实施例的步骤流程示意图;图8为本发明所述步骤s9于一实施例的步骤流程示意图;图9为本发明所述步骤s93至s94于一实施例的步骤流程示意图;图10为本发明所述用电安全隐患信息处理方法于一实施例的示意图三;附图中,各标号所代表的部件列表如下:1-定位单元,2-信息收集单元,3-维保调配单元,4-检修单元。
具体实施方式
12.下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
13.用电设备由于各种原因可能会产生漏电现象,同时距离相近也漏电时间具有相关性的多个漏电设备之间具有牵连性,可能是其中一台用电设备异常导致其它正常的用电设备也发生漏电现象。漏电不仅会造成电能损耗,更是会对电力工作人员和群众造成极大的安全威胁,为了快速有效对漏电设备进行快速高效维护,需要对多个漏电的用电设备进行优先级排序,用以实现有限的电力维护能力状态下提高了管理范围内整体用电安全程度的技术效果,具体方案如下。
14.请参阅图1所示,本发明提供了一种用电安全监管服务系统,从功能模块上划分可以包括定位单元1、信息收集单元2、维保调配单元3以及检修单元4。首先可以由定位单元1执行步骤s1获取管理区域内电力设备的位置,此处的位置可以是地图上的二维坐标。与此同时本方案中提及的电力设备不仅仅是输变电设备,也包括各种民用或工商使用的用电设备。
15.接下来可以由信息收集单元2执行步骤s2持续获取管理区域内漏电传感器的监测结果,得到电力设备的漏电时间,也就是电力设备漏断时刻的分布状态。之后可以由维保调配单元3执行步骤s3根据电力设备的位置以及漏电时间得到在历史不同时段管理区域内漏电的电力设备的分布范围。对于每个历史不同时段,接下来可以执行步骤s4获取管理区域内漏电的电力设备的漏电时长。接下来可以执行步骤s5根据每个历史不同时段中管理区域内漏电的电力设备的位置和漏电时长得到每个历史不同时段中管理区域内的若干个待排查电力设备。接下来可以执行步骤s6根据每个待排查电力设备的漏电时间生成检修顺序,也就是检修不同电力设备的先后顺序。
16.最后可以由检修单元4执行步骤s7按照检修顺序对待排查电力设备进行检修。本方案中的检修单元可以是虚拟的检修班组,也可以是巡线检修机械人等自动化设备。
17.在硬件部署上,本方案中的定位单元1可以是定位设备,也可以是记录各个电力设备位置的存储器。信息收集单元2可以是分布式部署在用电设备的漏电传感器。维保调配单元3可以是部署于云端的服务器,在运行过程中根据定位单元1和信息收集单元2传输的信息构建基于gis(地理信息系统)的运营管理平台,生成城市信息模型。可以将维保调配单元3生成的检修顺序通过pc客户端、移动端、监控中心、户外led屏、微信及短信发布端进行发布。检修单元4在接收检修顺序后对电力设备进行检修。
18.以上步骤在实施的过程中,通过对电力设备及用电设备的监控分析,提升了电力维护能力有限情况下的安全度。系统由定位、信息搜集、维保调配和检修单元构成。在运作中,定位单元负责定位设备,信息搜集单元持续收集漏电传感器数据,获取设备漏电时刻。维保调配单元根据设备位置和漏电时刻,确定各时段漏电设备的分布和漏电时长,以识别需排查设备,并依其漏电时刻安排检修顺序。最终,检修单元按此顺序对设备进行检修。这一系统提高了电力设备管理效率,增强了用电设备安全。
19.以上步骤在实施的过程中可以通过以下代码模块实现,受限于篇幅仅展示核心算法部分。
20.import java.util.*;public class electricmaintenance {
ꢀꢀꢀꢀ
map《string, electricdevice》 devices = new hashmap《》();
ꢀꢀꢀꢀ
public void getdevicelocations() {
ꢀꢀꢀꢀꢀꢀꢀꢀ
//
ꢀꢀ
getlocationsfromdb() 是一个方法,从数据库获取所有设备位置的信息
ꢀꢀꢀꢀꢀꢀꢀꢀ
list《devicelocation》 devicelocations = getlocationsfromdb();
ꢀꢀꢀꢀꢀꢀꢀꢀ
for (devicelocation location : devicelocations) {
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
electricdevice device = new electricdevice();
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
device.id = location.deviceid;
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
device.location = location.location;
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
devices.put(device.id, device);
ꢀꢀꢀꢀꢀꢀꢀꢀ
}
ꢀꢀꢀꢀ
}
ꢀꢀꢀꢀ
public void getleakagedata() {
ꢀꢀꢀꢀꢀꢀꢀꢀ
//
ꢀꢀ
getleakagedatafromsensor() 是一个方法,从传感器获取所有设备的漏电数据
ꢀꢀꢀꢀꢀꢀꢀꢀ
list《leakagedata》 leakagedatalist = getleakagedatafromsensor();
ꢀꢀꢀꢀꢀꢀꢀꢀ
for (leakagedata data : leakagedatalist) {
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
electricdevice device = devices.get(data.deviceid);
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
if (device != null) {
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
device.leakagetime = data.leakagetime;
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
}
ꢀꢀꢀꢀꢀꢀꢀꢀ
}
ꢀꢀꢀꢀ
}
ꢀꢀꢀꢀ
public void generatedevicedistribution() {
ꢀꢀꢀꢀꢀꢀꢀꢀ
//
ꢀꢀ
createhistoricaldistribution() 是一个方法,根据设备位置和漏电时间生成历史时段内的设备位置分布
ꢀꢀꢀꢀꢀꢀꢀꢀ
map《string, devicedistribution》 distributions = createhistoricaldistribution(devices.values());
ꢀꢀꢀꢀꢀꢀꢀꢀ
for (devicedistribution distribution : distributions.values()) {
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
// 根据设备位置分布获取每个设备的漏电时长
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
distribution.leakageduration = getleakageduration(distribution);
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
// 根据设备位置和漏电时长生成待排查设备列表
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
distribution.tobeinspected = generatetobeinspecteddevices(distribution);
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
// 根据待排查设备的漏电时间生成检修顺序
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
distribution.repairorder = generaterepairorder(distribution.tobeinspected);
ꢀꢀꢀꢀꢀꢀꢀꢀ
}
ꢀꢀꢀꢀ
}
ꢀꢀꢀꢀ
//... 其他方法的实现,包括与数据库、传感器的交互,以及具体的数据处理等}electricdevice、devicelocation、leakagedata、devicedistribution 是数据结构,代表电力设备、设备位置、漏电数据和设备分布。此外,此示例还公开了一些与数据库、传感器的交互方法,以及具体的数据处理方法。
21.请参阅图3所示,为了划分时长相同的时段,以便于对不同电力设备的漏电相关性进行分析,上述的步骤s3在实施的过程中首先可以执行步骤s31根据电力设备的漏电时间的分布范围得到电力设备的监测时长。接下来可以执行步骤s32获取管理区域内全部电力设备的监测时长的公约数作为统计时长。最后可以执行步骤s33按照统计时长进行时间分段得到在每个统计时长的时段内管理区域内漏电的电力设备的位置分布。
22.以上步骤在实施的过程中可以通过以下代码模块实现,受限于篇幅仅展示核心算法部分。
23.import java.util.*;public class electricmaintenance {
ꢀꢀꢀꢀ
private class leakagedevice {
ꢀꢀꢀꢀꢀꢀꢀꢀ
public double x, y;
ꢀꢀꢀꢀꢀꢀꢀꢀ
public double leakageduration;
ꢀꢀꢀꢀꢀꢀꢀꢀ
public leakagedevice(double x, double y, double leakageduration) {
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
this.x = x;
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
this.y = y;
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
this.leakageduration = leakageduration;
ꢀꢀꢀꢀꢀꢀꢀꢀ
}
ꢀꢀꢀꢀ
}
ꢀꢀꢀꢀ
private class deviceleakagedata {
ꢀꢀꢀꢀꢀꢀꢀꢀ
public double x, y;
ꢀꢀꢀꢀꢀꢀꢀꢀ
public map《string, double》 historicalleakagetimes;
ꢀꢀꢀꢀꢀꢀꢀꢀ
public deviceleakagedata(double x, double y) {
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
this.x = x;
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
this.y = y;
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
this.historicalleakagetimes = new hashmap《》();
ꢀꢀꢀꢀꢀꢀꢀꢀ
}
ꢀꢀꢀꢀ
}
ꢀꢀꢀꢀ
public map《string, list《deviceleakagedata》》 generatehistoricalleakagedata(list《leakagedevice》 devices) {
ꢀꢀꢀꢀꢀꢀꢀꢀ
map《string, list《deviceleakagedata》》 historicaldata = new hashmap《》();
ꢀꢀꢀꢀꢀꢀꢀꢀ
// 计算公约数作为统计时长
ꢀꢀꢀꢀꢀꢀꢀꢀ
double gcd = calculategcd(devices);
ꢀꢀꢀꢀꢀꢀꢀꢀ
for (leakagedevice device : devices) {
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
// 计算设备的监测时长
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
double monitoringduration = calculatemonitoringduration(device.leakageduration, gcd);
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
for (int i = 0; i 《 monitoringduration; i += gcd) {
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
string period = string.format("period%d", i);
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
historicaldata.computeifabsent(period, k
ꢀ‑
》 new arraylist《》()).add(new deviceleakagedata(device.x, device.y));
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
}
ꢀꢀꢀꢀꢀꢀꢀꢀ
}
ꢀꢀꢀꢀꢀꢀꢀꢀ
return historicaldata;
ꢀꢀꢀꢀ
}
ꢀꢀꢀꢀ
private double calculategcd(list《leakagedevice》 devices) {
ꢀꢀꢀꢀꢀꢀꢀꢀ
// 实现计算公约数的逻辑
ꢀꢀꢀꢀꢀꢀꢀꢀ
// 这个函数的具体实现将取决于具体需求和数据
ꢀꢀꢀꢀꢀꢀꢀꢀ
return 1;
ꢀꢀꢀꢀ
}
ꢀꢀꢀꢀ
private double calculatemonitoringduration(double leakageduration, double gcd) {
ꢀꢀꢀꢀꢀꢀꢀꢀ
// 实现计算监测时长的逻辑
ꢀꢀꢀꢀꢀꢀꢀꢀ
// 这个函数的具体实现将取决于具体需求和数据
ꢀꢀꢀꢀꢀꢀꢀꢀ
return 1;
ꢀꢀꢀꢀ
}}在上述代码中,generatehistoricalleakagedata()函数遍历每个漏电设备,计算设备的监测时长,然后根据监测时长和统计时长,为每个统计时段生成一个deviceleakagedata对象。deviceleakagedata对象包含了设备的位置和该时段的漏电时间。具体的公约数计算和监测时长计算逻辑由calculategcd()和calculatemonitoringduration()函数实现。
24.请参阅图4所示,由于每个漏电的电力设备的位置和漏电状态进行量化标记,上述的步骤s5在实施的过程中首先可以执行步骤s51根据管理区域内漏电的电力设备的位置以及漏电时长得到由漏电的电力设备的二维坐标和漏电时长组成的三维向量作为漏电的电力设备的量化指标。接下来可以执行步骤s52根据每个漏电的电力设备的量化指标挑选出若干个排查区域以及每个排查区域内的待排查电力设备。最后可以执行步骤s53将每个统计时长的时段内的全部排查区域内的待排查设备汇总得到每个历史不同时段中管理区域内的若干个待排查电力设备。
25.以上步骤在实施的过程中可以通过以下代码模块实现,受限于篇幅仅展示核心算
法部分。
26.import java.util.*;public class electricmaintenance {
ꢀꢀꢀꢀ
private class leakagedevice {
ꢀꢀꢀꢀꢀꢀꢀꢀ
public double x, y;
ꢀꢀꢀꢀꢀꢀꢀꢀ
public double leakageduration;
ꢀꢀꢀꢀꢀꢀꢀꢀ
public leakagedevice(double x, double y, double leakageduration) {
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
this.x = x;
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
this.y = y;
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
this.leakageduration = leakageduration;
ꢀꢀꢀꢀꢀꢀꢀꢀ
}
ꢀꢀꢀꢀ
}
ꢀꢀꢀꢀ
private class leakagedevicequantitativeindex {
ꢀꢀꢀꢀꢀꢀꢀꢀ
public double x, y, z;
ꢀꢀꢀꢀꢀꢀꢀꢀ
public leakagedevicequantitativeindex(double x, double y, double z) {
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
this.x = x;
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
this.y = y;
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
this.z = z;
ꢀꢀꢀꢀꢀꢀꢀꢀ
}
ꢀꢀꢀꢀ
}
ꢀꢀꢀꢀ
private class investigationarea {
ꢀꢀꢀꢀꢀꢀꢀꢀ
public list《leakagedevicequantitativeindex》 devicestoinvestigate;
ꢀꢀꢀꢀꢀꢀꢀꢀ
public investigationarea() {
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
this.devicestoinvestigate = new arraylist《》();
ꢀꢀꢀꢀꢀꢀꢀꢀ
}
ꢀꢀꢀꢀ
}
ꢀꢀꢀꢀ
public map《string, investigationarea》 generateinvestigationareas(list《leakagedevice》 devices) {
ꢀꢀꢀꢀꢀꢀꢀꢀ
map《string, investigationarea》 investigationareas = new hashmap《》();
ꢀꢀꢀꢀꢀꢀꢀꢀ
double gcd = calculategcd(devices);
ꢀꢀꢀꢀꢀꢀꢀꢀ
for (leakagedevice device : devices) {
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
double monitoringduration = calculatemonitoringduration(device.leakageduration, gcd);
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
for (int i = 0; i 《 monitoringduration; i += gcd) {
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
string period = string.format("period%d", i);
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
leakagedevicequantitativeindex quantitativeindex = new leakagedevicequantitativeindex(device.x, device.y, device.leakageduration);
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
investigationareas.computeifabsent(period, k
ꢀ‑
》 new investigationarea()).devicestoinvestigate.add(quantitativeindex);
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
}
ꢀꢀꢀꢀꢀꢀꢀꢀ
}
ꢀꢀꢀꢀꢀꢀꢀꢀ
return investigationareas;
ꢀꢀꢀꢀ
}
ꢀꢀꢀꢀ
private double calculategcd(list《leakagedevice》 devices) {
ꢀꢀꢀꢀꢀꢀꢀꢀ
// 实现计算公约数的逻辑
ꢀꢀꢀꢀꢀꢀꢀꢀ
// 这个函数的具体实现将取决于具体需求和数据
ꢀꢀꢀꢀꢀꢀꢀꢀ
return 1;
ꢀꢀꢀꢀ
}
ꢀꢀꢀꢀ
private double calculatemonitoringduration(double leakageduration, double gcd) {
ꢀꢀꢀꢀꢀꢀꢀꢀ
// 实现计算监测时长的逻辑
ꢀꢀꢀꢀꢀꢀꢀꢀ
// 这个函数的具体实现将取决于具体需求和数据
ꢀꢀꢀꢀꢀꢀꢀꢀ
return 1;
ꢀꢀꢀꢀ
}}在这个代码中,首先为每个设备生成一个leakagedevicequantitativeindex对象,该对象包含设备的二维坐标和漏电时长。然后根据每个设备的量化指标挑选出待排查设备,并将它们存储在investigationarea对象中。最后,将每个时段的所有排查区域汇总到一个map中,键是时段的标识,值是该时段的排查区域。
27.请参阅图5所示,漏电的电力设备往往是成片分布,其中漏电严重的电力设备往往是所在漏电片区的源头,因此需要对其进行先维修,有鉴于此,上述的步骤s52在具体实施的过程中首先可以执行步骤s521在全部的漏电的电力设备的量化指标中选择若干个作为待排查电力设备的量化指标,记为待排查量化指标。接下来可以执行步骤s522获取待排查量化指标与其它量化指标的差值模长。接下来可以执行步骤s523将其它量化指标与差值模长最小的待排查量化指标组成一个排查集合。接下来可以执行步骤s524获取每个排查集合中与对应均值向量的差值模长最小的量化指标作为更新后的待排查量化指标。接下来可以执行步骤s525判断更新后的待排查量化指标是否发生变化。若是则接下来可以执行步骤s526根据更新后的待排查量化指标更新排查集合,若否则接下来可以执行步骤s527输出更新后的排查集合中全部量化指标对应的电力设备的位置范围作为排查区域。最后可以执行步骤s528将排查集合内的待排查量化指标对应的电力设备作为排查区域内的待排查电力设备。
28.以上步骤在实施的过程中可以通过以下代码模块实现,受限于篇幅仅展示核心算法部分。
29.import java.util.*;public class electricmaintenance {
ꢀꢀꢀꢀ
private class leakagedevice {
ꢀꢀꢀꢀꢀꢀꢀꢀ
public double x, y;
ꢀꢀꢀꢀꢀꢀꢀꢀ
public double leakageduration;
ꢀꢀꢀꢀꢀꢀꢀꢀ
public leakagedevice(double x, double y, double leakageduration) {
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
this.x = x;
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
this.y = y;
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
this.leakageduration = leakageduration;
ꢀꢀꢀꢀꢀꢀꢀꢀ
}
ꢀꢀꢀꢀ
}
ꢀꢀꢀꢀ
private class leakagedevicequantitativeindex {
ꢀꢀꢀꢀꢀꢀꢀꢀ
public double x, y, z;
ꢀꢀꢀꢀꢀꢀꢀꢀ
public leakagedevicequantitativeindex(double x, double y, double z) {
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
this.x = x;
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
this.y = y;
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
this.z = z;
ꢀꢀꢀꢀꢀꢀꢀꢀ
}
ꢀꢀꢀꢀ
}
ꢀꢀꢀꢀ
private class investigationarea {
ꢀꢀꢀꢀꢀꢀꢀꢀ
public list《leakagedevicequantitativeindex》 devicestoinvestigate;
ꢀꢀꢀꢀꢀꢀꢀꢀ
public leakagedevicequantitativeindex centroid;
ꢀꢀꢀꢀꢀꢀꢀꢀ
public investigationarea() {
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
this.devicestoinvestigate = new arraylist《》();
ꢀꢀꢀꢀꢀꢀꢀꢀ
}
ꢀꢀꢀꢀ
}
ꢀꢀꢀꢀ
public map《string, investigationarea》 generateinvestigationareas(list《leakagedevicequantitativeindex》 devices, int k) {
ꢀꢀꢀꢀꢀꢀꢀꢀ
list《investigationarea》 investigationareas = new arraylist《》();
ꢀꢀꢀꢀꢀꢀꢀꢀ
// initiate k investigationareas with random centroids
ꢀꢀꢀꢀꢀꢀꢀꢀ
random random = new random();
ꢀꢀꢀꢀꢀꢀꢀꢀ
for (int i = 0; i 《 k; i++) {
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
investigationarea investigationarea = new investigationarea();
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
investigationarea.centroid = devices.get(random.nextint
(devices.size()));
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
investigationareas.add(investigationarea);
ꢀꢀꢀꢀꢀꢀꢀꢀ
}
ꢀꢀꢀꢀꢀꢀꢀꢀ
boolean centroidschanged;
ꢀꢀꢀꢀꢀꢀꢀꢀ
do {
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
// clear clusters
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
for (investigationarea area : investigationareas) {
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
area.devicestoinvestigate.clear();
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
}
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
// assign each device to the nearest cluster
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
for (leakagedevicequantitativeindex device : devices) {
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
investigationarea nearestcluster = findnearestcluster(device, investigationareas);
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
nearestcluster.devicestoinvestigate.add(device);
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
}
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
centroidschanged = false;
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
// recalculate cluster centroids and check for change
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
for (investigationarea area : investigationareas) {
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
leakagedevicequantitativeindex newcentroid = calculatecentroid(area.devicestoinvestigate);
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
if (!newcentroid.equals(area.centroid)) {
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
centroidschanged = true;
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
area.centroid = newcentroid;
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
}
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
}
ꢀꢀꢀꢀꢀꢀꢀꢀ
} while (centroidschanged);
ꢀꢀꢀꢀꢀꢀꢀꢀ
// transform list of clusters to map for output
ꢀꢀꢀꢀꢀꢀꢀꢀ
map《string, investigationarea》 investigationareasmap = new hashmap《》();
ꢀꢀꢀꢀꢀꢀꢀꢀ
for (int i = 0; i 《 investigationareas.size(); i++) {
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
investigationareasmap.put("area " + i, investigationareas.get(i));
ꢀꢀꢀꢀꢀꢀꢀꢀ
}
ꢀꢀꢀꢀꢀꢀꢀꢀ
return investigationareasmap;
ꢀꢀꢀꢀ
}
ꢀꢀꢀꢀ
private investigationarea findnearestcluster(leakagedevicequantitativeindex device, list《investigationarea》 investigationareas) {
ꢀꢀꢀꢀꢀꢀꢀꢀ
investigationarea nearest = null;
ꢀꢀꢀꢀꢀꢀꢀꢀ
double smallestdistance = double.max_value;
ꢀꢀꢀꢀꢀꢀꢀꢀ
for (investigationarea area : investigationareas) {
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
double distance = calculatedistance(device, area.centroid);
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
if (distance 《 smallestdistance) {
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
smallestdistance = distance;
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
nearest = area;
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
}
ꢀꢀꢀꢀꢀꢀꢀꢀ
}
ꢀꢀꢀꢀꢀꢀꢀꢀ
return nearest;
ꢀꢀꢀꢀ
}
ꢀꢀꢀꢀ
private double calculatedistance(leakagedevicequantitativeindex device1, leakagedevicequantitativeindex device2) {
ꢀꢀꢀꢀꢀꢀꢀꢀ
double dx = device1.x
ꢀ‑ꢀ
device2.x;
ꢀꢀꢀꢀꢀꢀꢀꢀ
double dy = device1.y
ꢀ‑ꢀ
device2.y;
ꢀꢀꢀꢀꢀꢀꢀꢀ
double dz = device1.z
ꢀ‑ꢀ
device2.z;
ꢀꢀꢀꢀꢀꢀꢀꢀ
return math.sqrt(dx * dx + dy * dy + dz * dz);
ꢀꢀꢀꢀ
}
ꢀꢀꢀꢀ
private leakagedevicequantitativeindex calculatecentroid(list《leakagedevicequantitativeindex》 devices) {
ꢀꢀꢀꢀꢀꢀꢀꢀ
double x = 0, y = 0, z = 0;
ꢀꢀꢀꢀꢀꢀꢀꢀ
for (leakagedevicequantitativeindex device : devices) {
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
x += device.x;
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
y += device.y;
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
z += device.z;
ꢀꢀꢀꢀꢀꢀꢀꢀ
}
ꢀꢀꢀꢀꢀꢀꢀꢀ
int n = devices.size();
ꢀꢀꢀꢀꢀꢀꢀꢀ
return new leakagedevicequantitativeindex(x / n, y / n, z / n);
ꢀꢀꢀꢀ
}}此段java代码实现了根据每个漏电的电力设备的量化指标挑选出若干个排查区域以及每个排查区域内的待排查电力设备的步骤。通过定义设备对象和区域对象,将每个设备分配到最近的区域,并根据新的区域内设备更新区域中心。此过程重复进行,直到所有区域中心不再发生变化,此时区域内的设备即为待排查设备。
30.请参阅图6所示,不同的待排查电力设备之间的状态不同,也需要对其进行检修顺序的排序。具体而言上述的步骤s6在实施的过程中首先可以执行步骤s61根据每个待排查电力设备的漏电时间得到每个待排查电力设备漏电时长。接下来可以执行步骤s62获取每个待排查电力设备对应的排查区域内全部电力设备的数量。接下来可以执行步骤s63根据
每个待排查电力设备对应的排查区域内全部电力设备的数量之间的比值计算每个待排查电力设备之间的重要性系数。接下来可以执行步骤s64根据每个待排查电力设备之间的重要性系数对对应的漏电时长进行修正,得到每个待排查电力设备的排序值。最后可以执行步骤s65按照每个待排查电力设备的排序值由大至小进行排序得到检修顺序。
31.以上步骤在实施的过程中可以通过以下代码模块实现,受限于篇幅仅展示核心算法部分。
32.import java.util.*;public class main {
ꢀꢀꢀꢀ
public static void main(string[] args) {
ꢀꢀꢀꢀꢀꢀꢀꢀ
// 定义待排查电力设备集合
ꢀꢀꢀꢀꢀꢀꢀꢀ
list《device》 devices = new arraylist《》();
ꢀꢀꢀꢀꢀꢀꢀꢀ
// 已经获取了待排查电力设备信息,并添加到devices集合中
ꢀꢀꢀꢀꢀꢀꢀꢀ
// 根据每个待排查电力设备的漏电时间计算重要性系数,并对漏电时长进行修正,得到排序值
ꢀꢀꢀꢀꢀꢀꢀꢀ
for (device device : devices) {
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
// 计算重要性系数,这里用设备数量的倒数作为重要性系数
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
double importancecoefficient = 1.0 / device.areadevicescount;
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
// 根据重要性系数修正漏电时长得到排序值
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
device.sortvalue = device.leakagetime * importancecoefficient;
ꢀꢀꢀꢀꢀꢀꢀꢀ
}
ꢀꢀꢀꢀꢀꢀꢀꢀ
// 根据排序值进行排序,得到检修顺序
ꢀꢀꢀꢀꢀꢀꢀ
devices.sort((a, b)
ꢀ‑
》 double.compare(b.sortvalue, a.sortvalue));
ꢀꢀꢀꢀꢀꢀꢀꢀ
// 打印设备检修顺序
ꢀꢀꢀꢀꢀꢀꢀꢀ
for (device device : devices) {
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
system.out.println(device.deviceid);
ꢀꢀꢀꢀꢀꢀꢀꢀ
}
ꢀꢀꢀꢀ
}}// 定义设备类class device {
ꢀꢀꢀꢀ
string deviceid; // 设备id
ꢀꢀꢀꢀ
double leakagetime; // 漏电时间
ꢀꢀꢀꢀ
int areadevicescount; // 设备对应的排查区域内全部电力设备的数量
ꢀꢀꢀꢀ
double sortvalue; // 排序值}请参阅图7所示,对于已经完成检修的电力设备,需要根据其后续的漏电状态判断
是否需要二次检修,但在此之前还需要判断之前的检修是否有效。有鉴于此,对于已完成检修的电力设备,上述的步骤s6在实施完毕之后还可以接下来可以执行步骤s8持续根据对应漏电传感器的监测结果获取电力设备的检修后漏电时间。接下来可以执行步骤s9根据已完成检修的电力设备的检修前的漏电时间以及检修后漏电时间判断电力设备的检修是否是有效检修。若是则接下来可以执行步骤s10保持电力设备的检修前的漏电时间,若否则最后可以执行步骤s11清空电力设备的检修前的漏电时间,也就是认为电力设备的检修有效,不需要将检修前的漏电状态纳入分析考虑。
[0033]
请参阅图8所示,为了判断维修前后电力设备的漏电状态是否相同,可以判断在一个特定时间区间内漏电时长占比是否相同。有鉴于此,在电力设备检修后,上述的步骤s9在具体实施的过程中首先可以执行步骤s91持续获取电力设备的漏电时间。接下来可以执行步骤s92根据电力设备的漏电时间获取检修后漏电时长与总时长的比值。接下来可以执行步骤s93根据检修后时长得到检测窗口时长。最后可以执行步骤s94根据电力设备检修前的漏电时间以及检修后的漏电时间在检测窗口时长内的漏电时长判断电力设备的检修是否是有效检修。
[0034]
以上步骤在实施的过程中可以通过以下代码模块实现,受限于篇幅仅展示核心算法部分。
[0035]
public class main {
ꢀꢀꢀꢀ
public static void main(string[] args) {
ꢀꢀꢀꢀꢀꢀꢀꢀ
// 设备已完成检修,得到了设备检修前和检修后的漏电时间
ꢀꢀꢀꢀꢀꢀꢀꢀ
device device = new device();
ꢀꢀꢀꢀꢀꢀꢀꢀ
device.deviceid = "device1";
ꢀꢀꢀꢀꢀꢀꢀꢀ
device.prerepairleakagetime = 60; // 检修前漏电时间,例如60分钟
ꢀꢀꢀꢀꢀꢀꢀꢀ
device.postrepairleakagetime = 30; // 检修后漏电时间,例如30分钟
ꢀꢀꢀꢀꢀꢀꢀꢀ
device.totalduration = 120; // 设备检修后总时长,例如120分钟
ꢀꢀꢀꢀꢀꢀꢀꢀ
// 检修后漏电时长与总时长的比值
ꢀꢀꢀꢀꢀꢀꢀꢀ
double leakageratio = device.postrepairleakagetime / device.totalduration;
ꢀꢀꢀꢀꢀꢀꢀꢀ
// 检测窗口时长,这里检测窗口时长为设备检修后总时长的一半
ꢀꢀꢀꢀꢀꢀꢀꢀ
double detectionwindowduration = device.totalduration / 2;
ꢀꢀꢀꢀꢀꢀꢀꢀ
// 检修前和检修后在检测窗口时长内的漏电时长,检修前后的漏电时间都均匀分布
ꢀꢀꢀꢀꢀꢀꢀꢀ
double prerepairwindowleakagetime = device.prerepairleakagetime * (detectionwindowduration / device.totalduration);
ꢀꢀꢀꢀꢀꢀꢀꢀ
double postrepairwindowleakagetime = device.postrepairleakagetime * (detectionwindowduration / device.totalduration);
ꢀꢀꢀꢀꢀꢀꢀꢀ
// 判断电力设备的检修是否是有效检修,这里如果检修后漏电时长减少,即视为有效检修
ꢀꢀꢀꢀꢀꢀꢀꢀ
if (postrepairwindowleakagetime 《 prerepairwindowleakagetime) {
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
system.out.println(device.deviceid + " 的检修是有效的。");
ꢀꢀꢀꢀꢀꢀꢀꢀ
} else {
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
system.out.println(device.deviceid + " 的检修是无效的。");
ꢀꢀꢀꢀꢀꢀꢀꢀ
}
ꢀꢀꢀꢀ
}}// 定义设备类class device {
ꢀꢀꢀꢀ
string deviceid; // 设备id
ꢀꢀꢀꢀ
double prerepairleakagetime; // 检修前漏电时间
ꢀꢀꢀꢀ
double postrepairleakagetime; // 检修后漏电时间
ꢀꢀꢀꢀ
double totalduration; // 设备检修后总时长}本段代码中检修前后的漏电时间都均匀分布在总时长内,所以在计算检测窗口时长内的漏电时长时,直接按比例计算。如果实际情况与此不同,可能需要更复杂的方法来计算检测窗口时长内的漏电时长。
[0036]
请参阅图9所示,为了对维修前后的漏电时长占比进行比对,上述的步骤s93和步骤s94在具体实施的过程中首先可以执行步骤s93-94.1将检修后时长作为检测窗口时长。接下来可以执行步骤s93-94.2在电力设备检修前的时段内任意抽取连续的检测窗口时长内的漏电时间。接下来可以执行步骤s93-94.3获取电力设备检修前任意检测窗口时长内的漏电时间占检测窗口时长的比例。接下来可以执行步骤s93-94.4判断在电力设备检修前任意检测窗口时长内的漏电时间占检测窗口时长的比例是否等于或大于检修后漏电时长与总时长的比值。若是则接下来可以执行步骤s93-94.5判断电力设备的检修有效,若否则最后可以执行步骤s93-94.6判断电力设备的检修无效。
[0037]
以上步骤在实施的过程中可以通过以下代码模块实现,受限于篇幅仅展示核心算法部分。
[0038]
public class main {
ꢀꢀꢀꢀ
public static void main(string[] args) {
ꢀꢀꢀꢀꢀꢀꢀꢀ
// 设备已完成检修,得到了设备检修前和检修后的漏电时间
ꢀꢀꢀꢀꢀꢀꢀꢀ
device device = new device();
ꢀꢀꢀꢀꢀꢀꢀꢀ
device.deviceid = "device1";
ꢀꢀꢀꢀꢀꢀꢀꢀ
device.prerepairleakagetime = 60; // 检修前漏电时间,例如60分钟
ꢀꢀꢀꢀꢀꢀꢀꢀ
device.postrepairleakagetime = 30; // 检修后漏电时间,例如30分钟
ꢀꢀꢀꢀꢀꢀꢀꢀ
device.totalduration = 120; // 设备检修后总时长,例如120分钟
ꢀꢀꢀꢀꢀꢀꢀꢀ
// 检修后漏电时长与总时长的比值
ꢀꢀꢀꢀꢀꢀꢀꢀ
double postrepairleakageratio = device.postrepairleakagetime / device.totalduration;
ꢀꢀꢀꢀꢀꢀꢀꢀ
// 将检修后时长作为检测窗口时长
ꢀꢀꢀꢀꢀꢀꢀꢀ
double detectionwindowduration = device.postrepairleakagetime;
ꢀꢀꢀꢀꢀꢀꢀꢀ
// 在电力设备检修前的时段内任意抽取连续的检测窗口时长内的漏电时间,这里检修前漏电时间均匀分布
ꢀꢀꢀꢀꢀꢀꢀꢀ
double prerepairwindowleakagetime = device.prerepairleakagetime * (detectionwindowduration / device.totalduration);
ꢀꢀꢀꢀꢀꢀꢀꢀ
// 获取电力设备检修前任意检测窗口时长内的漏电时间占检测窗口时长的比例
ꢀꢀꢀꢀꢀꢀꢀꢀ
double prerepairleakageratio = prerepairwindowleakagetime / detectionwindowduration;
ꢀꢀꢀꢀꢀꢀꢀꢀ
// 判断在电力设备检修前任意检测窗口时长内的漏电时间占检测窗口时长的比例是否等于或大于检修后漏电时长与总时长的比值
ꢀꢀꢀꢀꢀꢀꢀꢀ
if (prerepairleakageratio 》= postrepairleakageratio) {
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
system.out.println(device.deviceid + " 的检修是有效的。");
ꢀꢀꢀꢀꢀꢀꢀꢀ
} else {
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
system.out.println(device.deviceid + " 的检修是无效的。");
ꢀꢀꢀꢀꢀꢀꢀꢀ
}
ꢀꢀꢀꢀ
}}// 定义设备类class device {
ꢀꢀꢀꢀ
string deviceid; // 设备id
ꢀꢀꢀꢀ
double prerepairleakagetime; // 检修前漏电时间
ꢀꢀꢀꢀ
double postrepairleakagetime; // 检修后漏电时间
ꢀꢀꢀꢀ
double totalduration; // 设备检修后总时长}在本发明的另一个方案中,也就是在检修单元4的视角,首先可以执行步骤s01,即接收步骤s6产生的检修顺序。之后执行步骤s02按照检修顺序对待排查电力设备进行检修。
[0039]
综上所述,本方案通过分析并监控电力及用电设备,进一步提升了在有限的维护资源下的用电安全性。系统组成包括获取设备定位的单元、信息搜集的单元、调配维保的单元以及执行检修的单元。在运行期间,首先利用定位单元确定设备位置,然后信息搜集单元不断收集漏电传感器的反馈,从而得知设备的漏电时刻。接下来,调配维保单元根据设备的位置及漏电时间,确定各时段内漏电设备的分布,同时记录每个设备的漏电时长,从而确认
需要排查的设备,并依据它们的漏电时刻制定检修流程。最后,检修单元根据制定的流程,依序检修需排查的设备。该系统的运用提高了电力设备的维护效率,同时增强了用电设备的运行安全。
[0040]
附图中的流程图和框图显示了根据本技术的多个实施例的装置、系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或指令的一部分,所述模块、程序段或指令的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。
[0041]
也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行相应的功能或动作的硬件,例如电路或asic(专用集成电路,application specific integrated circuit)来实现,或者可以用硬件和软件的组合,如固件等来实现。
[0042]
尽管在此结合各实施例对本发明进行了描述,然而,在实施所要求保护的本发明过程中,本领域技术人员通过查看所述附图、公开内容、以及所附权利要求书,可理解并实现所述公开实施例的其它变化。在权利要求中,“包括”(comprising)一词不排除其他组成部分或步骤,“一”或“一个”不排除多个的情况。单个处理器或其它单元可以实现权利要求中列举的若干项功能。相互不同的从属权利要求中记载了某些措施,但这并不表示这些措施不能组合起来产生良好的效果。
[0043]
以上已经描述了本技术的各实施例,上述说明是示例性的,并非穷尽性的,并且也不限于所披露的各实施例。在不偏离所说明的各实施例的范围的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨在最好地解释各实施例的原理、实际应用或对市场中的技术的改进,或者使本技术领域的其它普通技术人员能理解本文披露的各实施例。

技术特征:
1.一种用电安全隐患信息处理方法,其特征在于,包括,获取管理区域内电力设备的位置;持续获取管理区域内漏电传感器的监测结果,得到所述电力设备的漏电时间;根据所述电力设备的位置以及漏电时间得到在历史不同时段所述管理区域内漏电的所述电力设备的位置分布;对于每个历史不同时段,根据所述管理区域内漏电的所述电力设备的位置分布获取所述管理区域内漏电的所述电力设备的漏电时长;根据每个历史不同时段中所述管理区域内漏电的所述电力设备的位置和漏电时长得到每个历史不同时段中所述管理区域内的若干个待排查电力设备;根据每个待排查电力设备的漏电时间生成检修顺序。2.根据权利要求1所述的方法,其特征在于,所述根据所述电力设备的位置以及漏电时间得到在历史不同时段所述管理区域内漏电的所述电力设备的位置分布的步骤,包括,根据所述电力设备的漏电时间的分布范围得到所述电力设备的监测时长;获取所述管理区域内全部所述电力设备的监测时长的公约数作为统计时长;按照所述统计时长进行时间分段得到在每个统计时长的时段内所述管理区域内漏电的所述电力设备的位置分布。3.根据权利要求2所述的方法,其特征在于,所述根据每个历史不同时段中所述管理区域内漏电的所述电力设备的位置和漏电时长得到每个历史不同时段中所述管理区域内的若干个待排查电力设备的步骤,包括,在每个统计时长的时段内,根据所述管理区域内漏电的所述电力设备的位置以及漏电时长得到由漏电的所述电力设备的二维坐标和漏电时长组成的三维向量作为漏电的所述电力设备的量化指标;根据每个漏电的所述电力设备的量化指标挑选出若干个排查区域以及每个排查区域内的待排查电力设备;将每个统计时长的时段内的全部所述排查区域内的待排查设备汇总得到每个历史不同时段中所述管理区域内的若干个待排查电力设备。4.根据权利要求3所述的方法,其特征在于,所述根据每个漏电的所述电力设备的量化指标挑选出若干个排查区域以及每个排查区域内的待排查电力设备的步骤,包括,在全部的漏电的所述电力设备的量化指标中选择若干个作为待排查电力设备的量化指标,记为待排查量化指标;获取所述待排查量化指标与其它量化指标的差值模长;将其它量化指标与差值模长最小的所述待排查量化指标组成一个排查集合;获取每个所述排查集合中与对应均值向量的差值模长最小的量化指标作为更新后的所述待排查量化指标;判断更新后的所述待排查量化指标是否发生变化;若是,则根据更新后的所述待排查量化指标更新所述排查集合;若否,则输出更新后的所述排查集合中全部所述量化指标对应的所述电力设备的位置范围作为所述排查区域;将所述排查集合内的所述待排查量化指标对应的所述电力设备作为所述排查区域内
的待排查电力设备。5.根据权利要求1或3所述的方法,其特征在于,所述根据每个待排查电力设备的漏电时间生成检修顺序的步骤,包括,根据每个待排查电力设备的漏电时间得到每个待排查电力设备漏电时长;获取每个待排查电力设备对应的排查区域内全部所述电力设备的数量;根据每个待排查电力设备对应的排查区域内全部所述电力设备的数量之间的比值计算每个待排查电力设备之间的重要性系数;根据每个待排查电力设备之间的重要性系数对对应的漏电时长进行修正,得到每个待排查电力设备的排序值;按照每个待排查电力设备的排序值由大至小进行排序得到所述检修顺序。6.根据权利要求1所述的方法,其特征在于,所述方法,还包括,对于已完成检修的所述电力设备,持续根据对应漏电传感器的监测结果获取所述电力设备的检修后漏电时间;根据已完成检修的所述电力设备的检修前的漏电时间以及检修后漏电时间判断所述电力设备的检修是否是有效检修;若是,则保持所述电力设备的检修前的漏电时间;若否,则清空所述电力设备的检修前的漏电时间。7.根据权利要求6所述的方法,其特征在于,所述根据已完成检修的所述电力设备的检修前的漏电时间以及检修后漏电时间判断所述电力设备的检修是否是有效检修的步骤,包括,在所述电力设备检修后,持续获取所述电力设备的漏电时间;根据所述电力设备的漏电时间获取检修后漏电时长与总时长的比值;根据检修后时长得到检测窗口时长;根据所述电力设备检修前的漏电时间以及检修后的漏电时间在检测窗口时长内的漏电时长判断所述电力设备的检修是否是有效检修。8.根据权利要求7所述的方法,其特征在于,所述根据检修后时长得到检测窗口时长;根据所述电力设备检修前的漏电时间以及检修后的漏电时间在检测窗口时长内的漏电时长判断所述电力设备的检修是否是有效检修的步骤,包括,将所述检修后时长作为检测窗口时长;在所述电力设备检修前的时段内任意抽取连续的所述检测窗口时长内的漏电时间;获取所述电力设备检修前任意所述检测窗口时长内的漏电时间占所述检测窗口时长的比例;判断在所述电力设备检修前任意所述检测窗口时长内的漏电时间占所述检测窗口时长的比例是否等于或大于检修后漏电时长与总时长的比值;若是,则判断所述电力设备的检修有效;若否,则判断所述电力设备的检修无效。9.根据权利要求1所述的方法,其特征在于,包括,接收所述检修顺序;按照所述检修顺序对待排查电力设备进行检修。
10.一种用电安全监管服务系统,其特征在于,包括,定位单元,用于获取管理区域内电力设备的位置;信息收集单元,用于持续获取管理区域内漏电传感器的监测结果,得到所述电力设备的漏电时间;维保调配单元,用于根据所述电力设备的位置以及漏电时间得到在历史不同时段所述管理区域内漏电的所述电力设备的分布范围;对于每个历史不同时段,获取所述管理区域内漏电的所述电力设备的漏电时长;根据每个历史不同时段中所述管理区域内漏电的所述电力设备的位置和漏电时长得到每个历史不同时段中所述管理区域内的若干个待排查电力设备;根据每个待排查电力设备的漏电时间生成检修顺序;检修单元,用于按照所述检修顺序对待排查电力设备进行检修。

技术总结
本发明公开用电安全隐患信息处理方法及用电安全监管服务系统,涉及电力服务技术领域。本发明包维保调配单元,用于根据电力设备的位置以及漏电时间得到在历史不同时段管理区域内漏电的电力设备的分布范围;对于每个历史不同时段,获取管理区域内漏电的电力设备的漏电时长;根据每个历史不同时段中管理区域内漏电的电力设备的位置和漏电时长得到每个历史不同时段中管理区域内的若干个待排查电力设备;根据每个待排查电力设备的漏电时间生成检修顺序;检修单元,用于按照检修顺序对待排查电力设备进行检修。本发明通过对具有安全隐患的电力设备和用电设备进行监控分析,在有限的电力维护能力状态下提高了管理范围内整体用电安全程度。用电安全程度。用电安全程度。


技术研发人员:刘延东 谢海玲 王世浩 李保强 赵光 朱志远
受保护的技术使用者:河北智达光电科技股份有限公司
技术研发日:2023.06.29
技术公布日:2023/8/6
版权声明

本文仅代表作者观点,不代表航空之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)

飞行汽车 https://www.autovtol.com/

分享:

扫一扫在手机阅读、分享本文

相关推荐