SOC.h 9.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247
  1. /*
  2. * File: SOC.h
  3. *
  4. * Code generated for Simulink model 'SOC'.
  5. *
  6. * Model version : 1.51
  7. * Simulink Coder version : 9.4 (R2020b) 29-Jul-2020
  8. * C/C++ source code generated on : Thu Sep 9 17:18:48 2021
  9. *
  10. * Target selection: ert.tlc
  11. * Embedded hardware selection: Intel->x86-64 (Windows64)
  12. * Code generation objectives: Unspecified
  13. * Validation result: Not run
  14. */
  15. #ifndef RTW_HEADER_SOC_h_
  16. #define RTW_HEADER_SOC_h_
  17. #include <math.h>
  18. #ifndef SOC_COMMON_INCLUDES_
  19. #define SOC_COMMON_INCLUDES_
  20. #include "rtwtypes.h"
  21. #include "zero_crossing_types.h"
  22. #endif /* SOC_COMMON_INCLUDES_ */
  23. #include "SOC_types.h"
  24. /* Includes for objects with custom storage classes. */
  25. #include "BCUCal.h"
  26. #include "BCUDisp.h"
  27. /* Block signals for model 'SOC' */
  28. #ifndef SOC_MDLREF_HIDE_CHILD_
  29. typedef struct {
  30. uint16_T in; /* '<S55>/in' */
  31. uint16_T Switch; /* '<S5>/Switch' */
  32. uint16_T Divide; /* '<S5>/Divide' */
  33. uint16_T socn_pct_bcuSocEE_Merge; /* '<S2>/socn_pct_bcuSocEE_Merge' */
  34. int16_T in_f; /* '<S54>/in' */
  35. int16_T in_d; /* '<S60>/in' */
  36. int16_T in_c; /* '<S56>/in' */
  37. } B_SOC_c_T;
  38. #endif /*SOC_MDLREF_HIDE_CHILD_*/
  39. /* Block states (default storage) for model 'SOC' */
  40. #ifndef SOC_MDLREF_HIDE_CHILD_
  41. typedef struct {
  42. real_T SOCk_Delay_DSTATE; /* '<S12>/SOCk_Delay' */
  43. real_T P_Delay_DSTATE[4]; /* '<S12>/P_Delay' */
  44. real_T SOCk_Delay_DSTATE_e; /* '<S13>/SOCk_Delay' */
  45. real_T P_Delay_DSTATE_m[4]; /* '<S13>/P_Delay' */
  46. real_T Up_Delay_DSTATE; /* '<S13>/Up_Delay' */
  47. real_T Up_Delay_DSTATE_h; /* '<S12>/Up_Delay' */
  48. real_T Divide_DWORK4; /* '<S17>/Divide' */
  49. real_T Divide_DWORK4_h; /* '<S26>/Divide' */
  50. int32_T _DSTATE; /* '<S4>/ ' */
  51. uint16_T Time_Delay_DSTATE; /* '<S35>/Time_Delay' */
  52. uint16_T Time_Delay_DSTATE_e; /* '<S61>/Time_Delay' */
  53. uint16_T Time_Delay_DSTATE_g; /* '<S59>/Time_Delay' */
  54. uint16_T Time_Delay_DSTATE_f; /* '<S58>/Time_Delay' */
  55. uint16_T UnitDelay7_DSTATE; /* '<S6>/Unit Delay7' */
  56. uint16_T socd_pct_battSoc0_Delay_DSTATE;/* '<S6>/socd_pct_battSoc0_Delay' */
  57. uint16_T socd_pct_bcusocDelay_DSTATE;/* '<S6>/socd_pct_bcusocDelay' */
  58. uint16_T socd_pct_bcuSoc0_Delay_DSTATE;/* '<S6>/socd_pct_bcuSoc0_Delay' */
  59. uint16_T socd_flg_EEsave_Delay_DSTATE;/* '<S32>/socd_flg_EEsave_Delay' */
  60. uint16_T socn_pct_estsoc_Delay_DSTATE;/* '<S57>/socn_pct_estsoc_Delay' */
  61. uint16_T socfit_Delay_DSTATE; /* '<S42>/socfit_Delay' */
  62. uint16_T socfit_Delay_DSTATE_n; /* '<S37>/socfit_Delay' */
  63. uint8_T ihd_st_chrgSta_Delay_DSTATE; /* '<S6>/ihd_st_chrgSta_Delay' */
  64. uint8_T Time_reset_DSTATE; /* '<S49>/Time_reset' */
  65. boolean_T FirstDelay_DSTATE; /* '<S1>/FirstDelay' */
  66. boolean_T Frist_DSTATE; /* '<S14>/Frist' */
  67. boolean_T Frist_DSTATE_h; /* '<S23>/Frist' */
  68. boolean_T First_Delay_DSTATE; /* '<S6>/First_Delay' */
  69. boolean_T First_Delay1_DSTATE; /* '<S6>/First_Delay1' */
  70. boolean_T UnitDelay1_DSTATE; /* '<S52>/Unit Delay1' */
  71. boolean_T UnitDelay1_DSTATE_p; /* '<S53>/Unit Delay1' */
  72. boolean_T lowFLg_Delay_DSTATE; /* '<S51>/lowFLg_Delay' */
  73. boolean_T overFlg_reset_DSTATE; /* '<S50>/overFlg_reset' */
  74. boolean_T fulFLg_reset_DSTATE; /* '<S50>/fulFLg_reset' */
  75. int8_T If_ActiveSubsystem; /* '<S7>/If' */
  76. } DW_SOC_f_T;
  77. #endif /*SOC_MDLREF_HIDE_CHILD_*/
  78. /* Zero-crossing (trigger) state for model 'SOC' */
  79. #ifndef SOC_MDLREF_HIDE_CHILD_
  80. typedef struct {
  81. ZCSigState Subsystem2_Trig_ZCE; /* '<S51>/Subsystem2' */
  82. ZCSigState Subsystem2_Trig_ZCE_k; /* '<S50>/Subsystem2' */
  83. } ZCE_SOC_T;
  84. #endif /*SOC_MDLREF_HIDE_CHILD_*/
  85. #ifndef SOC_MDLREF_HIDE_CHILD_
  86. /* Real-time Model Data Structure */
  87. struct tag_RTM_SOC_T {
  88. const char_T **errorStatus;
  89. };
  90. #endif /*SOC_MDLREF_HIDE_CHILD_*/
  91. #ifndef SOC_MDLREF_HIDE_CHILD_
  92. typedef struct {
  93. RT_MODEL_SOC_T rtm;
  94. } MdlrefDW_SOC_T;
  95. #endif /*SOC_MDLREF_HIDE_CHILD_*/
  96. extern void SOC_Init(void);
  97. extern void SOC_Disable(void);
  98. extern void SOC(void);
  99. /* Model reference registration function */
  100. extern void SOC_initialize(const char_T **rt_errorStatus);
  101. #ifndef SOC_MDLREF_HIDE_CHILD_
  102. extern void SOC_MATLABFunction(real_T rtu_x, real_T *rty_y);
  103. extern void SOC_IfActionSubsystem(uint16_T rtu_SOC, uint16_T rtu_SOCfit,
  104. uint16_T *rty_Out1, uint16_T rtp_m);
  105. extern void SOC_IfActionSubsystem1(uint16_T rtu_SOC, uint16_T rtu_SOCfit,
  106. uint16_T *rty_Out1);
  107. #endif /*SOC_MDLREF_HIDE_CHILD_*/
  108. #ifndef SOC_MDLREF_HIDE_CHILD_
  109. extern MdlrefDW_SOC_T SOC_MdlrefDW;
  110. #endif /*SOC_MDLREF_HIDE_CHILD_*/
  111. #ifndef SOC_MDLREF_HIDE_CHILD_
  112. /* Block signals (default storage) */
  113. extern B_SOC_c_T SOC_B;
  114. /* Block states (default storage) */
  115. extern DW_SOC_f_T SOC_DW;
  116. /* Previous zero-crossings (trigger) states */
  117. extern ZCE_SOC_T SOC_PrevZCX;
  118. #endif /*SOC_MDLREF_HIDE_CHILD_*/
  119. /*-
  120. * These blocks were eliminated from the model due to optimizations:
  121. *
  122. * Block '<S12>/Scope' : Unused code path elimination
  123. * Block '<S12>/Signal Conversion' : Unused code path elimination
  124. * Block '<S29>/Display' : Unused code path elimination
  125. * Block '<S6>/Scope1' : Unused code path elimination
  126. * Block '<S33>/Scope2' : Unused code path elimination
  127. * Block '<S12>/Signal Conversion1' : Eliminate redundant signal conversion block
  128. * Block '<S37>/Signal Conversion' : Eliminate redundant signal conversion block
  129. * Block '<S49>/Saturation1' : Eliminated Saturate block
  130. */
  131. /*-
  132. * The generated code includes comments that allow you to trace directly
  133. * back to the appropriate location in the model. The basic format
  134. * is <system>/block_name, where system is the system number (uniquely
  135. * assigned by Simulink) and block_name is the name of the block.
  136. *
  137. * Use the MATLAB hilite_system command to trace the generated code back
  138. * to the model. For example,
  139. *
  140. * hilite_system('<S3>') - opens system 3
  141. * hilite_system('<S3>/Kp') - opens and selects block Kp which resides in S3
  142. *
  143. * Here is the system hierarchy for this model
  144. *
  145. * '<Root>' : 'SOC'
  146. * '<S1>' : 'SOC/SOC'
  147. * '<S2>' : 'SOC/SOC/EEcheck'
  148. * '<S3>' : 'SOC/SOC/EKF'
  149. * '<S4>' : 'SOC/SOC/EKF1'
  150. * '<S5>' : 'SOC/SOC/Inti_correct'
  151. * '<S6>' : 'SOC/SOC/bcuSoc'
  152. * '<S7>' : 'SOC/SOC/estSOC'
  153. * '<S8>' : 'SOC/SOC/EEcheck/If Action Subsystem'
  154. * '<S9>' : 'SOC/SOC/EEcheck/If Action Subsystem1'
  155. * '<S10>' : 'SOC/SOC/EEcheck/Subsystem'
  156. * '<S11>' : 'SOC/SOC/EKF/EKF'
  157. * '<S12>' : 'SOC/SOC/EKF/Subsystem'
  158. * '<S13>' : 'SOC/SOC/EKF/Subsystem1'
  159. * '<S14>' : 'SOC/SOC/EKF/Subsystem/初始'
  160. * '<S15>' : 'SOC/SOC/EKF/Subsystem/协方差更新'
  161. * '<S16>' : 'SOC/SOC/EKF/Subsystem/协方差计算'
  162. * '<S17>' : 'SOC/SOC/EKF/Subsystem/卡尔曼增益'
  163. * '<S18>' : 'SOC/SOC/EKF/Subsystem/状态修正'
  164. * '<S19>' : 'SOC/SOC/EKF/Subsystem/状态更新'
  165. * '<S20>' : 'SOC/SOC/EKF/Subsystem/电池参数'
  166. * '<S21>' : 'SOC/SOC/EKF/Subsystem/矩阵计算'
  167. * '<S22>' : 'SOC/SOC/EKF/Subsystem/矩阵计算/MATLAB Function'
  168. * '<S23>' : 'SOC/SOC/EKF/Subsystem1/初始'
  169. * '<S24>' : 'SOC/SOC/EKF/Subsystem1/协方差更新'
  170. * '<S25>' : 'SOC/SOC/EKF/Subsystem1/协方差计算'
  171. * '<S26>' : 'SOC/SOC/EKF/Subsystem1/卡尔曼增益'
  172. * '<S27>' : 'SOC/SOC/EKF/Subsystem1/状态修正'
  173. * '<S28>' : 'SOC/SOC/EKF/Subsystem1/状态更新'
  174. * '<S29>' : 'SOC/SOC/EKF/Subsystem1/电池参数'
  175. * '<S30>' : 'SOC/SOC/EKF/Subsystem1/矩阵计算'
  176. * '<S31>' : 'SOC/SOC/EKF/Subsystem1/矩阵计算/MATLAB Function'
  177. * '<S32>' : 'SOC/SOC/bcuSoc/Subsystem1'
  178. * '<S33>' : 'SOC/SOC/bcuSoc/Subsystem2'
  179. * '<S34>' : 'SOC/SOC/bcuSoc/Subsystem3'
  180. * '<S35>' : 'SOC/SOC/bcuSoc/keep juged1'
  181. * '<S36>' : 'SOC/SOC/bcuSoc/Subsystem2/LookUP1'
  182. * '<S37>' : 'SOC/SOC/bcuSoc/Subsystem2/SOCfit'
  183. * '<S38>' : 'SOC/SOC/bcuSoc/Subsystem2/SOCfit/If Action Subsystem'
  184. * '<S39>' : 'SOC/SOC/bcuSoc/Subsystem2/SOCfit/If Action Subsystem1'
  185. * '<S40>' : 'SOC/SOC/bcuSoc/Subsystem2/SOCfit/If Action Subsystem2'
  186. * '<S41>' : 'SOC/SOC/bcuSoc/Subsystem3/LookUP1'
  187. * '<S42>' : 'SOC/SOC/bcuSoc/Subsystem3/SOCfit1'
  188. * '<S43>' : 'SOC/SOC/bcuSoc/Subsystem3/SOCfit1/If Action Subsystem'
  189. * '<S44>' : 'SOC/SOC/bcuSoc/Subsystem3/SOCfit1/If Action Subsystem1'
  190. * '<S45>' : 'SOC/SOC/bcuSoc/Subsystem3/SOCfit1/If Action Subsystem2'
  191. * '<S46>' : 'SOC/SOC/estSOC/If Action Subsystem'
  192. * '<S47>' : 'SOC/SOC/estSOC/If Action Subsystem1'
  193. * '<S48>' : 'SOC/SOC/estSOC/If Action Subsystem2'
  194. * '<S49>' : 'SOC/SOC/estSOC/Time++'
  195. * '<S50>' : 'SOC/SOC/estSOC/chrgCCV'
  196. * '<S51>' : 'SOC/SOC/estSOC/disChrgCCV'
  197. * '<S52>' : 'SOC/SOC/estSOC/If Action Subsystem/Frist Keep'
  198. * '<S53>' : 'SOC/SOC/estSOC/If Action Subsystem/Frist Keep1'
  199. * '<S54>' : 'SOC/SOC/estSOC/If Action Subsystem/Frist Keep/Subsystem3'
  200. * '<S55>' : 'SOC/SOC/estSOC/If Action Subsystem/Frist Keep1/Subsystem3'
  201. * '<S56>' : 'SOC/SOC/estSOC/chrgCCV/Subsystem2'
  202. * '<S57>' : 'SOC/SOC/estSOC/chrgCCV/inc'
  203. * '<S58>' : 'SOC/SOC/estSOC/chrgCCV/keep juged'
  204. * '<S59>' : 'SOC/SOC/estSOC/chrgCCV/keep juged1'
  205. * '<S60>' : 'SOC/SOC/estSOC/disChrgCCV/Subsystem2'
  206. * '<S61>' : 'SOC/SOC/estSOC/disChrgCCV/keep juged'
  207. */
  208. #endif /* RTW_HEADER_SOC_h_ */
  209. /*
  210. * File trailer for generated code.
  211. *
  212. * [EOF]
  213. */