/* * Model.h * * Code generation for model "Model". * * Model version : 1.1 * Simulink Coder version : 9.7 (R2022a) 13-Nov-2021 * C++ source code generated on : Thu Mar 26 17:54:04 2026 * * Target selection: grt.tlc * Note: GRT includes extra infrastructure and instrumentation for prototyping * Embedded hardware selection: Intel->x86-64 (Windows64) * Code generation objectives: Unspecified * Validation result: Not run */ #ifndef RTW_HEADER_Model_h_ #define RTW_HEADER_Model_h_ #include "rtwtypes.h" #include "rtw_continuous.h" #include "rtw_solver.h" #include "rt_logging.h" #include "Model_types.h" #include #include extern "C" { #include "rt_nonfinite.h" } /* Macros for accessing real-time model data structure */ #ifndef rtmGetContStateDisabled #define rtmGetContStateDisabled(rtm) ((rtm)->contStateDisabled) #endif #ifndef rtmSetContStateDisabled #define rtmSetContStateDisabled(rtm, val) ((rtm)->contStateDisabled = (val)) #endif #ifndef rtmGetContStates #define rtmGetContStates(rtm) ((rtm)->contStates) #endif #ifndef rtmSetContStates #define rtmSetContStates(rtm, val) ((rtm)->contStates = (val)) #endif #ifndef rtmGetContTimeOutputInconsistentWithStateAtMajorStepFlag #define rtmGetContTimeOutputInconsistentWithStateAtMajorStepFlag(rtm) ((rtm)->CTOutputIncnstWithState) #endif #ifndef rtmSetContTimeOutputInconsistentWithStateAtMajorStepFlag #define rtmSetContTimeOutputInconsistentWithStateAtMajorStepFlag(rtm, val) ((rtm)->CTOutputIncnstWithState = (val)) #endif #ifndef rtmGetDerivCacheNeedsReset #define rtmGetDerivCacheNeedsReset(rtm) ((rtm)->derivCacheNeedsReset) #endif #ifndef rtmSetDerivCacheNeedsReset #define rtmSetDerivCacheNeedsReset(rtm, val) ((rtm)->derivCacheNeedsReset = (val)) #endif #ifndef rtmGetFinalTime #define rtmGetFinalTime(rtm) ((rtm)->Timing.tFinal) #endif #ifndef rtmGetIntgData #define rtmGetIntgData(rtm) ((rtm)->intgData) #endif #ifndef rtmSetIntgData #define rtmSetIntgData(rtm, val) ((rtm)->intgData = (val)) #endif #ifndef rtmGetOdeF #define rtmGetOdeF(rtm) ((rtm)->odeF) #endif #ifndef rtmSetOdeF #define rtmSetOdeF(rtm, val) ((rtm)->odeF = (val)) #endif #ifndef rtmGetOdeY #define rtmGetOdeY(rtm) ((rtm)->odeY) #endif #ifndef rtmSetOdeY #define rtmSetOdeY(rtm, val) ((rtm)->odeY = (val)) #endif #ifndef rtmGetPeriodicContStateIndices #define rtmGetPeriodicContStateIndices(rtm) ((rtm)->periodicContStateIndices) #endif #ifndef rtmSetPeriodicContStateIndices #define rtmSetPeriodicContStateIndices(rtm, val) ((rtm)->periodicContStateIndices = (val)) #endif #ifndef rtmGetPeriodicContStateRanges #define rtmGetPeriodicContStateRanges(rtm) ((rtm)->periodicContStateRanges) #endif #ifndef rtmSetPeriodicContStateRanges #define rtmSetPeriodicContStateRanges(rtm, val) ((rtm)->periodicContStateRanges = (val)) #endif #ifndef rtmGetRTWLogInfo #define rtmGetRTWLogInfo(rtm) ((rtm)->rtwLogInfo) #endif #ifndef rtmGetZCCacheNeedsReset #define rtmGetZCCacheNeedsReset(rtm) ((rtm)->zCCacheNeedsReset) #endif #ifndef rtmSetZCCacheNeedsReset #define rtmSetZCCacheNeedsReset(rtm, val) ((rtm)->zCCacheNeedsReset = (val)) #endif #ifndef rtmGetdX #define rtmGetdX(rtm) ((rtm)->derivs) #endif #ifndef rtmSetdX #define rtmSetdX(rtm, val) ((rtm)->derivs = (val)) #endif #ifndef rtmGetErrorStatus #define rtmGetErrorStatus(rtm) ((rtm)->errorStatus) #endif #ifndef rtmSetErrorStatus #define rtmSetErrorStatus(rtm, val) ((rtm)->errorStatus = (val)) #endif #ifndef rtmGetStopRequested #define rtmGetStopRequested(rtm) ((rtm)->Timing.stopRequestedFlag) #endif #ifndef rtmSetStopRequested #define rtmSetStopRequested(rtm, val) ((rtm)->Timing.stopRequestedFlag = (val)) #endif #ifndef rtmGetStopRequestedPtr #define rtmGetStopRequestedPtr(rtm) (&((rtm)->Timing.stopRequestedFlag)) #endif #ifndef rtmGetT #define rtmGetT(rtm) (rtmGetTPtr((rtm))[0]) #endif #ifndef rtmGetTFinal #define rtmGetTFinal(rtm) ((rtm)->Timing.tFinal) #endif #ifndef rtmGetTPtr #define rtmGetTPtr(rtm) ((rtm)->Timing.t) #endif /* Block signals (default storage) */ struct B_Model_T { real_T Gain; /* '/Gain' */ real_T Gain2; /* '/Gain2' */ real_T Gain5; /* '/Gain5' */ }; /* Continuous states (default storage) */ struct X_Model_T { real_T Integrator1_CSTATE; /* '/Integrator1' */ real_T Integrator_CSTATE; /* '/Integrator' */ real_T Integrator2_CSTATE; /* '/Integrator2' */ }; /* State derivatives (default storage) */ struct XDot_Model_T { real_T Integrator1_CSTATE; /* '/Integrator1' */ real_T Integrator_CSTATE; /* '/Integrator' */ real_T Integrator2_CSTATE; /* '/Integrator2' */ }; /* State disabled */ struct XDis_Model_T { boolean_T Integrator1_CSTATE; /* '/Integrator1' */ boolean_T Integrator_CSTATE; /* '/Integrator' */ boolean_T Integrator2_CSTATE; /* '/Integrator2' */ }; #ifndef ODE3_INTG #define ODE3_INTG /* ODE3 Integration Data */ struct ODE3_IntgData { real_T *y; /* output */ real_T *f[3]; /* derivatives */ }; #endif /* External inputs (root inport signals with default storage) */ struct ExtU_Model_T { real_T Stellgrad; /* '/Stellgrad' */ }; /* External outputs (root outports fed by signals with default storage) */ struct ExtY_Model_T { real_T Temperatur; /* '/Temperatur' */ }; /* Parameters (default storage) */ struct P_Model_T_ { real_T AHD; /* Variable: AHD * Referenced by: '/Gain1' */ real_T A_Aussen; /* Variable: A_Aussen * Referenced by: '/Gain7' */ real_T Ai; /* Variable: Ai * Referenced by: '/Gain4' */ real_T CES; /* Variable: CES * Referenced by: '/Gain2' */ real_T CHD; /* Variable: CHD * Referenced by: '/Gain' */ real_T CSW; /* Variable: CSW * Referenced by: '/Gain5' */ real_T Cl; /* Variable: Cl * Referenced by: '/Gain2' */ real_T T_amb; /* Variable: T_amb * Referenced by: * '/Integrator' * '/Integrator1' * '/Integrator2' */ real_T alphaHD; /* Variable: alphaHD * Referenced by: '/Gain1' */ real_T alphaSW; /* Variable: alphaSW * Referenced by: '/Gain4' */ real_T alpha_aussen; /* Variable: alpha_aussen * Referenced by: '/Gain7' */ real_T mES; /* Variable: mES * Referenced by: '/Gain2' */ real_T mHD; /* Variable: mHD * Referenced by: '/Gain' */ real_T mSW; /* Variable: mSW * Referenced by: '/Gain5' */ real_T ml; /* Variable: ml * Referenced by: '/Gain2' */ real_T Constant_Value; /* Expression: 0 * Referenced by: '/Constant' */ }; /* Real-time Model Data Structure */ struct tag_RTM_Model_T { const char_T *errorStatus; RTWLogInfo *rtwLogInfo; RTWSolverInfo solverInfo; X_Model_T *contStates; int_T *periodicContStateIndices; real_T *periodicContStateRanges; real_T *derivs; boolean_T *contStateDisabled; boolean_T zCCacheNeedsReset; boolean_T derivCacheNeedsReset; boolean_T CTOutputIncnstWithState; real_T odeY[3]; real_T odeF[3][3]; ODE3_IntgData intgData; /* * Sizes: * The following substructure contains sizes information * for many of the model attributes such as inputs, outputs, * dwork, sample times, etc. */ struct { int_T numContStates; int_T numPeriodicContStates; int_T numSampTimes; } Sizes; /* * Timing: * The following substructure contains information regarding * the timing information for the model. */ struct { uint32_T clockTick0; uint32_T clockTickH0; time_T stepSize0; uint32_T clockTick1; uint32_T clockTickH1; time_T tFinal; SimTimeStep simTimeStep; boolean_T stopRequestedFlag; time_T *t; time_T tArray[2]; } Timing; }; /* Block parameters (default storage) */ #ifdef __cplusplus extern "C" { #endif extern P_Model_T Model_P; #ifdef __cplusplus } #endif /* Block signals (default storage) */ #ifdef __cplusplus extern "C" { #endif extern struct B_Model_T Model_B; #ifdef __cplusplus } #endif /* Continuous states (default storage) */ extern X_Model_T Model_X; #ifdef __cplusplus extern "C" { #endif /* External inputs (root inport signals with default storage) */ extern struct ExtU_Model_T Model_U; /* External outputs (root outports fed by signals with default storage) */ extern struct ExtY_Model_T Model_Y; #ifdef __cplusplus } #endif #ifdef __cplusplus extern "C" { #endif /* Model entry point functions */ extern void Model_initialize(void); extern void Model_step(void); extern void Model_terminate(void); #ifdef __cplusplus } #endif /* Real-time Model object */ #ifdef __cplusplus extern "C" { #endif extern RT_MODEL_Model_T *const Model_M; #ifdef __cplusplus } #endif /*- * 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 * * '' : 'Model' * '' : 'Model/Subsystem3' */ #endif /* RTW_HEADER_Model_h_ */