| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990 |
- from pathlib import Path
- # ============================================================
- # 路径配置(请根据实际环境修改)
- # ============================================================
- # Parquet 数据根目录,目录结构: {PARQUET_ROOT}/{model_name}/{farm_name}/{turbine_name}.parquet
- # TODO: 替换为实际路径
- PARQUET_ROOT = Path("/Volumes/P3/大唐标准化数据/stander_parquet")
- # 模型保存目录,按机型子目录存储
- # TODO: 替换为实际路径
- MODEL_SAVE_DIR = Path("/Users/xmia/Desktop/ZN/项目/大唐25-26/Dtest_code/code_abnormal/anomaly_detection/saved_models")
- # 结果数据库路径(SQLite,可替换为其他数据库连接字符串)
- # TODO: 替换为实际数据库地址
- DB_PATH = "/Users/xmia/Desktop/ZN/项目/大唐25-26/Dtest_code/code_abnormal/anomaly_detection/anomaly_results.db"
- # ============================================================
- # IsolationForest 通用参数
- # ============================================================
- ISO_CONTAMINATION = 0.01 # 预期异常比例,可按机型调整
- ISO_RANDOM_STATE = 42
- ISO_N_ESTIMATORS = 100
- # ============================================================
- # 状态打标参数
- # ============================================================
- # 功率越界倍数(相对额定功率)
- STATUS_POWER_UPPER_RATIO = 1.25 # 功率上限倍数
- STATUS_POWER_LOWER_RATIO = -0.10 # 功率下限倍数
- STATUS_SHUTDOWN_RATIO = 0.005 # 停机功率阈值(额定功率的比例),最小取 10kW
- STATUS_CURTAIL_LOW_RATIO = 0.02 # 限功率下限(额定功率比例)
- STATUS_CURTAIL_HIGH_RATIO = 0.95 # 限功率上限(额定功率比例)
- STATUS_CURTAIL_PITCH_OFFSET = 3.0 # 限功率桨距角偏移量(基准桨距角 + 此值)
- # 风速越界阈值(m/s)
- STATUS_WIND_MAX = 75.0
- STATUS_WIND_MIN = -2.0
- # 变桨越界阈值(°)
- STATUS_PITCH_MAX = 105.0
- STATUS_PITCH_MIN = -10.0
- # 转速/扭矩越界倍数
- STATUS_SPD_UPPER_RATIO = 1.25
- STATUS_TORQUE_UPPER_RATIO = 1.25
- STATUS_TORQUE_LOWER_ABS = -2000.0
- # 逻辑悖论阈值
- STATUS_LOGIC_WIND_MIN = 0.1 # 风速低于此值但功率大则为逻辑异常
- STATUS_LOGIC_POWER_MIN = 100.0 # 配合上面风速阈值的功率下限
- # 机型特殊规则: {model_name: [(wind_thresh, power_thresh), ...]}
- # 风速 < wind_thresh 但 功率 > power_thresh 时追加逻辑异常
- STATUS_MODEL_SPECIAL_RULES = {
- "EN156-3300": [(2.7, 450)],
- }
- # ============================================================
- # 风速功率分箱参数
- # ============================================================
- WIND_BIN_WIDTH = 0.5 # m/s
- WIND_BIN_MIN = 0.0
- WIND_BIN_MAX = 25.0
- # 有效发电风速区间(过滤切入/切出段噪声)
- WIND_VALID_MIN = 3.0 # m/s,切入风速
- WIND_VALID_MAX = 25.0 # m/s,切出风速
- # ============================================================
- # 测点列名(与 parquet 字段名对应)
- # ============================================================
- COL_WIND_SPD = "wind_spd"
- COL_P_ACTIVE = "p_active"
- COL_YAW_ANG = "yaw_ang"
- COL_TWIST_ANG = "twist_ang"
- COL_PITCH_SET_1 = "pitch_ang_set_1"
- COL_PITCH_SET_2 = "pitch_ang_set_2"
- COL_PITCH_SET_3 = "pitch_ang_set_3"
- COL_PITCH_ACT_1 = "pitch_ang_act_1"
- COL_PITCH_ACT_2 = "pitch_ang_act_2"
- COL_PITCH_ACT_3 = "pitch_ang_act_3"
- COL_PITCH_SPD_1 = "pitch_spd_1"
- COL_PITCH_SPD_2 = "pitch_spd_2"
- COL_PITCH_SPD_3 = "pitch_spd_3"
- COL_ROTOR_SPD = "rotor_spd"
- COL_THEORY_P_ACTIVE = "theory_p_active"
- COL_AMBIENT_TEMP = "ambient_temp"
|