/******************************************************************************** **** Copyright (C), 2020, Fortior Technology Co., Ltd. **** ******************************************************************************** * File Name : AddFunction.h * Author : Bruce HW&RD * Date : 2020-10-15 * Description : .C file function description * Version : 1.0 * Function List : * * Record : * 1.Date : 2020-10-15 * Author : Bruce HW&RD * Modification: Created file ********************************************************************************/ /* Define to prevent recursive inclusion -------------------------------------*/ #ifndef __AddFunction_H_ #define __AddFunction_H_ /******************************************************************************/ #include /******************************************************************************/ /* Exported types ------------------------------------------------------------*/ typedef struct { uint16 Max_ia; // IA的最大值 uint16 Max_ib; // IB的最大值 uint16 Max_ic; // IC的最大值 uint16 Max_is; uint16 time; }CurrentVarible; typedef struct { int16 ADCDcbus; // 母线电压 int16 ADC_huan_temp; // 环温 int16 ADC_guan_temp; //管温 int16 ADC_paiqi_temp; // 排气温度 int16 ADC_yaji_temp; // 压机温度 int16 ADC_IPM_temp; // IPM温度 } ADCSample; typedef struct { uint16 LedCount; // 闪灯周期计数 uint16 Counttime; // 闪灯周期 uint16 Count; // 电平翻转计数 uint8 LedTimCot; // 闪灯次数计数 }MCLedDisplay; typedef struct { int16 mcDcbusFlt; // 母线电压 int16 mcACFlt; // 母线电压 int16 mcDcbusFltCq; // 母线电压 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; // 母线电压最小值 int16 mcDcbus_chazhiFlt; // 母线电压最小值 uint16 mcDcbus_count; uint16 CtrlMode; // 控制模式 int16 Powerlpf; // 功率滤波后的值 int16 IsRef; // 速度闭环PI计算结果 int16 mcIqref; // Q轴给定电流 int16 mcIdref; // Q轴给定电流 int16 IqRef; // Q 轴参考电流 int16 IdRef; // D 轴参考电流 int16 FirstCurrentFlt; // 一次侧电流 int16 UQFlt; // UQ滤波后的值 int16 UDFlt; // UD滤波后的值 int16 QoutValue; int16 SpeedFlt; // 当前速度滤波后的值 uint16 BEmf; // 反电动势 uint16 IDQFlt; uint16 VDQ; // uint16 VDQFlt; uint16 RunStateCnt; // 运行状态计数 uint16 LoopTime; // 外环时间 uint16 IND_DEC_LoopTime; // 外环时间 uint16 Weak_LoopTime; // 外环时间 uint16 ChargeStep; // 预充电的步骤 uint16 State_Count; // 电机各个状态的时间计数 uint16 iiqq; // 电机各个状态的时间计数 uint16 iiqq2; // 电机各个状态的时间计数 int16 IPMtemp; int16 mcIbusFlt; int16 foc_comp_temp; int16 STT_FOC_THECOMP; uint8 CurrentAlignStatus; }FOCCTRL; typedef struct { int16 TargetValue; int16 ActualValue; int16 IncValue; int16 DecValue; int8 FlagONOFF; }MCRAMP; typedef struct { int8 FlagONOFF; }PFCMCRAMP; typedef struct { uint16 PWMARR; // 周期值 uint16 PWMARR2; // 周期值 int16 PWMARR_last; // 周期值 }PWMINPUTCAL; typedef struct { uint16 PowerOnCnt; // 上电时间计数 }TIMERTypeDef; 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 ADCSample xdata AdcSampleValue; extern FOCCTRL xdata mcFocCtrl; extern MCLedDisplay xdata mcLedDisplay; extern MCRAMP xdata mcSpeedRamp; extern PFCMCRAMP xdata PFCCONTROL; extern TIMERTypeDef xdata Time; extern ILIMIT xdata mcIimit; extern CONTROLCMDD xdata ConTrolCmd; extern uint8 xdata dog_Status; extern uint8 xdata flag_1ms_main; extern int16 Huan_temp,Guan_temp,Paiqi_temp,Yaji_temp; extern int s2_cvcf_i_set; /* Exported functions ---------------------------------------------------------------------------*/ 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 VariablesPreInit(void); extern void Fault_Detection(void); extern void PFCFault_Detection(void); extern void Led_OnOff(MCLedDisplay *hLedDisplay,uint8 htime); extern void TargetRef_Process(void); extern void Speed_response(void); extern void main_ms(void); extern void mc_ramp(MCRAMP *hSpeedramp); extern int16 HW_One_PI(int16 Xn1); extern void LED_Display(void); extern void STT_FOC_THECOMP_CLEAR(void); extern void FaultProcess(void); extern uint32 Abs_F32(int32 value); extern void StarRampDealwith(void); extern void MCTorqueControl(void); extern void ID_IQ_Control(void); extern void Trace_Select(void); extern int16 fengjiPI(int16 feedbackvalue, int16 referencevalue); extern int16 IPM_RealTemp(uint16 ADC_vaule); extern void Current_Speed_PI(void); extern void Temp_jisuan(void); extern void IsLimit_Over_tect(void); extern void IsLimit_Over_deal(void); extern void Control_Cmd(void); extern void Trace_Select_read(void); extern void Trace_Select_write(void); extern uint16 VAC_Frequency_Max(void); #endif