#ifndef __Protect_H_ #define __Protect_H_ #include typedef enum { FaultNoSource = 0, // 无故障 FaultHardOVCurrent = 1, // 硬件过流 FaultSoftOVCurrent = 2, // 软件过流 FaultUnderVoltage = 3, // 欠压保护 FaultOverVoltage = 4, // 过压保护 FaultLossPhase = 5, // 缺相保护 FaultStall = 6, // 堵转保护 FaultStart = 7, // 启动保护 FaultIpmTemp = 9, // IPM温度保护 FaultIbusOffset = 11, // pianzhi FaultshuruLoss = 14, } FaultStateType; typedef struct { uint16 SecondStartTimes; // 二次启动保护的次数 uint16 StallTimes; // 堵转保护次数 uint16 LossPHTimes; // 缺相保护次数 uint16 CurrentPretectTimes; // 过流保护次数 uint8 StartFlag; // 启动保护的标志位,用于判断哪个方法起作用 uint8 StallFlag; // 堵转保护的标志位,用于判断哪个方法起作用 uint8 IbusOffsetProtectTimes; //偏执电压保护次数 uint8 shurulossTimes; }ProtectVarible; typedef struct { uint8 segment; // 分段执行 //voltage protect uint16 OverVoltDetecCnt; // 过压检测计数 uint16 UnderVoltDetecCnt; // 欠压检测计数 uint16 VoltRecoverCnt; // 过压恢复计数 uint16 OverTempDetecCnt; // 过温检测计数 uint16 OverHuantempDetecCnt; // 过温检测计数 uint16 OverGuantempDetecCnt; // 过温检测计数 uint16 TempRecoverCnt; // 过温恢复计数 uint16 HuantempRecoverCnt; // 过温恢复计数 uint16 GuantempRecoverCnt; // 过温恢复计数 uint32 CurrentRecoverCnt; // 过流保护恢复计数 uint8 IbusOffsetRecoverCnt; ///偏执电压保护恢复次数 //stall protect uint16 StallDelayCnt; // 堵转延迟判断计时 uint16 StallDectEs; // method 1,与ES相关 uint16 StallDectEs2; // method 1,与ES相关 uint16 StallDectSpeed; // method 2,与速度相关 uint32 StallReCount; // 堵转保护恢复计数 //Loss Phase protect uint16 Lphasecnt; // 缺相保护计时 uint16 AOpencnt ; // A缺相计数 uint16 BOpencnt ; // B缺相计数 uint16 COpencnt ; // C缺相计数 uint16 mcLossPHRecCount; // 缺相恢复计数 uint16 shurulossRecCount; // 缺相恢复计数 int16 shurulossCnt; int32 CurrentASum; int32 CurrentBSum; int32 CurrentCSum; int16 CurrentAAlign; int16 CurrentBAlign; int16 CurrentCAlign; //start protect int16 StartESCount; // 启动保护判断ES的计数 int16 StartEsCnt; // 启动保护判断ES的计时 int16 StartDelay; // 启动保护判断ES的延迟 int16 StartFocmode; // 启动保护判断FOCMODE状态的计时 int16 StartSpeedCnt; // 启动保护判断速度和ES的计时 uint32 commu_time; }FaultVarible; extern FaultStateType xdata mcFaultSource; extern ProtectVarible xdata mcProtectTime; extern FaultVarible idata mcFaultDect; extern void Fault_OverUnderVoltage(void); extern void Fault_Overcurrent(void); extern void Fault_OverCurrentRecover(void); extern void Fault_Stall(void); extern void Fault_phaseloss(void); extern void Fault_IPMOverTemp(void); extern void PFCFault_OverUnderVoltage(void); extern void PFCFault_Overcurrent(void); extern void Fault_Detection(void); extern void PFCFault_Detection(void); #endif