SOC.h 9.2 KB

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