#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 mcAcbusFlt; // 母线电压 int16 mcAcbustime; // 母线电压 int16 mcDcbus; // 母线电压 int16 mcAcbus; // 母线电压 int16 mcDcbus_max_temp; // 母线电压最大值 int16 mcAcbus_max_temp; // 母线电压最大值 int16 mcDcbus_min_temp; // 母线电压最小值 int16 mcDcbus_max; // 母线电压最大值 int16 mcAcbus_max; // 母线电压最大值 int16 mcDcbus_min; // 母线电压最小值 int16 mcDcbus_chazhi; // 母线电压最小值 uint16 mcDcbus_count; 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滤波后的值 int16 QoutValue; int16 SpeedFlt; // 当前速度滤波后的值 uint16 BEmf; // 反电动势 uint16 IDQFlt; uint16 RunStateCnt; // 运行状态计数 uint16 LoopTime; // 外环时间 uint16 IND_DEC_LoopTime; // 外环时间 uint16 ChargeStep; // 预充电的步骤 uint16 State_Count; // 电机各个状态的时间计数 uint16 iiqq; // 电机各个状态的时间计数 uint16 iiqq2; // 电机各个状态的时间计数 int16 IPMtemp; int16 foc_comp_temp; int16 STT_FOC_THECOMP; uint8 CurrentAlignStatus; } FOCCTRL; typedef struct { int16 TargetValue; int16 ActualValue; int16 IncValue; int16 DecValue; } MCRAMP; typedef struct { uint16 PWMARR; // 周期值 uint16 PWMARR2; // 周期值 int16 PWMARR_last; // 周期值 } PWMINPUTCAL; typedef struct { int16 yajispeed; int16 fengjispeed; int16 dianzifakaidu; int16 sitongfa; uint8 RunMode1; //运行模式 uint8 RunMode2; //运行模式 uint8 dianjiare; } CONTROLCMDD; typedef struct { uint8 mcIDQtime1; uint8 mcIDQtime2; uint16 mcIDQtime3; uint32 mcIDQtime4; uint8 mcPtime1; uint8 mcPtime2; uint16 mcPtime3; uint32 mcPtime4; int16 flag; int16 Pflag; } ILIMIT; /* Exported variables ---------------------------------------------------------------------------*/ extern PWMINPUTCAL xdata mcPwmInput; extern CurrentVarible xdata mcCurVarible; extern FOCCTRL xdata mcFocCtrl; extern MCRAMP xdata mcSpeedRamp; extern ILIMIT xdata mcIimit; extern CONTROLCMDD xdata ConTrolCmd; extern int16 Huan_temp, Guan_temp, Paiqi_temp, Yaji_temp; extern int16 LPF_realize(int16 Xn1, int16 Xn0, int16 K); extern int16 LPF_realize1(int16 Xn1, int16 Xn0, int16 K); extern int16 LPF_realize2(int16 Xn1, int16 Xn0, int16 K); extern void Fault_Detection(void); extern void PFCFault_Detection(void); extern void TargetRef_Process(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); extern void IsLimit_Over_tect(void); extern void IsLimit_Over_deal(void); extern uint16 VAC_Frequency_Max(void); #endif