# 风电机组发电性能分析算法 用于与风电机组发电性能分析系统集成,算法版本v1.2 ## 名词/术语 index: 表示数组索引 分析类型: 表示 针对风电机组发电性能的不同分析,例如:静态偏航误差、功率曲线散点分析、变桨功率分析等 直驱风电机组: 无齿轮箱 半直驱风电机组:有齿轮箱且结构较双馈风电机组简单 双馈风电机组: 有齿轮箱且结构较半直驱风电机组复杂 非直驱风电机组: 有齿轮箱,包括:半直驱风电机组、双馈风电机组 ## 风电机组发电性能分析类型 ### 分析类型列表 | 分析类型名称| 包名| 类名| 方法名| |------------|------------|------------|------------| |数据情况|||| |机组分钟级SCADA数据记录完整度分析|algorithm.dataIntegrityOfMinuteAnalyst|DataIntegrityOfMinuteAnalyst|executeAnalysis| |秒级SCADA数据记录完整度分析|algorithm.dataIntegrityOfSecondAnalyst|DataIntegrityOfSecondAnalyst|executeAnalysis| |风资源分析|||| |机组风速频率分析|algorithm.windSpeedFrequencyAnalyst|WindSpeedFrequencyAnalyst|executeAnalysis| |机组风向玫瑰分析|algorithm.windDirectionFrequencyAnalyst|WindDirectionFrequencyAnalyst|executeAnalysis| |机组风速均值分析|algorithm.windSpeedAnalyst|WindSpeedAnalyst|executeAnalysis| |功率曲线分析|||| |机组有功功率曲线分析|algorithm.powerCurveAnalyst|PowerCurveAnalyst|executeAnalysis| |机组逐月有功功率散点2D分析|algorithm.powerScatter2DAnalyst|PowerScatter2DAnalyst|executeAnalysis| |机组逐月有功功率散点3D分析|algorithm.powerScatterAnalyst|PowerScatterAnalyst|executeAnalysis| |额定功率分析|||| |机组额定功率和风速分析|algorithm.ratedPowerWindSpeedAnalyst|RatedPowerWindSpeedAnalyst|executeAnalysis| |机组额定风速分析|algorithm.ratedWindSpeedAnalyst|RatedWindSpeedAnalyst|executeAnalysis| |性能特性分析|||| |机组风能利用系数和有功功率分析|algorithm.cpAnalyst|CpAnalyst|executeAnalysis| |机组风能利用系数和风速分析|algorithm.cpWindSpeedAnalyst|CpWindSpeedAnalyst|executeAnalysis| |机组风能利用系数时序分析|algorithm.cpTrendAnalyst|CpTrendAnalyst|executeAnalysis| |机组叶尖速比和有功功率分析|algorithm.tsrAnalyst|TSRAnalyst|executeAnalysis| |机组叶尖速比和风速分析|algorithm.tsrWindSpeedAnalyst|TSRWindSpeedAnalyst|executeAnalysis| |机组叶尖速比时序分析|algorithm.tsrTrendAnalyst|TSRTrendAnalyst|executeAnalysis| |机组发电机转速和有功功率分析|algorithm.generatorSpeedPowerAnalyst|GeneratorSpeedPowerAnalyst|executeAnalysis| |机组发电机转速和转矩分析|algorithm.generatorSpeedTorqueAnalyst|GeneratorSpeedTorqueAnalyst|executeAnalysis| |静态偏航误差分析|||| |机组静态偏航误差分析|algorithm.yawErrorAnalyst|YawErrorAnalyst|executeAnalysis| |变桨特性分析|||| |机组最小桨距角分析|algorithm.minPitchAnalyst|MinPitchAnalyst|executeAnalysis| |变桨-转速-转矩(功率)协调分析|||| |机组变桨和有功功率协调性分析|algorithm.pitchPowerAnalyst|PitchPowerAnalyst|executeAnalysis| |机组变桨和发电机转速协调性分析|algorithm.pitchGeneratorSpeedAnalyst|PitchGeneratorSpeedAnalyst|executeAnalysis| |机组变桨和有功功率及风速分析|algorithm.pitchPowerWindSpeedAnalyst|PitchPowerWindSpeedAnalyst|executeAnalysis| |温度传感器性能分析|||| |机组环境温度传感器分析|algorithm.temperatureEnvironmentAnalyst|TemperatureEnvironmentAnalyst|executeAnalysis| |机组大部件温度传感器分析|algorithm.temperatureLargeComponentsAnalyst|TemperatureLargeComponentsAnalyst|executeAnalysis| |尚未归类的分析类型|||| |机组功率震荡分析|algorithm.powerOscillationAnalyst|PowerOscillationAnalyst|executeAnalysis| |机组变桨和叶尖速比及风能利用系数分析|algorithm.pitchTSRCpAnalyst|PitchTSRCpAnalyst|executeAnalysis| |机组机舱振动风向玫瑰振动散点分析|algorithm.cabinVibrateAnalyst|CabinVibrateAnalyst|executeAnalysis| ## 数据契约 ### 输入数据契约 #### 说明 键 dataContractType 表示 数据契约类型说明 键 dataContractType.type 表示 数据契约类型,其值数据类型为字符串且非空,值 GenerationAnalysisOfTurbine 为风电机组发电分析 键 dataContractType.version 表示 数据契约类型版本,其值数据类型为字符串且非空,值 1.2.0 为 用于与风电机组发电性能分析系统集成 键 dataContract 表示 数据契约说明 键 dataContract.autoOrManual 表示 区分调用来源是自动触发,还是人工触发,其值数据类型为字符串且非空,枚举值:automatic、manual,值:automatic 表示自动触发;manual 表示人工触发; 键 dataContract.dataSource 表示 分析使用数据源,其值数据类型为对象且非空 键 dataContract.dataSource.scada 表示 分析使用scada数据的数据源,其值数据类型为字符串且非空,枚举值:minute、second、all,值: minute 用于人工分析场景,指定分析类型使用scada分钟级数据;seconde 用于人工分析场景,指定分析类型使用scada秒级数据;all 用于自动分析场景,分析类型按自身设计使用scada数据进行分析; 键 dataContract.dataFilter 表示 数据筛选 键 dataContract.dataFilter.powerFarmID 表示 电场编号, 其值数据类型为字符串且非空 键 dataContract.dataFilter.turbines 表示 发电设备(风电机组等)编号信息, 其值数据类型为数组且非空 键 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].analysisReustCode 表示 分析结果编码,其值数据类型为数组且非空 键 dataContract.graphSets 表示 分析输出图形配置,其值数据类型为对象,且非空 键 dataContract.graphSets.generatorSpeed 表示 发电机转速轴系设置,其值数据类型为对象且非空 键 dataContract.graphSets.generatorSpeed.step 表示 发电机转速轴系的步长设置,其值数据类型为数值且非空,默认值: 非直驱风电机组为200;直驱风电机组为5; 键 dataContract.graphSets.generatorSpeed.min 表示 发电机转速轴系的最小值设置,其值数据类型为数值且非空,默认值: 非直驱风电机组为1000;直驱风电机组为0; 键 dataContract.graphSets.generatorSpeed.max 表示 发电机转速轴系的最大值设置,其值数据类型为数值且非空,默认值:非直驱风电机组为2000;直驱风电机组为30; 键 dataContract.graphSets.generatorTorque 表示 发电机转矩轴系设置,其值数据类型为对象且非空 键 dataContract.graphSets.generatorTorque.step 表示 发电机转矩轴系的步长设置,其值数据类型为数值且非空,默认值: 2000; 键 dataContract.graphSets.generatorTorque.min 表示 发电机转矩轴系的最小值设置,其值数据类型为数值且非空,默认值:0; 键 dataContract.graphSets.generatorTorque.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", "dataSource": { "scada": "second" }, "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" }, { "package": "algorithm.powerScatter2DAnalyst", "className": "PowerScatter2DAnayst", "methodName": "executeAnalysis" }, { "package": "algorithm.powerScatterAnalyst", "className": "PowerScatterAnalyst", "methodName": "executeAnalysis" }, { "package": "algorithm.windSpeedFrequencyAnalyst", "className": "WindSpeedFrequencyAnalyst", "methodName": "executeAnalysis" }, { "package": "algorithm.generatorSpeedPowerAnalyst", "className": "GeneratorSpeedPowerAnalyst", "methodName": "executeAnalysis" } ], "graphSets": { "generatorSpeed": { "step": 200, "min": 1000, "max": 2000 }, "generatorTorque": { "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 } } } } ``` ### 返回数据锲约