AddFunction.h 4.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131
  1. #ifndef __AddFunction_H_
  2. #define __AddFunction_H_
  3. #include <FU68xx_5_Type.h>
  4. typedef struct
  5. {
  6. uint16 Max_ia; // IA的最大值
  7. uint16 Max_ib; // IB的最大值
  8. uint16 Max_ic; // IC的最大值
  9. uint16 Max_is;
  10. uint16 time;
  11. } CurrentVarible;
  12. typedef struct
  13. {
  14. int16 mcDcbusFlt; // 母线电压
  15. int16 mcAcbusFlt; // 母线电压
  16. int16 mcAcbustime; // 母线电压
  17. int16 mcDcbus; // 母线电压
  18. int16 mcAcbus; // 母线电压
  19. int16 mcDcbus_max_temp; // 母线电压最大值
  20. int16 mcAcbus_max_temp; // 母线电压最大值
  21. int16 mcDcbus_min_temp; // 母线电压最小值
  22. int16 mcDcbus_max; // 母线电压最大值
  23. int16 mcAcbus_max; // 母线电压最大值
  24. int16 mcDcbus_min; // 母线电压最小值
  25. int16 mcDcbus_chazhi; // 母线电压最小值
  26. uint16 mcDcbus_count;
  27. uint16 CtrlMode; // 控制模式
  28. int16 Powerlpf; // 功率滤波后的值
  29. int16 IsRef; // 速度闭环PI计算结果
  30. int16 mcIqref; // Q轴给定电流
  31. int16 mcIdref; // Q轴给定电流
  32. int16 IqRef; // Q 轴参考电流
  33. int16 IdRef; // D 轴参考电流
  34. int16 UQFlt; // UQ滤波后的值
  35. int16 UDFlt; // UD滤波后的值
  36. int16 QoutValue;
  37. int16 SpeedFlt; // 当前速度滤波后的值
  38. uint16 BEmf; // 反电动势
  39. uint16 IDQFlt;
  40. uint16 RunStateCnt; // 运行状态计数
  41. uint16 LoopTime; // 外环时间
  42. uint16 IND_DEC_LoopTime; // 外环时间
  43. uint16 ChargeStep; // 预充电的步骤
  44. uint16 State_Count; // 电机各个状态的时间计数
  45. uint16 iiqq; // 电机各个状态的时间计数
  46. uint16 iiqq2; // 电机各个状态的时间计数
  47. int16 IPMtemp;
  48. int16 foc_comp_temp;
  49. int16 STT_FOC_THECOMP;
  50. uint8 CurrentAlignStatus;
  51. } FOCCTRL;
  52. typedef struct
  53. {
  54. int16 TargetValue;
  55. int16 ActualValue;
  56. int16 IncValue;
  57. int16 DecValue;
  58. } MCRAMP;
  59. typedef struct
  60. {
  61. uint16 PWMARR; // 周期值
  62. uint16 PWMARR2; // 周期值
  63. int16 PWMARR_last; // 周期值
  64. } PWMINPUTCAL;
  65. typedef struct
  66. {
  67. int16 yajispeed;
  68. int16 fengjispeed;
  69. int16 dianzifakaidu;
  70. int16 sitongfa;
  71. uint8 RunMode1; //运行模式
  72. uint8 RunMode2; //运行模式
  73. uint8 dianjiare;
  74. } CONTROLCMDD;
  75. typedef struct
  76. {
  77. uint8 mcIDQtime1;
  78. uint8 mcIDQtime2;
  79. uint16 mcIDQtime3;
  80. uint32 mcIDQtime4;
  81. uint8 mcPtime1;
  82. uint8 mcPtime2;
  83. uint16 mcPtime3;
  84. uint32 mcPtime4;
  85. int16 flag;
  86. int16 Pflag;
  87. } ILIMIT;
  88. /* Exported variables ---------------------------------------------------------------------------*/
  89. extern PWMINPUTCAL xdata mcPwmInput;
  90. extern CurrentVarible xdata mcCurVarible;
  91. extern FOCCTRL xdata mcFocCtrl;
  92. extern MCRAMP xdata mcSpeedRamp;
  93. extern ILIMIT xdata mcIimit;
  94. extern CONTROLCMDD xdata ConTrolCmd;
  95. extern int16 Huan_temp, Guan_temp, Paiqi_temp, Yaji_temp;
  96. extern int16 LPF_realize(int16 Xn1, int16 Xn0, int16 K);
  97. extern int16 LPF_realize1(int16 Xn1, int16 Xn0, int16 K);
  98. extern int16 LPF_realize2(int16 Xn1, int16 Xn0, int16 K);
  99. extern void Fault_Detection(void);
  100. extern void PFCFault_Detection(void);
  101. extern void TargetRef_Process(void);
  102. extern void Speed_response(void);
  103. extern void mc_ramp(MCRAMP * hSpeedramp);
  104. extern void STT_FOC_THECOMP_CLEAR(void);
  105. extern void FaultProcess(void);
  106. extern uint32 Abs_F32(int32 value);
  107. extern void StarRampDealwith(void);
  108. extern void Current_Speed_PI(void);
  109. extern void IsLimit_Over_tect(void);
  110. extern void IsLimit_Over_deal(void);
  111. extern uint16 VAC_Frequency_Max(void);
  112. #endif