#ifndef __AddFunction_H_ #define __AddFunction_H_ #include typedef struct { uint16 Max_ia; // IA的最大值 uint16 Max_ib; // IB的最大值 uint16 Max_ic; // IC的最大值 uint16 Max_is; uint16 time; } CurrentVarible; typedef struct { int16 mcDcbusFlt; // 母线电压 int16 mcDcbus; // 母线电压 int16 mcDcbus_max_temp; // 母线电压最大值 int16 mcDcbus_min_temp; // 母线电压最小值 int16 mcDcbus_max; // 母线电压最大值 int16 mcDcbus_min; // 母线电压最小值 int16 mcDcbus_chazhi; // 母线电压最小值 uint16 CtrlMode; // 控制模式 int16 Powerlpf; // 功率滤波后的值 int16 IsRef; // 速度闭环PI计算结果 int16 mcIqref; // Q轴给定电流 int16 mcIdref; // Q轴给定电流 int16 IqRef; // Q 轴参考电流 int16 IdRef; // D 轴参考电流 int16 UQFlt; // UQ滤波后的值 int16 UDFlt; // UD滤波后的值 uint16 IDQFlt; uint16 RunStateCnt; // 运行状态计数 uint16 LoopTime; // 外环时间 uint16 IND_DEC_LoopTime; // 外环时间 uint16 ChargeStep; // 预充电的步骤 uint16 State_Count; // 电机各个状态的时间计数 uint16 iiqq; // 电机各个状态的时间计数 int16 foc_comp_temp; int16 STT_FOC_THECOMP; uint8 CurrentAlignStatus; } FOCCTRL; typedef struct { int16 TargetValue; int16 ActualValue; int16 IncValue; int16 DecValue; } MCRAMP; extern CurrentVarible xdata mcCurVarible; extern FOCCTRL xdata mcFocCtrl; extern MCRAMP xdata mcSpeedRamp; extern void Fault_Detection(void); extern void PFCFault_Detection(void); extern void Speed_response(void); extern void mc_ramp(MCRAMP * hSpeedramp); extern void STT_FOC_THECOMP_CLEAR(void); extern void FaultProcess(void); extern uint32 Abs_F32(int32 value); extern void StarRampDealwith(void); extern void Current_Speed_PI(void); #endif