chenhongyan1989 329d508a89 日志完善+write_image方法删除 2 weeks ago
..
algorithmContract 4e72cf5747 新增故障分析测点 5 months ago
README.MD 0ca0fe62f7 first commit 5 months ago
build_script.py 0ca0fe62f7 first commit 5 months ago
dataContractOfGeneraion-v1.2.20240516.json 0ca0fe62f7 first commit 5 months ago
setup.py 329d508a89 日志完善+write_image方法删除 2 weeks ago

README.MD

风电机组发电性能分析算法

用于与风电机组发电性能分析系统集成,算法版本v1.2

名词/术语

index: 表示数组索引
分析类型: 表示 针对风电机组发电性能的不同分析,例如:静态偏航误差、功率曲线散点分析、变桨功率分析等
直驱风电机组: 无齿轮箱
半直驱风电机组:有齿轮箱且结构较双馈风电机组简单
双馈风电机组: 有齿轮箱且结构较半直驱风电机组复杂
非直驱风电机组: 有齿轮箱,包括:半直驱风电机组、双馈风电机组

风电机组发电性能分析类型

分析类型列表

分析类型名称 包名 类名 方法名 数据源 Code
数据情况
机组分钟级SCADA数据记录完整度分析 algorithm.dataIntegrityOfMinuteAnalyst DataIntegrityOfMinuteAnalyst executeAnalysis minute data_integrity_minute
机组秒级SCADA数据记录完整度分析 algorithm.dataIntegrityOfSecondAnalyst DataIntegrityOfSecondAnalyst executeAnalysis second data_integrity_second
风资源分析
机组风速频率分析 algorithm.windSpeedFrequencyAnalyst WindSpeedFrequencyAnalyst executeAnalysis minute wind_speed_frequency
机组风向玫瑰分析 algorithm.windDirectionFrequencyAnalyst WindDirectionFrequencyAnalyst executeAnalysis minute wind_direction_frequency
机组风速均值分析 algorithm.windSpeedAnalyst WindSpeedAnalyst executeAnalysis minute wind_speed
功率曲线分析
机组有功功率曲线分析 algorithm.powerCurveAnalyst PowerCurveAnalyst executeAnalysis minute power_curve
机组逐月有功功率散点2D分析 algorithm.powerScatter2DAnalyst PowerScatter2DAnalyst executeAnalysis minute power_scatter_2D
机组逐月有功功率散点3D分析 algorithm.powerScatterAnalyst PowerScatterAnalyst executeAnalysis minute power_scatter
额定功率分析
机组额定功率和风速分析 algorithm.ratedPowerWindSpeedAnalyst RatedPowerWindSpeedAnalyst executeAnalysis minute rated_power_windspeed
机组额定风速分析 algorithm.ratedWindSpeedAnalyst RatedWindSpeedAnalyst executeAnalysis minute rated_windspeed
性能特性分析
机组风能利用系数和有功功率分析 algorithm.cpAnalyst CpAnalyst executeAnalysis second cp
机组风能利用系数和风速分析 algorithm.cpWindSpeedAnalyst CpWindSpeedAnalyst executeAnalysis second cp_windspeed
机组风能利用系数时序分析 algorithm.cpTrendAnalyst CpTrendAnalyst executeAnalysis second cp_trend
机组叶尖速比和有功功率分析 algorithm.tsrAnalyst TSRAnalyst executeAnalysis second tsr
机组叶尖速比和风速分析 algorithm.tsrWindSpeedAnalyst TSRWindSpeedAnalyst executeAnalysis second tsr_windspeed
机组叶尖速比时序分析 algorithm.tsrTrendAnalyst TSRTrendAnalyst executeAnalysis second tsr_trend
机组叶尖速比-Cp-功率分析 algorithm.tsrCpPowerAnalyst TSRCpPowerAnalyst executeAnalysis second tsr_cp_power
机组发电机转速和有功功率分析 algorithm.generatorSpeedPowerAnalyst GeneratorSpeedPowerAnalyst executeAnalysis minute speed_power
机组发电机转速和转矩分析 algorithm.generatorSpeedTorqueAnalyst GeneratorSpeedTorqueAnalyst executeAnalysis minute speed_torque
静态偏航误差分析
机组静态偏航误差分析 algorithm.yawErrorAnalyst YawErrorAnalyst executeAnalysis second yaw_error
变桨特性分析
机组最小桨距角分析 algorithm.minPitchAnalyst MinPitchAnalyst executeAnalysis second min_pitch
变桨-转速-转矩(功率)协调分析
机组变桨和有功功率协调性分析 algorithm.pitchPowerAnalyst PitchPowerAnalyst executeAnalysis minute pitch_power
机组变桨和发电机转速协调性分析 algorithm.pitchGeneratorSpeedAnalyst PitchGeneratorSpeedAnalyst executeAnalysis minute pitch_generator_speed
温度传感器性能分析
机组环境温度传感器分析 algorithm.temperatureEnvironmentAnalyst TemperatureEnvironmentAnalyst executeAnalysis minute temperature_environment
机组大部件温度传感器分析 algorithm.temperatureLargeComponentsAnalyst TemperatureLargeComponentsAnalyst executeAnalysis minute temperature_large_components
尚未归类的分析类型
机组变桨和叶尖速比及风能利用系数分析 algorithm.pitchTSRCpAnalyst PitchTSRCpAnalyst executeAnalysis second pitch_tsr_cp

数据契约

输入数据契约

说明

键 dataContractType 表示 数据契约类型说明
键 dataContractType.type 表示 数据契约类型,其值数据类型为字符串且非空,值 GenerationAnalysisOfTurbine 为风电机组发电分析
键 dataContractType.version 表示 数据契约类型版本,其值数据类型为字符串且非空,值 1.2.0 为 用于与风电机组发电性能分析系统集成


键 dataContract 表示 数据契约说明
键 dataContract.autoOrManual 表示 区分调用来源是自动触发,还是人工触发,其值数据类型为字符串且非空,枚举值:automatic、manual,值:automatic 表示自动触发;manual 表示人工触发;

键 dataContract.dataFilter 表示 数据筛选
键 dataContract.dataFilter.powerFarmID 表示 电场编号, 其值数据类型为字符串且非空
键 dataContract.dataFilter.turbines 表示 发电设备(风电机组等)编号信息, 其值数据类型为数组,当其值为null时分析该场站的所有机组
键 dataContract.dataFilter.beginTime 表示 数据开始时间, 其值数据类型为字符串,格式:yyyy-MM-dd hh:mm:ss 当值为null时不进行当前数据批次数据进行开始时间筛选
键 dataContract.dataFilter.beginTime 表示 数据开始时间, 其值数据类型为字符串,格式:yyyy-MM-dd hh:mm:ss 当值为null时不进行当前数据批次数据进行开始时间筛选
键 dataContract.dataFilter.endTime 表示 数据截止时间, 其值数据类型为字符串,格式:yyyy-MM-dd hh:mm:ss 当值为null时不进行当前数据批次数据进行截止时间筛选
键 dataContract.dataFilter.excludingMonths 表示 排除指定月份数据, 其值数据类型为数组,格式:yyyy-MM 当值为null时不排除指定月份数据

键 dataContract.dataFilter.customFilter 表示 自定义scada数据测点筛选, 其值数据类型为对象 ,当值为null时不进行自定义筛选
键 dataContract.dataFilter.customFilter.valueWindSpeed 表示 自定义scada数据风速测点筛选, 其值数据类型为对象 ,当值为null时不进行风速测点的自定义筛选
键 dataContract.dataFilter.customFilter.valueWindSpeed.min 表示 自定义scada数据风速测点最小值筛选, 其值数据类型为数值 ,当值为null时不进行风速测点最小值的自定义筛选
键 dataContract.dataFilter.customFilter.valueWindSpeed.max 表示 自定义scada数据风速测点最大值筛选, 其值数据类型为数值 ,当值为null时不进行风速测点最大值的自定义筛选

键 dataContract.dataFilter.customFilter.valuePitchAngle 表示 自定义scada数据桨距角测点筛选, 其值数据类型为对象 ,当值为null时不进行桨距角测点的自定义筛选
键 dataContract.dataFilter.customFilter.valuePitchAngle.min 表示 自定义scada数据桨距角测点最小值筛选, 其值数据类型为数值 ,当值为null时不进行桨距角测点最小值的自定义筛选
键 dataContract.dataFilter.customFilter.valuePitchAngle.max 表示 自定义scada数据桨距角测点最大值筛选, 其值数据类型为数值 ,当值为null时不进行桨距角测点最大值的自定义筛选

键 dataContract.dataFilter.customFilter.valueActivePower 表示 自定义scada数据有功功率测点筛选, 其值数据类型为对象 ,当值为null时不进行有功功率测点的自定义筛选
键 dataContract.dataFilter.customFilter.valueActivePower.min 表示 自定义scada数据有功功率测点最小值筛选, 其值数据类型为数值 ,当值为null时不进行有功功率测点最小值的自定义筛选
键 dataContract.dataFilter.customFilter.valueActivePower.max 表示 自定义scada数据有功功率测点最大值筛选, 其值数据类型为数值 ,当值为null时不进行有功功率测点最大值的自定义筛选

键 dataContract.dataFilter.customFilter.valueGeneratorSpeed 表示 自定义scada数据发电机转速测点筛选, 其值数据类型为对象 ,当值为null时不进行发电机转速测点的自定义筛选
键 dataContract.dataFilter.customFilter.valueGeneratorSpeed.min 表示 自定义scada数据发电机转速测点最小值筛选, 其值数据类型为数值 ,当值为null时不进行发电机转速测点最小值的自定义筛选
键 dataContract.dataFilter.customFilter.valueGeneratorSpeed.max 表示 自定义scada数据发电机转速测点最大值筛选, 其值数据类型为数值 ,当值为null时不进行发电机转速测点最大值的自定义筛选

键 dataContract.configAnalysis 表示 分析类型配置,其值数据类型为数组,且非空,至少包含一个分析类型
键 dataContract.configAnalysis[index].package 表示 分析类型的包名,其值数据类型为字符串且非空
键 dataContract.configAnalysis[index].className 表示 分析类型的类名,其值数据类型为字符串且非空
键 dataContract.configAnalysis[index].methodName 表示 分析类型的类方法名,其值数据类型为字符串且非空
键 dataContract.configAnalysis[index].scada表示 分析使用scada数据的数据源/时间粒度,其值数据类型为字符串且非空,枚举值:minute、second,值: minute 指定分析类型使用scada分钟级数据;second 指定分析类型使用scada秒级数据

键 dataContract.graphSets 表示 分析输出图形配置,其值数据类型为对象,且非空
键 dataContract.graphSets.DgeneratorSpeed 表示 直驱发电机转速轴系设置,其值数据类型为对象且非空
键 dataContract.graphSets.DgeneratorSpeed.step 表示 直驱发电机转速轴系的步长设置,其值数据类型为数值且非空,默认值: 5;
键 dataContract.graphSets.DgeneratorSpeed.min 表示 直驱发电机转速轴系的最小值设置,其值数据类型为数值且非空,默认值: 0;
键 dataContract.graphSets.DgeneratorSpeed.max 表示 直驱发电机转速轴系的最大值设置,其值数据类型为数值且非空,默认值:30;

键 dataContract.graphSets.IgeneratorSpeed 表示 非直驱发电机转速轴系设置,其值数据类型为对象且非空
键 dataContract.graphSets.IgeneratorSpeed.step 表示 非直驱发电机转速轴系的步长设置,其值数据类型为数值且非空,默认值: 200;
键 dataContract.graphSets.IgeneratorSpeed.min 表示 非直驱发电机转速轴系的最小值设置,其值数据类型为数值且非空,默认值: 1000;
键 dataContract.graphSets.IgeneratorSpeed.max 表示 非直驱发电机转速轴系的最大值设置,其值数据类型为数值且非空,默认值:2000;

键 dataContract.graphSets.DgeneratorTorque 表示 直驱发电机转矩轴系设置,其值数据类型为对象且非空
键 dataContract.graphSets.DgeneratorTorque.step 表示 直驱发电机转矩轴系的步长设置,其值数据类型为数值且非空,默认值: 10000;
键 dataContract.graphSets.DgeneratorTorque.min 表示 直驱发电机转矩轴系的最小值设置,其值数据类型为数值且非空,默认值:0;
键 dataContract.graphSets.DgeneratorTorque.max 表示 直驱发电机转矩轴系的最大值设置,其值数据类型为数值且非空,默认值:100000;

键 dataContract.graphSets.IgeneratorTorque 表示 非直驱发电机转矩轴系设置,其值数据类型为对象且非空
键 dataContract.graphSets.IgeneratorTorque.step 表示 非直驱发电机转矩轴系的步长设置,其值数据类型为数值且非空,默认值: 2000;
键 dataContract.graphSets.IgeneratorTorque.min 表示 非直驱发电机转矩轴系的最小值设置,其值数据类型为数值且非空,默认值:0;
键 dataContract.graphSets.IgeneratorTorque.max 表示 非直驱发电机转矩轴系的最大值设置,其值数据类型为数值且非空,默认值:12000;

键 dataContract.graphSets.cp 表示 风能利用系数轴系设置,其值数据类型为对象且非空
键 dataContract.graphSets.cp.step 表示 风能利用系数轴系的步长设置,其值数据类型为数值且非空,默认值: 0.5;
键 dataContract.graphSets.cp.min 表示 风能利用系数轴系的最小值设置,其值数据类型为数值且非空,默认值:0;
键 dataContract.graphSets.cp.max 表示 风能利用系数轴系的最大值设置,其值数据类型为数值且非空,默认值:2;

键 dataContract.graphSets.tsr 表示 叶尖速比轴系设置,其值数据类型为对象且非空
键 dataContract.graphSets.tsr.step 表示 叶尖速比轴系的步长设置,其值数据类型为数值且非空,默认值: 5;
键 dataContract.graphSets.tsr.min 表示 叶尖速比轴系的最小值设置,其值数据类型为数值且非空,默认值:0;
键 dataContract.graphSets.tsr.max 表示 叶尖速比轴系的最大值设置,其值数据类型为数值且非空,默认值:30;

键 dataContract.graphSets.pitchAngle 表示 桨距角轴系设置,其值数据类型为对象且非空
键 dataContract.graphSets.pitchAngle.step 表示 桨距角轴系的步长设置,其值数据类型为数值且非空,默认值: 2
键 dataContract.graphSets.pitchAngle.min 表示 桨距角轴系的最小值设置,其值数据类型为数值且非空,默认值:-1;
键 dataContract.graphSets.pitchAngle.max 表示 桨距角轴系的最大值设置,其值数据类型为数值且非空,默认值:20;

键 dataContract.graphSets.activePower 表示 有功功率轴系设置,其值数据类型为对象且非空
键 dataContract.graphSets.activePower.step 表示 有功功率轴系的步长设置,其值数据类型为数值且非空,默认值: 250;
键 dataContract.graphSets.activePower.min 表示 发有功功率轴系的最小值设置,其值数据类型为数值且非空,默认值:0;
键 dataContract.graphSets.activePower.max 表示 有功功率轴系的最大值设置,其值数据类型为数值且非空,默认值:额定功率*1.2;

#### 示例:

```
{
    "dataContractType": {
        "type": "analysisExecuteOrder",
        "version": "1.2.0"
    },
    "dataContract": {
        "autoOrManual":"automatic",
        "dataFilter": {
            "powerFarmID": "010-00001",
            "turbines": [
                "010-00001-0001",
                "010-00001-0002"
            ],
            "dataBatchNum": "B2024042211-0",
            "beginTime": "2023-01-01 00:00:00",
            "endTime": "2023-12-31 23:59:59",
            "excludingMonths": [
                "2023-12",
                "2023-09"
            ],
            "customFilter": {
                "valueWindSpeed": {
                    "min": 3.0,
                    "max": 25.0
                },
                "valuePitchAngle": {
                    "min": 2,
                    "max": null
                },
                "valueActivePower": {
                    "min": 10,
                    "max": 2500
                },
                "valueGeneratorSpeed": {
                    "min": 10,
                    "max": 2500
                }
            }
        },
        "configAnalysis": [
            {
                "package": "algorithm.powerCurveAnalyst",
                "className": "PowerCurveAnalyst",
                "methodName": "executeAnalysis",
                "scada":"minute"
            },
            {
                "package": "algorithm.powerScatter2DAnalyst",
                "className": "PowerScatter2DAnayst",
                "methodName": "executeAnalysis",
                "scada":"minute"
            },
            {
                "package": "algorithm.windSpeedFrequencyAnalyst",
                "className": "WindSpeedFrequencyAnalyst",
                "methodName": "executeAnalysis",
                "scada":"minute"
            },
            {
                "package": "algorithm.generatorSpeedPowerAnalyst",
                "className": "GeneratorSpeedPowerAnalyst",
                "methodName": "executeAnalysis",
                "scada":"minute"
            }
    ],
    "graphSets": {
        "DgeneratorSpeed": {
            "step": 5,
            "min": 0,
            "max": 30
        },
        "DgeneratorTorque": {
            "step": 10000,
            "min": 0,
            "max": 100000
        },

        "IgeneratorSpeed": {
            "step": 200,
            "min": 1000,
            "max": 2000
        },
        "IgeneratorTorque": {
            "step": 2000,
            "min": 0,
            "max": 12000
        },
        "cp": {
            "step": 0.5,
            "min": 0,
            "max": 2
        },
        "tsr": {
            "step": 5,
            "min": 0,
            "max": 30
        },
        "pitchAngle": {
            "step": 1,
            "min": -1,
            "max": 20
        },
        "activePower": {
            "step": 250,
            "min": 0,
            "max": 2000
        }
    }
}

}

```

返回数据锲约