删除误添加的 switch 控制文件(与 VoiletCStudio 无关)
This commit is contained in:
154
switch_example.c
154
switch_example.c
@@ -1,154 +0,0 @@
|
||||
/**
|
||||
* @file switch_example.c
|
||||
* @brief 开关控制使用示例
|
||||
* @author 虾哥
|
||||
* @date 2026-04-09
|
||||
*
|
||||
* 本文件演示如何使用 TRANS_CONTROL 结构体
|
||||
* 包含初始化、合闸、分闸、故障复位等操作示例
|
||||
*/
|
||||
|
||||
#include "switch_def.h"
|
||||
#include <stdio.h>
|
||||
|
||||
/**
|
||||
* @brief 主函数示例
|
||||
*
|
||||
* 演示完整的开关控制流程
|
||||
*
|
||||
* @return int 程序执行结果
|
||||
*/
|
||||
int main(void)
|
||||
{
|
||||
// ================================
|
||||
// 1. 初始化变压器控制结构
|
||||
// ================================
|
||||
TransControl_Init(&g_trans_control);
|
||||
printf("变压器控制结构初始化完成\r\n");
|
||||
|
||||
// ================================
|
||||
// 2. 1-QF1 合闸操作
|
||||
// ================================
|
||||
printf("\r\n=== 1-QF1 合闸 ===\r\n");
|
||||
Switch_Close(&g_trans_control, &g_trans_control.qf1_1);
|
||||
Switch_PrintInfo("1-QF1", &g_trans_control.qf1_1);
|
||||
|
||||
// ================================
|
||||
// 3. 1-QF2 合闸操作
|
||||
// ================================
|
||||
printf("\r\n=== 1-QF2 合闸 ===\r\n");
|
||||
Switch_Close(&g_trans_control, &g_trans_control.qf1_2);
|
||||
Switch_PrintInfo("1-QF2", &g_trans_control.qf1_2);
|
||||
|
||||
// ================================
|
||||
// 4. 2-QF1 合闸操作
|
||||
// ================================
|
||||
printf("\r\n=== 2-QF1 合闸 ===\r\n");
|
||||
Switch_Close(&g_trans_control, &g_trans_control.qf2_1);
|
||||
Switch_PrintInfo("2-QF1", &g_trans_control.qf2_1);
|
||||
|
||||
// ================================
|
||||
// 5. 3-QF1 分闸操作
|
||||
// ================================
|
||||
printf("\r\n=== 3-QF1 分闸 ===\r\n");
|
||||
Switch_Open(&g_trans_control, &g_trans_control.qf3_1);
|
||||
Switch_PrintInfo("3-QF1", &g_trans_control.qf3_1);
|
||||
|
||||
// ================================
|
||||
// 6. 1-QF14 故障复位操作
|
||||
// ================================
|
||||
printf("\r\n=== 1-QF14 故障复位 ===\r\n");
|
||||
Switch_Reset(&g_trans_control, &g_trans_control.qf1_14);
|
||||
Switch_PrintInfo("1-QF14", &g_trans_control.qf1_14);
|
||||
|
||||
// ================================
|
||||
// 7. 批量操作示例:合上 1 侧所有开关
|
||||
// ================================
|
||||
printf("\r\n=== 批量合上 1 侧所有开关 ===\r\n");
|
||||
Switch_Close(&g_trans_control, &g_trans_control.qf1_1);
|
||||
Switch_Close(&g_trans_control, &g_trans_control.qf1_2);
|
||||
Switch_Close(&g_trans_control, &g_trans_control.qf1_3);
|
||||
Switch_Close(&g_trans_control, &g_trans_control.qf1_4);
|
||||
Switch_Close(&g_trans_control, &g_trans_control.qf1_5);
|
||||
Switch_Close(&g_trans_control, &g_trans_control.qf1_6);
|
||||
Switch_Close(&g_trans_control, &g_trans_control.qf1_7);
|
||||
Switch_Close(&g_trans_control, &g_trans_control.qf1_8);
|
||||
Switch_Close(&g_trans_control, &g_trans_control.qf1_9);
|
||||
Switch_Close(&g_trans_control, &g_trans_control.qf1_10);
|
||||
Switch_Close(&g_trans_control, &g_trans_control.qf1_11);
|
||||
Switch_Close(&g_trans_control, &g_trans_control.qf1_12);
|
||||
Switch_Close(&g_trans_control, &g_trans_control.qf1_14);
|
||||
Switch_Close(&g_trans_control, &g_trans_control.qf1_15);
|
||||
Switch_Close(&g_trans_control, &g_trans_control.qf1_16);
|
||||
Switch_Close(&g_trans_control, &g_trans_control.qf1_20);
|
||||
printf("1 侧所有开关已合闸\r\n");
|
||||
|
||||
// ================================
|
||||
// 8. 直接访问结构体成员示例
|
||||
// ================================
|
||||
printf("\r\n=== 直接访问结构体成员 ===\r\n");
|
||||
|
||||
// 直接设置合闸命令
|
||||
g_trans_control.qf2_20.close_cmd = 1;
|
||||
printf("2-QF20 合闸命令已设置\r\n");
|
||||
|
||||
// 直接读取状态
|
||||
uint8_t status = g_trans_control.qf2_20.status;
|
||||
printf("2-QF20 当前状态:%d\r\n", status);
|
||||
|
||||
// 直接设置故障状态
|
||||
g_trans_control.qf3_8.fault_status = 1;
|
||||
printf("3-QF8 故障状态已设置\r\n");
|
||||
|
||||
// ================================
|
||||
// 9. 状态检查示例
|
||||
// ================================
|
||||
printf("\r\n=== 状态检查 ===\r\n");
|
||||
|
||||
if (Switch_GetStatus(&g_trans_control.qf1_1) == 1)
|
||||
{
|
||||
printf("1-QF1 在合位\r\n");
|
||||
}
|
||||
else
|
||||
{
|
||||
printf("1-QF1 在分位\r\n");
|
||||
}
|
||||
|
||||
if (Switch_GetFaultStatus(&g_trans_control.qf3_8) == 1)
|
||||
{
|
||||
printf("3-QF8 有故障\r\n");
|
||||
}
|
||||
else
|
||||
{
|
||||
printf("3-QF8 正常\r\n");
|
||||
}
|
||||
|
||||
// ================================
|
||||
// 10. 清除命令示例
|
||||
// ================================
|
||||
printf("\r\n=== 清除命令 ===\r\n");
|
||||
Switch_ClearCommands(&g_trans_control.qf1_1);
|
||||
printf("1-QF1 所有命令已清除\r\n");
|
||||
Switch_PrintInfo("1-QF1", &g_trans_control.qf1_1);
|
||||
|
||||
printf("\r\n=== 示例程序执行完成 ===\r\n");
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief 中断服务程序示例
|
||||
*
|
||||
* 模拟硬件中断处理开关状态
|
||||
* 在实际应用中,这会是真正的中断处理函数
|
||||
*/
|
||||
void HWINT_IRQHandler(void)
|
||||
{
|
||||
// 检查 1-QF1 是否故障
|
||||
if (g_trans_control.qf1_1.fault_status == 1)
|
||||
{
|
||||
// 自动分闸
|
||||
Switch_Open(&g_trans_control, &g_trans_control.qf1_1);
|
||||
printf("中断:1-QF1 故障,已自动分闸\r\n");
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user