/** * @file switch_def.h * @brief 开关控制结构体定义 * @author 虾哥 * @date 2026-04-09 */ #ifndef SWITCH_DEF_H #define SWITCH_DEF_H #include /** * @brief 开关控制结构 * * 用于表示每个断路器的控制状态 * 包含合闸、分闸、故障复位等控制信号 */ typedef struct { uint8_t close_cmd; // 合闸命令:1=合闸,0=分闸 uint8_t open_cmd; // 分闸命令:1=分闸,0=合闸 uint8_t reset_cmd; // 故障复位命令:1=复位,0=保持 uint8_t status; // 开关状态:1=合位,0=分位 uint8_t fault_status; // 故障状态:1=故障,0=正常 uint8_t reserved[3]; // 保留字节,用于内存对齐 } SWITCH; /** * @brief 变压器控制结构体 * * 包含所有断路器的控制信息 * 按电压等级和功能分组排列 */ typedef struct { // ================================ // 1 侧开关 (1-QF) // ================================ SWITCH qf1_1; // 1-QF1 断路器 SWITCH qf1_2; // 1-QF2 断路器 SWITCH qf1_3; // 1-QF3 断路器 SWITCH qf1_4; // 1-QF4 断路器 SWITCH qf1_5; // 1-QF5 断路器 SWITCH qf1_6; // 1-QF6 断路器 SWITCH qf1_7; // 1-QF7 断路器 SWITCH qf1_8; // 1-QF8 断路器 SWITCH qf1_9; // 1-QF9 断路器 SWITCH qf1_10; // 1-QF10 断路器 SWITCH qf1_11; // 1-QF11 断路器 SWITCH qf1_12; // 1-QF12 断路器 SWITCH qf1_14; // 1-QF14 断路器 SWITCH qf1_15; // 1-QF15 断路器 SWITCH qf1_16; // 1-QF16 断路器 SWITCH qf1_20; // 1-QF20 断路器 // ================================ // 2 侧开关 (2-QF) // ================================ SWITCH qf2_1; // 2-QF1 断路器 SWITCH qf2_2; // 2-QF2 断路器 SWITCH qf2_3; // 2-QF3 断路器 SWITCH qf2_4; // 2-QF4 断路器 SWITCH qf2_5; // 2-QF5 断路器 SWITCH qf2_6; // 2-QF6 断路器 SWITCH qf2_7; // 2-QF7 断路器 SWITCH qf2_8; // 2-QF8 断路器 SWITCH qf2_9; // 2-QF9 断路器 SWITCH qf2_10; // 2-QF10 断路器 SWITCH qf2_11; // 2-QF11 断路器 SWITCH qf2_12; // 2-QF12 断路器 SWITCH qf2_13; // 2-QF13 断路器 SWITCH qf2_16; // 2-QF16 断路器 SWITCH qf2_17; // 2-QF17 断路器 SWITCH qf2_18; // 2-QF18 断路器 SWITCH qf2_20; // 2-QF20 断路器 SWITCH qf2_30; // 2-QF30 断路器 // ================================ // 3 侧开关 (3-QF) // ================================ SWITCH qf3_1; // 3-QF1 断路器 SWITCH qf3_2; // 3-QF2 断路器 SWITCH qf3_3; // 3-QF3 断路器 SWITCH qf3_4; // 3-QF4 断路器 SWITCH qf3_5; // 3-QF5 断路器 SWITCH qf3_8; // 3-QF8 断路器 SWITCH qf3_9; // 3-QF9 断路器 SWITCH qf3_11; // 3-QF11 断路器 SWITCH qf3_12; // 3-QF12 断路器 SWITCH qf3_13; // 3-QF13 断路器 SWITCH qf3_14; // 3-QF14 断路器 SWITCH qf3_16; // 3-QF16 断路器 SWITCH qf3_17; // 3-QF17 断路器 SWITCH qf3_18; // 3-QF18 断路器 SWITCH qf3_19; // 3-QF19 断路器 SWITCH qf3_20; // 3-QF20 断路器 SWITCH qf3_21; // 3-QF21 断路器 SWITCH qf3_22; // 3-QF22 断路器 // ================================ // F1 侧开关 (F1-QF) // ================================ SWITCH qf_f1_1; // F1-QF1 断路器 SWITCH qf_f1_2; // F1-QF2 断路器 SWITCH qf_f1_3; // F1-QF3 断路器 // ================================ // F2 侧开关 (F2-QF) // ================================ SWITCH qf_f2_1; // F2-QF1 断路器 SWITCH qf_f2_2; // F2-QF2 断路器 SWITCH qf_f2_3; // F2-QF3 断路器 // ================================ // F3 侧开关 (F3-QF) // ================================ SWITCH qf_f3_1; // F3-QF1 断路器 SWITCH qf_f3_2; // F3-QF2 断路器 SWITCH qf_f3_3; // F3-QF3 断路器 // ================================ // 4 侧开关 (4-QF) // ================================ SWITCH qf4_2; // 4-QF2 断路器 SWITCH qf4_3; // 4-QF3 断路器 SWITCH qf4_4; // 4-QF4 断路器 SWITCH qf4_5; // 4-QF5 断路器 SWITCH qf4_6; // 4-QF6 断路器 SWITCH qf4_7; // 4-QF7 断路器 SWITCH qf4_8; // 4-QF8 断路器 SWITCH qf4_9; // 4-QF9 断路器 SWITCH qf4_21; // 4-QF21 断路器 SWITCH qf4_22; // 4-QF22 断路器 SWITCH qf4_23; // 4-QF23 断路器 SWITCH qf4_24; // 4-QF24 断路器 SWITCH qf4_25; // 4-QF25 断路器 SWITCH qf4_26; // 4-QF26 断路器 SWITCH qf4_28; // 4-QF28 断路器 SWITCH qf4_31; // 4-QF31 断路器 SWITCH qf4_32; // 4-QF32 断路器 SWITCH qf4_33; // 4-QF33 断路器 SWITCH qf4_34; // 4-QF34 断路器 SWITCH qf4_35; // 4-QF35 断路器 SWITCH qf4_36; // 4-QF36 断路器 SWITCH qf4_37; // 4-QF37 断路器 SWITCH qf4_38; // 4-QF38 断路器 SWITCH qf4_39; // 4-QF39 断路器 SWITCH qf4_40; // 4-QF40 断路器 SWITCH qf4_41; // 4-QF41 断路器 // ================================ // 5 侧开关 (5-QF) // ================================ SWITCH qf5_2; // 5-QF2 断路器 SWITCH qf5_3; // 5-QF3 断路器 SWITCH qf5_4; // 5-QF4 断路器 SWITCH qf5_5; // 5-QF5 断路器 SWITCH qf5_6; // 5-QF6 断路器 SWITCH qf5_31; // 5-QF31 断路器 SWITCH qf5_32; // 5-QF32 断路器 SWITCH qf5_33; // 5-QF33 断路器 SWITCH qf5_34; // 5-QF34 断路器 // ================================ // 6 侧开关 (6-QF) // ================================ SWITCH qf6_1; // 6-QF1 断路器 SWITCH qf6_2; // 6-QF2 断路器 SWITCH qf6_3; // 6-QF3 断路器 SWITCH qf6_4; // 6-QF4 断路器 SWITCH qf6_5; // 6-QF5 断路器 SWITCH qf6_6; // 6-QF6 断路器 SWITCH qf6_7; // 6-QF7 断路器 SWITCH qf6_8; // 6-QF8 断路器 SWITCH qf6_9; // 6-QF9 断路器 } TRANS_CONTROL; /** * @brief 变压器控制结构体指针类型 */ typedef TRANS_CONTROL* TRANS_CONTROL_PTR; /** * @brief 全局变压器控制实例 * * 在 main.c 或其他源文件中实例化使用 * 示例: * TRANS_CONTROL g_trans_control = {0}; // 初始化为 0 * g_trans_control.qf1_1.close_cmd = 1; // 1-QF1 合闸 */ extern TRANS_CONTROL g_trans_control; /** * @brief 初始化变压器控制结构 * * @param ptr 指向 TRANS_CONTROL 结构体的指针 */ void TransControl_Init(TRANS_CONTROL_PTR ptr); /** * @brief 合闸操作 * * @param ptr 指向 TRANS_CONTROL 结构体的指针 * @param sw 指向具体 SWITCH 成员的指针 */ void Switch_Close(TRANS_CONTROL_PTR ptr, SWITCH* sw); /** * @brief 分闸操作 * * @param ptr 指向 TRANS_CONTROL 结构体的指针 * @param sw 指向具体 SWITCH 成员的指针 */ void Switch_Open(TRANS_CONTROL_PTR ptr, SWITCH* sw); /** * @brief 故障复位操作 * * @param ptr 指向 TRANS_CONTROL 结构体的指针 * @param sw 指向具体 SWITCH 成员的指针 */ void Switch_Reset(TRANS_CONTROL_PTR ptr, SWITCH* sw); #endif // SWITCH_DEF_H