AddFunction.h 3.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113
  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 foc_comp_temp;
  48. int16 STT_FOC_THECOMP;
  49. uint8 CurrentAlignStatus;
  50. } FOCCTRL;
  51. typedef struct
  52. {
  53. int16 TargetValue;
  54. int16 ActualValue;
  55. int16 IncValue;
  56. int16 DecValue;
  57. } MCRAMP;
  58. typedef struct
  59. {
  60. int16 yajispeed;
  61. int16 fengjispeed;
  62. int16 dianzifakaidu;
  63. int16 sitongfa;
  64. uint8 RunMode1; //运行模式
  65. uint8 RunMode2; //运行模式
  66. uint8 dianjiare;
  67. } CONTROLCMDD;
  68. typedef struct
  69. {
  70. uint8 mcIDQtime1;
  71. uint8 mcIDQtime2;
  72. uint16 mcIDQtime3;
  73. uint32 mcIDQtime4;
  74. uint8 mcPtime1;
  75. uint8 mcPtime2;
  76. uint16 mcPtime3;
  77. uint32 mcPtime4;
  78. int16 flag;
  79. int16 Pflag;
  80. } ILIMIT;
  81. extern CurrentVarible xdata mcCurVarible;
  82. extern FOCCTRL xdata mcFocCtrl;
  83. extern MCRAMP xdata mcSpeedRamp;
  84. extern ILIMIT xdata mcIimit;
  85. extern CONTROLCMDD xdata ConTrolCmd;
  86. extern void Fault_Detection(void);
  87. extern void PFCFault_Detection(void);
  88. extern void Speed_response(void);
  89. extern void mc_ramp(MCRAMP * hSpeedramp);
  90. extern void STT_FOC_THECOMP_CLEAR(void);
  91. extern void FaultProcess(void);
  92. extern uint32 Abs_F32(int32 value);
  93. extern void StarRampDealwith(void);
  94. extern void Current_Speed_PI(void);
  95. extern void IsLimit_Over_tect(void);
  96. extern void IsLimit_Over_deal(void);
  97. #endif