AddFunction.h 7.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217
  1. /********************************************************************************
  2. **** Copyright (C), 2020, Fortior Technology Co., Ltd. ****
  3. ********************************************************************************
  4. * File Name : AddFunction.h
  5. * Author : Bruce HW&RD
  6. * Date : 2020-10-15
  7. * Description : .C file function description
  8. * Version : 1.0
  9. * Function List :
  10. *
  11. * Record :
  12. * 1.Date : 2020-10-15
  13. * Author : Bruce HW&RD
  14. * Modification: Created file
  15. ********************************************************************************/
  16. /* Define to prevent recursive inclusion -------------------------------------*/
  17. #ifndef __AddFunction_H_
  18. #define __AddFunction_H_
  19. /******************************************************************************/
  20. #include <FU68xx_5_Type.h>
  21. /******************************************************************************/
  22. /* Exported types ------------------------------------------------------------*/
  23. typedef struct
  24. {
  25. uint16 Max_ia; // IA的最大值
  26. uint16 Max_ib; // IB的最大值
  27. uint16 Max_ic; // IC的最大值
  28. uint16 Max_is;
  29. uint16 time;
  30. }CurrentVarible;
  31. typedef struct
  32. {
  33. int16 ADCDcbus; // 母线电压
  34. int16 ADC_huan_temp; // 环温
  35. int16 ADC_guan_temp; //管温
  36. int16 ADC_paiqi_temp; // 排气温度
  37. int16 ADC_yaji_temp; // 压机温度
  38. int16 ADC_IPM_temp; // IPM温度
  39. } ADCSample;
  40. typedef struct
  41. {
  42. uint16 LedCount; // 闪灯周期计数
  43. uint16 Counttime; // 闪灯周期
  44. uint16 Count; // 电平翻转计数
  45. uint8 LedTimCot; // 闪灯次数计数
  46. }MCLedDisplay;
  47. typedef struct
  48. {
  49. int16 mcDcbusFlt; // 母线电压
  50. int16 mcACFlt; // 母线电压
  51. int16 mcDcbusFltCq; // 母线电压
  52. int16 mcAcbusFlt; // 母线电压
  53. int16 mcAcbustime; // 母线电压
  54. int16 mcDcbus; // 母线电压
  55. int16 mcAcbus; // 母线电压
  56. int16 mcDcbus_max_temp; // 母线电压最大值
  57. int16 mcAcbus_max_temp; // 母线电压最大值
  58. int16 mcDcbus_min_temp; // 母线电压最小值
  59. int16 mcDcbus_max; // 母线电压最大值
  60. int16 mcAcbus_max; // 母线电压最大值
  61. int16 mcDcbus_min; // 母线电压最小值
  62. int16 mcDcbus_chazhi; // 母线电压最小值
  63. int16 mcDcbus_chazhiFlt; // 母线电压最小值
  64. uint16 mcDcbus_count;
  65. uint16 CtrlMode; // 控制模式
  66. int16 Powerlpf; // 功率滤波后的值
  67. int16 IsRef; // 速度闭环PI计算结果
  68. int16 mcIqref; // Q轴给定电流
  69. int16 mcIdref; // Q轴给定电流
  70. int16 IqRef; // Q 轴参考电流
  71. int16 IdRef; // D 轴参考电流
  72. int16 FirstCurrentFlt; // 一次侧电流
  73. int16 UQFlt; // UQ滤波后的值
  74. int16 UDFlt; // UD滤波后的值
  75. int16 QoutValue;
  76. int16 SpeedFlt; // 当前速度滤波后的值
  77. uint16 BEmf; // 反电动势
  78. uint16 IDQFlt;
  79. uint16 VDQ;
  80. // uint16 VDQFlt;
  81. uint16 RunStateCnt; // 运行状态计数
  82. uint16 LoopTime; // 外环时间
  83. uint16 IND_DEC_LoopTime; // 外环时间
  84. uint16 Weak_LoopTime; // 外环时间
  85. uint16 ChargeStep; // 预充电的步骤
  86. uint16 State_Count; // 电机各个状态的时间计数
  87. uint16 iiqq; // 电机各个状态的时间计数
  88. uint16 iiqq2; // 电机各个状态的时间计数
  89. int16 IPMtemp;
  90. int16 mcIbusFlt;
  91. int16 foc_comp_temp;
  92. int16 STT_FOC_THECOMP;
  93. uint8 CurrentAlignStatus;
  94. }FOCCTRL;
  95. typedef struct
  96. {
  97. int16 TargetValue;
  98. int16 ActualValue;
  99. int16 IncValue;
  100. int16 DecValue;
  101. int8 FlagONOFF;
  102. }MCRAMP;
  103. typedef struct
  104. {
  105. int8 FlagONOFF;
  106. }PFCMCRAMP;
  107. typedef struct
  108. {
  109. uint16 PWMARR; // 周期值
  110. uint16 PWMARR2; // 周期值
  111. int16 PWMARR_last; // 周期值
  112. }PWMINPUTCAL;
  113. typedef struct
  114. {
  115. uint16 PowerOnCnt; // 上电时间计数
  116. }TIMERTypeDef;
  117. typedef struct
  118. {
  119. int16 yajispeed;
  120. int16 fengjispeed;
  121. int16 dianzifakaidu;
  122. int16 sitongfa;
  123. uint8 RunMode1; //运行模式
  124. uint8 RunMode2; //运行模式
  125. uint8 dianjiare;
  126. }CONTROLCMDD;
  127. typedef struct
  128. {
  129. uint8 mcIDQtime1;
  130. uint8 mcIDQtime2;
  131. uint16 mcIDQtime3;
  132. uint32 mcIDQtime4;
  133. uint8 mcPtime1;
  134. uint8 mcPtime2;
  135. uint16 mcPtime3;
  136. uint32 mcPtime4;
  137. int16 flag;
  138. int16 Pflag;
  139. }ILIMIT;
  140. /* Exported variables ---------------------------------------------------------------------------*/
  141. extern PWMINPUTCAL xdata mcPwmInput;
  142. extern CurrentVarible xdata mcCurVarible;
  143. extern ADCSample xdata AdcSampleValue;
  144. extern FOCCTRL xdata mcFocCtrl;
  145. extern MCLedDisplay xdata mcLedDisplay;
  146. extern MCRAMP xdata mcSpeedRamp;
  147. extern PFCMCRAMP xdata PFCCONTROL;
  148. extern TIMERTypeDef xdata Time;
  149. extern ILIMIT xdata mcIimit;
  150. extern CONTROLCMDD xdata ConTrolCmd;
  151. extern uint8 xdata dog_Status;
  152. extern uint8 xdata flag_1ms_main;
  153. extern int16 Huan_temp,Guan_temp,Paiqi_temp,Yaji_temp;
  154. extern int s2_cvcf_i_set;
  155. /* Exported functions ---------------------------------------------------------------------------*/
  156. extern int16 LPF_realize(int16 Xn1 , int16 Xn0 , int16 K);
  157. extern int16 LPF_realize1(int16 Xn1 , int16 Xn0 , int16 K);
  158. extern int16 LPF_realize2(int16 Xn1 , int16 Xn0 , int16 K);
  159. extern void VariablesPreInit(void);
  160. extern void Fault_Detection(void);
  161. extern void PFCFault_Detection(void);
  162. extern void Led_OnOff(MCLedDisplay *hLedDisplay,uint8 htime);
  163. extern void TargetRef_Process(void);
  164. extern void Speed_response(void);
  165. extern void main_ms(void);
  166. extern void mc_ramp(MCRAMP *hSpeedramp);
  167. extern int16 HW_One_PI(int16 Xn1);
  168. extern void LED_Display(void);
  169. extern void STT_FOC_THECOMP_CLEAR(void);
  170. extern void FaultProcess(void);
  171. extern uint32 Abs_F32(int32 value);
  172. extern void StarRampDealwith(void);
  173. extern void MCTorqueControl(void);
  174. extern void ID_IQ_Control(void);
  175. extern void Trace_Select(void);
  176. extern int16 fengjiPI(int16 feedbackvalue, int16 referencevalue);
  177. extern int16 IPM_RealTemp(uint16 ADC_vaule);
  178. extern void Current_Speed_PI(void);
  179. extern void Temp_jisuan(void);
  180. extern void IsLimit_Over_tect(void);
  181. extern void IsLimit_Over_deal(void);
  182. extern void Control_Cmd(void);
  183. extern void Trace_Select_read(void);
  184. extern void Trace_Select_write(void);
  185. extern uint16 VAC_Frequency_Max(void);
  186. #endif