/* * File: SOC.h * * Code generated for Simulink model 'SOC'. * * Model version : 1.51 * Simulink Coder version : 9.4 (R2020b) 29-Jul-2020 * C/C++ source code generated on : Thu Sep 9 17:18:48 2021 * * Target selection: ert.tlc * Embedded hardware selection: Intel->x86-64 (Windows64) * Code generation objectives: Unspecified * Validation result: Not run */ #ifndef RTW_HEADER_SOC_h_ #define RTW_HEADER_SOC_h_ #include #ifndef SOC_COMMON_INCLUDES_ #define SOC_COMMON_INCLUDES_ #include "rtwtypes.h" #include "zero_crossing_types.h" #endif /* SOC_COMMON_INCLUDES_ */ #include "SOC_types.h" /* Includes for objects with custom storage classes. */ #include "BCUCal.h" #include "BCUDisp.h" /* Block signals for model 'SOC' */ #ifndef SOC_MDLREF_HIDE_CHILD_ typedef struct { uint16_T in; /* '/in' */ uint16_T Switch; /* '/Switch' */ uint16_T Divide; /* '/Divide' */ uint16_T socn_pct_bcuSocEE_Merge; /* '/socn_pct_bcuSocEE_Merge' */ int16_T in_f; /* '/in' */ int16_T in_d; /* '/in' */ int16_T in_c; /* '/in' */ } B_SOC_c_T; #endif /*SOC_MDLREF_HIDE_CHILD_*/ /* Block states (default storage) for model 'SOC' */ #ifndef SOC_MDLREF_HIDE_CHILD_ typedef struct { real_T SOCk_Delay_DSTATE; /* '/SOCk_Delay' */ real_T P_Delay_DSTATE[4]; /* '/P_Delay' */ real_T SOCk_Delay_DSTATE_e; /* '/SOCk_Delay' */ real_T P_Delay_DSTATE_m[4]; /* '/P_Delay' */ real_T Up_Delay_DSTATE; /* '/Up_Delay' */ real_T Up_Delay_DSTATE_h; /* '/Up_Delay' */ real_T Divide_DWORK4; /* '/Divide' */ real_T Divide_DWORK4_h; /* '/Divide' */ int32_T _DSTATE; /* '/ ' */ uint16_T Time_Delay_DSTATE; /* '/Time_Delay' */ uint16_T Time_Delay_DSTATE_e; /* '/Time_Delay' */ uint16_T Time_Delay_DSTATE_g; /* '/Time_Delay' */ uint16_T Time_Delay_DSTATE_f; /* '/Time_Delay' */ uint16_T UnitDelay7_DSTATE; /* '/Unit Delay7' */ uint16_T socd_pct_battSoc0_Delay_DSTATE;/* '/socd_pct_battSoc0_Delay' */ uint16_T socd_pct_bcusocDelay_DSTATE;/* '/socd_pct_bcusocDelay' */ uint16_T socd_pct_bcuSoc0_Delay_DSTATE;/* '/socd_pct_bcuSoc0_Delay' */ uint16_T socd_flg_EEsave_Delay_DSTATE;/* '/socd_flg_EEsave_Delay' */ uint16_T socn_pct_estsoc_Delay_DSTATE;/* '/socn_pct_estsoc_Delay' */ uint16_T socfit_Delay_DSTATE; /* '/socfit_Delay' */ uint16_T socfit_Delay_DSTATE_n; /* '/socfit_Delay' */ uint8_T ihd_st_chrgSta_Delay_DSTATE; /* '/ihd_st_chrgSta_Delay' */ uint8_T Time_reset_DSTATE; /* '/Time_reset' */ boolean_T FirstDelay_DSTATE; /* '/FirstDelay' */ boolean_T Frist_DSTATE; /* '/Frist' */ boolean_T Frist_DSTATE_h; /* '/Frist' */ boolean_T First_Delay_DSTATE; /* '/First_Delay' */ boolean_T First_Delay1_DSTATE; /* '/First_Delay1' */ boolean_T UnitDelay1_DSTATE; /* '/Unit Delay1' */ boolean_T UnitDelay1_DSTATE_p; /* '/Unit Delay1' */ boolean_T lowFLg_Delay_DSTATE; /* '/lowFLg_Delay' */ boolean_T overFlg_reset_DSTATE; /* '/overFlg_reset' */ boolean_T fulFLg_reset_DSTATE; /* '/fulFLg_reset' */ int8_T If_ActiveSubsystem; /* '/If' */ } DW_SOC_f_T; #endif /*SOC_MDLREF_HIDE_CHILD_*/ /* Zero-crossing (trigger) state for model 'SOC' */ #ifndef SOC_MDLREF_HIDE_CHILD_ typedef struct { ZCSigState Subsystem2_Trig_ZCE; /* '/Subsystem2' */ ZCSigState Subsystem2_Trig_ZCE_k; /* '/Subsystem2' */ } ZCE_SOC_T; #endif /*SOC_MDLREF_HIDE_CHILD_*/ #ifndef SOC_MDLREF_HIDE_CHILD_ /* Real-time Model Data Structure */ struct tag_RTM_SOC_T { const char_T **errorStatus; }; #endif /*SOC_MDLREF_HIDE_CHILD_*/ #ifndef SOC_MDLREF_HIDE_CHILD_ typedef struct { RT_MODEL_SOC_T rtm; } MdlrefDW_SOC_T; #endif /*SOC_MDLREF_HIDE_CHILD_*/ extern void SOC_Init(void); extern void SOC_Disable(void); extern void SOC(void); /* Model reference registration function */ extern void SOC_initialize(const char_T **rt_errorStatus); #ifndef SOC_MDLREF_HIDE_CHILD_ extern void SOC_MATLABFunction(real_T rtu_x, real_T *rty_y); extern void SOC_IfActionSubsystem(uint16_T rtu_SOC, uint16_T rtu_SOCfit, uint16_T *rty_Out1, uint16_T rtp_m); extern void SOC_IfActionSubsystem1(uint16_T rtu_SOC, uint16_T rtu_SOCfit, uint16_T *rty_Out1); #endif /*SOC_MDLREF_HIDE_CHILD_*/ #ifndef SOC_MDLREF_HIDE_CHILD_ extern MdlrefDW_SOC_T SOC_MdlrefDW; #endif /*SOC_MDLREF_HIDE_CHILD_*/ #ifndef SOC_MDLREF_HIDE_CHILD_ /* Block signals (default storage) */ extern B_SOC_c_T SOC_B; /* Block states (default storage) */ extern DW_SOC_f_T SOC_DW; /* Previous zero-crossings (trigger) states */ extern ZCE_SOC_T SOC_PrevZCX; #endif /*SOC_MDLREF_HIDE_CHILD_*/ /*- * These blocks were eliminated from the model due to optimizations: * * Block '/Scope' : Unused code path elimination * Block '/Signal Conversion' : Unused code path elimination * Block '/Display' : Unused code path elimination * Block '/Scope1' : Unused code path elimination * Block '/Scope2' : Unused code path elimination * Block '/Signal Conversion1' : Eliminate redundant signal conversion block * Block '/Signal Conversion' : Eliminate redundant signal conversion block * Block '/Saturation1' : Eliminated Saturate block */ /*- * The generated code includes comments that allow you to trace directly * back to the appropriate location in the model. The basic format * is /block_name, where system is the system number (uniquely * assigned by Simulink) and block_name is the name of the block. * * Use the MATLAB hilite_system command to trace the generated code back * to the model. For example, * * hilite_system('') - opens system 3 * hilite_system('/Kp') - opens and selects block Kp which resides in S3 * * Here is the system hierarchy for this model * * '' : 'SOC' * '' : 'SOC/SOC' * '' : 'SOC/SOC/EEcheck' * '' : 'SOC/SOC/EKF' * '' : 'SOC/SOC/EKF1' * '' : 'SOC/SOC/Inti_correct' * '' : 'SOC/SOC/bcuSoc' * '' : 'SOC/SOC/estSOC' * '' : 'SOC/SOC/EEcheck/If Action Subsystem' * '' : 'SOC/SOC/EEcheck/If Action Subsystem1' * '' : 'SOC/SOC/EEcheck/Subsystem' * '' : 'SOC/SOC/EKF/EKF' * '' : 'SOC/SOC/EKF/Subsystem' * '' : 'SOC/SOC/EKF/Subsystem1' * '' : 'SOC/SOC/EKF/Subsystem/初始' * '' : 'SOC/SOC/EKF/Subsystem/协方差更新' * '' : 'SOC/SOC/EKF/Subsystem/协方差计算' * '' : 'SOC/SOC/EKF/Subsystem/卡尔曼增益' * '' : 'SOC/SOC/EKF/Subsystem/状态修正' * '' : 'SOC/SOC/EKF/Subsystem/状态更新' * '' : 'SOC/SOC/EKF/Subsystem/电池参数' * '' : 'SOC/SOC/EKF/Subsystem/矩阵计算' * '' : 'SOC/SOC/EKF/Subsystem/矩阵计算/MATLAB Function' * '' : 'SOC/SOC/EKF/Subsystem1/初始' * '' : 'SOC/SOC/EKF/Subsystem1/协方差更新' * '' : 'SOC/SOC/EKF/Subsystem1/协方差计算' * '' : 'SOC/SOC/EKF/Subsystem1/卡尔曼增益' * '' : 'SOC/SOC/EKF/Subsystem1/状态修正' * '' : 'SOC/SOC/EKF/Subsystem1/状态更新' * '' : 'SOC/SOC/EKF/Subsystem1/电池参数' * '' : 'SOC/SOC/EKF/Subsystem1/矩阵计算' * '' : 'SOC/SOC/EKF/Subsystem1/矩阵计算/MATLAB Function' * '' : 'SOC/SOC/bcuSoc/Subsystem1' * '' : 'SOC/SOC/bcuSoc/Subsystem2' * '' : 'SOC/SOC/bcuSoc/Subsystem3' * '' : 'SOC/SOC/bcuSoc/keep juged1' * '' : 'SOC/SOC/bcuSoc/Subsystem2/LookUP1' * '' : 'SOC/SOC/bcuSoc/Subsystem2/SOCfit' * '' : 'SOC/SOC/bcuSoc/Subsystem2/SOCfit/If Action Subsystem' * '' : 'SOC/SOC/bcuSoc/Subsystem2/SOCfit/If Action Subsystem1' * '' : 'SOC/SOC/bcuSoc/Subsystem2/SOCfit/If Action Subsystem2' * '' : 'SOC/SOC/bcuSoc/Subsystem3/LookUP1' * '' : 'SOC/SOC/bcuSoc/Subsystem3/SOCfit1' * '' : 'SOC/SOC/bcuSoc/Subsystem3/SOCfit1/If Action Subsystem' * '' : 'SOC/SOC/bcuSoc/Subsystem3/SOCfit1/If Action Subsystem1' * '' : 'SOC/SOC/bcuSoc/Subsystem3/SOCfit1/If Action Subsystem2' * '' : 'SOC/SOC/estSOC/If Action Subsystem' * '' : 'SOC/SOC/estSOC/If Action Subsystem1' * '' : 'SOC/SOC/estSOC/If Action Subsystem2' * '' : 'SOC/SOC/estSOC/Time++' * '' : 'SOC/SOC/estSOC/chrgCCV' * '' : 'SOC/SOC/estSOC/disChrgCCV' * '' : 'SOC/SOC/estSOC/If Action Subsystem/Frist Keep' * '' : 'SOC/SOC/estSOC/If Action Subsystem/Frist Keep1' * '' : 'SOC/SOC/estSOC/If Action Subsystem/Frist Keep/Subsystem3' * '' : 'SOC/SOC/estSOC/If Action Subsystem/Frist Keep1/Subsystem3' * '' : 'SOC/SOC/estSOC/chrgCCV/Subsystem2' * '' : 'SOC/SOC/estSOC/chrgCCV/inc' * '' : 'SOC/SOC/estSOC/chrgCCV/keep juged' * '' : 'SOC/SOC/estSOC/chrgCCV/keep juged1' * '' : 'SOC/SOC/estSOC/disChrgCCV/Subsystem2' * '' : 'SOC/SOC/estSOC/disChrgCCV/keep juged' */ #endif /* RTW_HEADER_SOC_h_ */ /* * File trailer for generated code. * * [EOF] */