NAME

Data::Power::FaultDetectorBase - Medium Voltage Grid Equipment Fault Detection Baseline

VERSION

Version 0.01

SYNOPSIS

use Data::Power::FaultDetectorBase;

# 创建分析器实例
my $analyzer = Data::Power::FaultDetectorBase->new(
    thresholds_file => 'thresholds.json',
    output_file => 'faults.csv'
);

# 从文件加载数据并分析
$analyzer->analyze_data_file('input_data.csv');

# 或者直接处理数据记录
$analyzer->process_record({
    device_id => 'FTU00123',
    timestamp => '2025-07-01 12:34:56',
    I0 => 0.5,
    IA => 12.3,
    IB => 11.5,
    IC => 11.7,
    UA => 5.9,
    UB => 5.8,
    UC => 5.9,
    UAB => 10.1,
    UBC => 10.0,
    UCA => 10.0,
    P => 180.5,
    Q => 15.2,
    COS => 0.95
});

# 获取故障汇总结果
my $fault_summary = $analyzer->get_fault_summary();

# 导出故障报告
$analyzer->export_fault_report();

DESCRIPTION

Data::Power::FaultDetectorBase模块用于分析中压配电网设备的故障情况。通过分析各种电气参数 (如电流、电压、功率和功率因数等),该模块能够识别潜在故障并生成报告。

METHODS

new

创建新的故障分析器实例

参数: thresholds_file - 包含阈值设置的JSON文件路径 output_file - 输出故障报告的文件路径(可选)

返回: Data::Power::FaultDetectorBase对象实例

load_thresholds

从JSON文件加载阈值配置

参数: file_path - JSON文件路径

返回: 成功返回1,失败返回0

set_thresholds_from_json

从JSON字符串设置阈值配置

参数: json_text - 包含阈值配置的JSON字符串

返回: 成功返回1,失败返回0

analyze_data_file

分析包含多条记录的数据文件

参数: file_path - CSV文件路径,每行包含一条设备数据记录

返回: 处理的记录数量

process_record

处理单条设备记录并检测潜在故障

参数: record - 包含设备数据的哈希引用,需包含device_id和timestamp字段, 以及I0, IA, IB, IC, UA, UB, UC, UAB, UBC, UCA, P, Q, COS等测量值

返回: 该记录检测到的故障代码数组引用

get_fault_summary

获取故障统计汇总

返回: 包含故障统计信息的哈希引用

export_fault_report

导出故障报告到CSV文件

参数: file_path - 输出文件路径(可选,默认使用初始化时设置的输出文件)

返回: 成功返回1,失败返回0

get_device_faults

获取特定设备的故障记录

参数: device_id - 设备ID

返回: 故障记录数组引用

get_devices_with_fault

获取具有特定故障代码的所有设备

参数: fault_code - 故障代码

返回: 设备ID数组

FAULT CODES

模块使用以下故障代码:

电流相关故障: E001 - 过流 E002 - 欠流 E003 - 三相电流不平衡 E004 - 极端过流 E005 - 漏电流异常

电压相关故障: E101 - 过压 E102 - 欠压 E103 - 三相电压不平衡 E104 - 极端欠压 E105 - 线电压异常

功率相关故障: E201 - 有功功率过高 E202 - 有功功率过低 E203 - 无功功率过高 E204 - 无功功率过低 E205 - 极端功率值

功率因数相关故障: E301 - 低功率因数 E302 - 负功率因数

AUTHOR

Y Peng, <ypeng at t-online.de>