| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541 |
- /*
- * File: PMSM_Controller.h
- *
- * Code generated for Simulink model 'PMSM_Controller'.
- *
- * Model version : 1.1447
- * Simulink Coder version : 9.4 (R2020b) 29-Jul-2020
- * C/C++ source code generated on : Mon May 23 16:15:38 2022
- *
- * Target selection: ert.tlc
- * Embedded hardware selection: ARM Compatible->ARM Cortex-M
- * Code generation objectives:
- * 1. Execution efficiency
- * 2. RAM efficiency
- * Validation result: Not run
- */
- #ifndef RTW_HEADER_PMSM_Controller_h_
- #define RTW_HEADER_PMSM_Controller_h_
- #include "rtwtypes.h"
- #include "zero_crossing_types.h"
- #ifndef PMSM_Controller_COMMON_INCLUDES_
- #define PMSM_Controller_COMMON_INCLUDES_
- #include "rtwtypes.h"
- #include "zero_crossing_types.h"
- #endif /* PMSM_Controller_COMMON_INCLUDES_ */
- /* Model Code Variants */
- /* Macros for accessing real-time model data structure */
- #ifndef rtmGetErrorStatus
- #define rtmGetErrorStatus(rtm) ((rtm)->errorStatus)
- #endif
- #ifndef rtmSetErrorStatus
- #define rtmSetErrorStatus(rtm, val) ((rtm)->errorStatus = (val))
- #endif
- /* Forward declaration for rtModel */
- typedef struct tag_RTM RT_MODEL;
- /* Block signals and states (default storage) for system '<S48>/Low_Pass_Filter' */
- typedef struct {
- int32_T UnitDelay1_DSTATE[2]; /* '<S57>/UnitDelay1' */
- } DW_Low_Pass_Filter;
- /* Block signals and states (default storage) for system '<S87>/PI_Speed' */
- typedef struct {
- int32_T UnitDelay_DSTATE; /* '<S89>/UnitDelay' */
- int32_T ResettableDelay_DSTATE; /* '<S90>/Resettable Delay' */
- uint8_T icLoad; /* '<S90>/Resettable Delay' */
- } DW_PI_backCalc_fixdt;
- /* Zero-crossing (trigger) state for system '<S87>/PI_Speed' */
- typedef struct {
- ZCSigState ResettableDelay_Reset_ZCE_f;/* '<S90>/Resettable Delay' */
- } ZCE_PI_backCalc_fixdt;
- /* Block signals and states (default storage) for system '<S95>/PI_backCalc_fixdt' */
- typedef struct {
- int32_T UnitDelay_DSTATE; /* '<S100>/UnitDelay' */
- int32_T ResettableDelay_DSTATE; /* '<S102>/Resettable Delay' */
- uint8_T icLoad; /* '<S102>/Resettable Delay' */
- } DW_PI_backCalc_fixdt_i;
- /* Zero-crossing (trigger) state for system '<S95>/PI_backCalc_fixdt' */
- typedef struct {
- ZCSigState ResettableDelay_Reset_ZCE;/* '<S102>/Resettable Delay' */
- } ZCE_PI_backCalc_fixdt_e;
- /* Block signals and states (default storage) for system '<Root>' */
- typedef struct {
- DW_PI_backCalc_fixdt_i PI_backCalc_fixdt1;/* '<S95>/PI_backCalc_fixdt1' */
- DW_PI_backCalc_fixdt_i PI_backCalc_fixdt_o3;/* '<S95>/PI_backCalc_fixdt' */
- DW_PI_backCalc_fixdt PI_Speed; /* '<S87>/PI_Speed' */
- DW_Low_Pass_Filter Low_Pass_Filter_h;/* '<S6>/Low_Pass_Filter' */
- DW_Low_Pass_Filter Low_Pass_Filter_d;/* '<S48>/Low_Pass_Filter' */
- int32_T Merge1; /* '<S26>/Merge1' */
- int32_T Divide11; /* '<S20>/Divide11' */
- int32_T UnitDelay_DSTATE; /* '<S92>/Unit Delay' */
- int32_T ResettableDelay_DSTATE; /* '<S93>/Resettable Delay' */
- uint32_T z_counterRawPrev; /* '<S20>/z_counterRawPrev' */
- uint32_T UnitDelay3_DSTATE; /* '<S14>/UnitDelay3' */
- uint32_T UnitDelay1_DSTATE; /* '<S7>/UnitDelay1' */
- uint32_T UnitDelay2_DSTATE; /* '<S20>/UnitDelay2' */
- uint32_T UnitDelay3_DSTATE_l; /* '<S20>/UnitDelay3' */
- uint32_T UnitDelay5_DSTATE; /* '<S20>/UnitDelay5' */
- uint32_T UnitDelay4_DSTATE; /* '<S14>/UnitDelay4' */
- int16_T Merge[2]; /* '<S26>/Merge' */
- int16_T Merge_c[2]; /* '<S76>/Merge' */
- int16_T UnitDelay1_DSTATE_f[2]; /* '<S6>/UnitDelay1' */
- int16_T Divide; /* '<S33>/Divide' */
- int16_T Max; /* '<S116>/Max' */
- int16_T Max1; /* '<S116>/Max1' */
- int16_T Max_g; /* '<S109>/Max' */
- int16_T Max1_j; /* '<S109>/Max1' */
- int16_T Merge_f; /* '<S74>/Merge' */
- int16_T Switch; /* '<S77>/Switch' */
- int16_T Switch2; /* '<S84>/Switch2' */
- int16_T r_currTgt; /* '<S30>/r_currTgt' */
- int16_T Max_p; /* '<S33>/Max' */
- int16_T Max1_g; /* '<S33>/Max1' */
- int16_T Merge_i; /* '<S3>/Merge' */
- int16_T Divide_l; /* '<S116>/Divide' */
- int16_T Divide_n; /* '<S109>/Divide' */
- int16_T UnitDelay_DSTATE_h; /* '<S106>/UnitDelay' */
- int16_T UnitDelay1_DSTATE_i; /* '<S97>/Unit Delay1' */
- int16_T UnitDelay_DSTATE_b; /* '<S112>/UnitDelay' */
- int16_T UnitDelay_DSTATE_g; /* '<S108>/Unit Delay' */
- int16_T UnitDelay_DSTATE_o; /* '<S113>/UnitDelay' */
- int16_T UnitDelay1_DSTATE_b; /* '<S98>/Unit Delay1' */
- int16_T UnitDelay_DSTATE_d; /* '<S119>/UnitDelay' */
- int16_T UnitDelay_DSTATE_a; /* '<S115>/Unit Delay' */
- int16_T UnitDelay1_DSTATE_g; /* '<S71>/Unit Delay1' */
- int16_T Delay_DSTATE; /* '<S88>/Delay' */
- int16_T UnitDelay_DSTATE_l; /* '<S87>/Unit Delay' */
- int16_T UnitDelay_DSTATE_e; /* '<S31>/UnitDelay' */
- int16_T UnitDelay_DSTATE_fv; /* '<S36>/UnitDelay' */
- int16_T UnitDelay_DSTATE_i; /* '<S32>/Unit Delay' */
- uint16_T UnitDelay_DSTATE_f; /* '<S45>/UnitDelay' */
- uint16_T UnitDelay_DSTATE_p; /* '<S47>/UnitDelay' */
- uint16_T UnitDelay2_DSTATE_f; /* '<S19>/UnitDelay2' */
- uint16_T UnitDelay3_DSTATE_lh; /* '<S19>/UnitDelay3' */
- uint16_T UnitDelay5_DSTATE_f; /* '<S19>/UnitDelay5' */
- int8_T Switch2_i; /* '<S8>/Switch2' */
- int8_T UnitDelay2_DSTATE_j; /* '<S8>/UnitDelay2' */
- uint8_T UnitDelay_DSTATE_j; /* '<S37>/UnitDelay' */
- uint8_T Delay_DSTATE_d; /* '<S9>/Delay' */
- uint8_T Delay1_DSTATE; /* '<S9>/Delay1' */
- uint8_T Delay2_DSTATE; /* '<S9>/Delay2' */
- uint8_T UnitDelay_DSTATE_bm; /* '<S55>/Unit Delay' */
- uint8_T UnitDelay_DSTATE_p2; /* '<S71>/Unit Delay' */
- uint8_T icLoad; /* '<S88>/Delay' */
- uint8_T icLoad_k; /* '<S93>/Resettable Delay' */
- uint8_T is_active_c5_PMSM_Controller;/* '<S4>/Control_Mode_Manager' */
- uint8_T is_c5_PMSM_Controller; /* '<S4>/Control_Mode_Manager' */
- uint8_T is_ACTIVE; /* '<S4>/Control_Mode_Manager' */
- boolean_T Compare; /* '<S21>/Compare' */
- boolean_T UnitDelay_DSTATE_k; /* '<S38>/UnitDelay' */
- boolean_T UnitDelay_DSTATE_n; /* '<S42>/UnitDelay' */
- boolean_T UnitDelay_DSTATE_bv; /* '<S39>/UnitDelay' */
- boolean_T UnitDelay1_DSTATE_iv; /* '<S20>/UnitDelay1' */
- boolean_T n_SpeedCtrl_Mode; /* '<S25>/n_SpeedCtrl' */
- boolean_T n_commDeacv_Mode; /* '<S19>/n_commDeacv' */
- } DW;
- /* Zero-crossing (trigger) state */
- typedef struct {
- ZCE_PI_backCalc_fixdt_e PI_backCalc_fixdt1;/* '<S95>/PI_backCalc_fixdt1' */
- ZCE_PI_backCalc_fixdt_e PI_backCalc_fixdt_o3;/* '<S95>/PI_backCalc_fixdt' */
- ZCSigState ResettableDelay_Reset_ZCE_a;/* '<S93>/Resettable Delay' */
- ZCE_PI_backCalc_fixdt PI_Speed; /* '<S87>/PI_Speed' */
- } PrevZCX;
- /* Constant parameters (default storage) */
- typedef struct {
- /* Pooled Parameter (Expression: r_sin_M1)
- * Referenced by:
- * '<S59>/r_sin_M1'
- * '<S83>/r_sin_M1'
- */
- int16_T pooled7[361];
- /* Pooled Parameter (Expression: r_cos_M1)
- * Referenced by:
- * '<S59>/r_cos_M1'
- * '<S83>/r_cos_M1'
- */
- int16_T pooled8[361];
- /* Computed Parameter: vec_hallToPos_Value
- * Referenced by: '<S11>/vec_hallToPos'
- */
- int8_T vec_hallToPos_Value[8];
- } ConstP;
- /* External inputs (root inport signals with default storage) */
- typedef struct {
- int16_T adc_Pha; /* '<Root>/adc_Pha' */
- int16_T adc_Phb; /* '<Root>/adc_Phb' */
- int32_T spd_Target; /* '<Root>/spd_Target' */
- int16_T idq_Target; /* '<Root>/idq_Target' */
- uint8_T hall_A; /* '<Root>/hall_A' */
- uint8_T hall_B; /* '<Root>/hall_B' */
- uint8_T hall_C; /* '<Root>/hall_C' */
- uint32_T us_Count; /* '<Root>/us_Count' */
- boolean_T b_motEna; /* '<Root>/b_motEna' */
- boolean_T b_cruiseEna; /* '<Root>/b_cruiseEna' */
- uint8_T n_ctrlModReq; /* '<Root>/n_ctrlModReq' */
- int16_T iDC_Limit; /* '<Root>/iDC_Limit' */
- int32_T spd_Limit; /* '<Root>/spd_Limit' */
- int16_T vDC; /* '<Root>/vDC' */
- uint16_T FOC_Flags; /* '<Root>/FOC_Flags' */
- int16_T vdq_Open[2]; /* '<Root>/vdq_Open' */
- int16_T theta_Open; /* '<Root>/theta_Open' */
- } ExtU;
- /* External outputs (root outports fed by signals with default storage) */
- typedef struct {
- int16_T pwm_Duty[3]; /* '<Root>/pwm_Duty' */
- uint8_T n_Sector; /* '<Root>/n_Sector' */
- uint8_T n_MotError; /* '<Root>/n_MotError' */
- int16_T f_Vdq[2]; /* '<Root>/f_Vdq' */
- int16_T f_Idq[2]; /* '<Root>/f_Idq' */
- int16_T f_MotAngle; /* '<Root>/f_MotAngle' */
- int32_T f_MotRPM; /* '<Root>/f_MotRPM' */
- int16_T f_hallAngle; /* '<Root>/f_hallAngle' */
- uint8_T n_hallStat; /* '<Root>/n_hallStat' */
- uint8_T n_runingMode; /* '<Root>/n_runingMode' */
- } ExtY;
- /* Parameters (default storage) */
- struct P_ {
- uint32_T n_hall_count_ps; /* Variable: n_hall_count_ps
- * Referenced by:
- * '<S14>/z_maxCntRst'
- * '<S20>/z_counter'
- * '<S20>/UnitDelay2'
- */
- int16_T cf_TrqLimKb; /* Variable: cf_TrqLimKb
- * Referenced by: '<S88>/Constant2'
- */
- int16_T cf_TrqLimKi; /* Variable: cf_TrqLimKi
- * Referenced by: '<S88>/Constant1'
- */
- int16_T cf_TrqLimKp; /* Variable: cf_TrqLimKp
- * Referenced by: '<S88>/Constant4'
- */
- int16_T cf_idKp; /* Variable: cf_idKp
- * Referenced by: '<S95>/Constant3'
- */
- int16_T cf_iqKp; /* Variable: cf_iqKp
- * Referenced by: '<S95>/Constant7'
- */
- int16_T cf_nKp; /* Variable: cf_nKp
- * Referenced by: '<S87>/Constant4'
- */
- int16_T cf_idKb; /* Variable: cf_idKb
- * Referenced by: '<S95>/Constant6'
- */
- int16_T cf_idKi; /* Variable: cf_idKi
- * Referenced by: '<S95>/Constant4'
- */
- int16_T cf_iqKb; /* Variable: cf_iqKb
- * Referenced by: '<S95>/Constant1'
- */
- int16_T cf_iqKi; /* Variable: cf_iqKi
- * Referenced by: '<S95>/Constant8'
- */
- int16_T cf_nKb; /* Variable: cf_nKb
- * Referenced by: '<S87>/Constant11'
- */
- int16_T cf_nKi; /* Variable: cf_nKi
- * Referenced by: '<S87>/Constant1'
- */
- int16_T i_hall_offset; /* Variable: i_hall_offset
- * Referenced by: '<S15>/Constant2'
- */
- int16_T dz_OpenStepVol; /* Variable: dz_OpenStepVol
- * Referenced by: '<S29>/Constant5'
- */
- uint16_T f_lpf_coeff; /* Variable: f_lpf_coeff
- * Referenced by: '<S48>/Constant'
- */
- };
- /* Parameters (default storage) */
- typedef struct P_ P;
- /* Real-time Model Data Structure */
- struct tag_RTM {
- const char_T * volatile errorStatus;
- PrevZCX *prevZCSigState;
- ExtU *inputs;
- ExtY *outputs;
- DW *dwork;
- };
- /* Block parameters (default storage) */
- extern P rtP;
- /* Constant parameters (default storage) */
- extern const ConstP rtConstP;
- /* Model entry point functions */
- extern void PMSM_Controller_initialize(RT_MODEL *const rtM);
- extern void PMSM_Controller_step(RT_MODEL *const rtM);
- /*-
- * These blocks were eliminated from the model due to optimizations:
- *
- * Block '<S2>/Scope' : Unused code path elimination
- * Block '<S8>/Scope' : Unused code path elimination
- * Block '<S10>/Scope' : Unused code path elimination
- * Block '<S11>/Scope' : Unused code path elimination
- * Block '<S3>/Scope' : Unused code path elimination
- * Block '<S14>/Logical Operator4' : Unused code path elimination
- * Block '<S20>/Abs2' : Unused code path elimination
- * Block '<S20>/Add' : Unused code path elimination
- * Block '<S22>/Compare' : Unused code path elimination
- * Block '<S22>/Constant' : Unused code path elimination
- * Block '<S20>/Scope1' : Unused code path elimination
- * Block '<S20>/Sum7' : Unused code path elimination
- * Block '<S20>/UnitDelay4' : Unused code path elimination
- * Block '<S20>/UnitDelay6' : Unused code path elimination
- * Block '<S20>/UnitDelay7' : Unused code path elimination
- * Block '<S20>/UnitDelay8' : Unused code path elimination
- * Block '<S20>/dz_cntTrnsDet' : Unused code path elimination
- * Block '<S14>/Scope1' : Unused code path elimination
- * Block '<S14>/Scope2' : Unused code path elimination
- * Block '<S4>/Scope' : Unused code path elimination
- * Block '<S26>/Scope' : Unused code path elimination
- * Block '<S34>/Data Type Duplicate' : Unused code path elimination
- * Block '<S34>/Data Type Propagation' : Unused code path elimination
- * Block '<S1>/Scope2' : Unused code path elimination
- * Block '<S56>/Scope' : Unused code path elimination
- * Block '<S48>/Scope' : Unused code path elimination
- * Block '<S59>/Scope' : Unused code path elimination
- * Block '<S60>/Data Type Duplicate' : Unused code path elimination
- * Block '<S60>/Data Type Propagation' : Unused code path elimination
- * Block '<S61>/Scope' : Unused code path elimination
- * Block '<S70>/Scope' : Unused code path elimination
- * Block '<S6>/Scope12' : Unused code path elimination
- * Block '<S52>/Scope' : Unused code path elimination
- * Block '<S80>/Data Type Duplicate' : Unused code path elimination
- * Block '<S80>/Data Type Propagation' : Unused code path elimination
- * Block '<S83>/Scope' : Unused code path elimination
- * Block '<S84>/Data Type Duplicate' : Unused code path elimination
- * Block '<S84>/Data Type Propagation' : Unused code path elimination
- * Block '<S85>/Data Type Duplicate' : Unused code path elimination
- * Block '<S85>/Data Type Propagation' : Unused code path elimination
- * Block '<S91>/Data Type Duplicate' : Unused code path elimination
- * Block '<S91>/Data Type Propagation' : Unused code path elimination
- * Block '<S94>/Data Type Duplicate' : Unused code path elimination
- * Block '<S94>/Data Type Propagation' : Unused code path elimination
- * Block '<S103>/Data Type Duplicate' : Unused code path elimination
- * Block '<S103>/Data Type Propagation' : Unused code path elimination
- * Block '<S105>/Data Type Duplicate' : Unused code path elimination
- * Block '<S105>/Data Type Propagation' : Unused code path elimination
- * Block '<S55>/Scope' : Unused code path elimination
- * Block '<S110>/Data Type Duplicate' : Unused code path elimination
- * Block '<S110>/Data Type Propagation' : Unused code path elimination
- * Block '<S117>/Data Type Duplicate' : Unused code path elimination
- * Block '<S117>/Data Type Propagation' : Unused code path elimination
- * Block '<S10>/Manual Switch' : Eliminated due to constant selection input
- * Block '<S26>/Data Type Conversion' : Eliminate redundant data type conversion
- * Block '<S6>/Data Type Conversion' : Eliminate redundant data type conversion
- * Block '<S79>/Data Type Conversion1' : Eliminate redundant data type conversion
- * Block '<S81>/Data Type Conversion' : Eliminate redundant data type conversion
- * Block '<S10>/Constant' : Unused code path elimination
- * Block '<S20>/Divide14' : Unused code path elimination
- * Block '<S20>/smooth' : Unused code path elimination
- * Block '<S75>/Constant1' : Unused code path elimination
- * Block '<S75>/Constant2' : Unused code path elimination
- * Block '<S75>/Constant3' : Unused code path elimination
- * Block '<S75>/Constant4' : Unused code path elimination
- * Block '<S75>/Constant5' : Unused code path elimination
- * Block '<S75>/Constant6' : Unused code path elimination
- * Block '<S78>/Add' : Unused code path elimination
- * Block '<S78>/Constant6' : Unused code path elimination
- * Block '<S78>/Divide' : Unused code path elimination
- * Block '<S78>/Divide1' : Unused code path elimination
- * Block '<S79>/Data Type Conversion2' : Unused code path elimination
- * Block '<S79>/Resettable Delay' : Unused code path elimination
- * Block '<S79>/Sum1' : Unused code path elimination
- * Block '<S80>/LowerRelop1' : Unused code path elimination
- * Block '<S80>/Switch' : Unused code path elimination
- * Block '<S80>/Switch2' : Unused code path elimination
- * Block '<S80>/UpperRelop' : Unused code path elimination
- * Block '<S78>/Sum' : Unused code path elimination
- * Block '<S78>/Unit Delay' : Unused code path elimination
- * Block '<S75>/Gain1' : Unused code path elimination
- * Block '<S75>/Math Function1' : Unused code path elimination
- * Block '<S75>/Math Function2' : Unused code path elimination
- * Block '<S75>/Max' : Unused code path elimination
- * Block '<S75>/Sign' : Unused code path elimination
- * Block '<S75>/Sqrt' : Unused code path elimination
- * Block '<S75>/Sum' : Unused code path elimination
- * Block '<S75>/Sum of Elements' : Unused code path elimination
- * Block '<S75>/Sum1' : Unused code path elimination
- * Block '<S75>/Sum2' : Unused code path elimination
- * Block '<S75>/Unit Delay1' : Unused code path elimination
- * Block '<S99>/Add' : Unused code path elimination
- * Block '<S99>/Constant1' : Unused code path elimination
- * Block '<S99>/Constant3' : Unused code path elimination
- * Block '<S99>/Constant4' : Unused code path elimination
- * Block '<S99>/Constant5' : Unused code path elimination
- * Block '<S99>/Constant6' : Unused code path elimination
- * Block '<S99>/Divide' : Unused code path elimination
- * Block '<S99>/Divide1' : Unused code path elimination
- * Block '<S99>/Divide2' : Unused code path elimination
- * Block '<S99>/Divide4' : Unused code path elimination
- * Block '<S99>/Gain' : Unused code path elimination
- * Block '<S95>/Gain' : Unused code path elimination
- */
- /*-
- * The generated code includes comments that allow you to trace directly
- * back to the appropriate location in the model. The basic format
- * is <system>/block_name, where system is the system number (uniquely
- * assigned by Simulink) and block_name is the name of the block.
- *
- * Note that this particular code originates from a subsystem build,
- * and has its own system numbers different from the parent model.
- * Refer to the system hierarchy for this subsystem below, and use the
- * MATLAB hilite_system command to trace the generated code back
- * to the parent model. For example,
- *
- * hilite_system('MotorController_FOC/PMSM_Controller') - opens subsystem MotorController_FOC/PMSM_Controller
- * hilite_system('MotorController_FOC/PMSM_Controller/Kp') - opens and selects block Kp
- *
- * Here is the system hierarchy for this model
- *
- * '<Root>' : 'MotorController_FOC'
- * '<S1>' : 'MotorController_FOC/PMSM_Controller'
- * '<S2>' : 'MotorController_FOC/PMSM_Controller/1ms_Scheduler'
- * '<S3>' : 'MotorController_FOC/PMSM_Controller/Angle_Speed_Estimation'
- * '<S4>' : 'MotorController_FOC/PMSM_Controller/Control_Mode_Manager'
- * '<S5>' : 'MotorController_FOC/PMSM_Controller/Diagnostics'
- * '<S6>' : 'MotorController_FOC/PMSM_Controller/controller'
- * '<S7>' : 'MotorController_FOC/PMSM_Controller/1ms_Scheduler/counter'
- * '<S8>' : 'MotorController_FOC/PMSM_Controller/Angle_Speed_Estimation/Direction_Detection'
- * '<S9>' : 'MotorController_FOC/PMSM_Controller/Angle_Speed_Estimation/Edge_Detect'
- * '<S10>' : 'MotorController_FOC/PMSM_Controller/Angle_Speed_Estimation/Electrical_Angle_Estimation'
- * '<S11>' : 'MotorController_FOC/PMSM_Controller/Angle_Speed_Estimation/Hall_Angle_Raw'
- * '<S12>' : 'MotorController_FOC/PMSM_Controller/Angle_Speed_Estimation/If Action Subsystem'
- * '<S13>' : 'MotorController_FOC/PMSM_Controller/Angle_Speed_Estimation/If Action Subsystem1'
- * '<S14>' : 'MotorController_FOC/PMSM_Controller/Angle_Speed_Estimation/Speed_Estimation'
- * '<S15>' : 'MotorController_FOC/PMSM_Controller/Angle_Speed_Estimation/Electrical_Angle_Estimation/degree_rad'
- * '<S16>' : 'MotorController_FOC/PMSM_Controller/Angle_Speed_Estimation/Electrical_Angle_Estimation/degree_rad/If Action Subsystem'
- * '<S17>' : 'MotorController_FOC/PMSM_Controller/Angle_Speed_Estimation/Electrical_Angle_Estimation/degree_rad/If Action Subsystem1'
- * '<S18>' : 'MotorController_FOC/PMSM_Controller/Angle_Speed_Estimation/Electrical_Angle_Estimation/degree_rad/If Action Subsystem2'
- * '<S19>' : 'MotorController_FOC/PMSM_Controller/Angle_Speed_Estimation/Speed_Estimation/AdvCtrlDetect'
- * '<S20>' : 'MotorController_FOC/PMSM_Controller/Angle_Speed_Estimation/Speed_Estimation/Raw_Motor_Speed_Estimation'
- * '<S21>' : 'MotorController_FOC/PMSM_Controller/Angle_Speed_Estimation/Speed_Estimation/AdvCtrlDetect/Compare To Constant'
- * '<S22>' : 'MotorController_FOC/PMSM_Controller/Angle_Speed_Estimation/Speed_Estimation/Raw_Motor_Speed_Estimation/Compare To Constant'
- * '<S23>' : 'MotorController_FOC/PMSM_Controller/Control_Mode_Manager/Control_Mode_Manager'
- * '<S24>' : 'MotorController_FOC/PMSM_Controller/Control_Mode_Manager/Limitition'
- * '<S25>' : 'MotorController_FOC/PMSM_Controller/Control_Mode_Manager/Mode_Transition_Calculation'
- * '<S26>' : 'MotorController_FOC/PMSM_Controller/Control_Mode_Manager/target_scale'
- * '<S27>' : 'MotorController_FOC/PMSM_Controller/Control_Mode_Manager/target_scale/If Action Subsystem'
- * '<S28>' : 'MotorController_FOC/PMSM_Controller/Control_Mode_Manager/target_scale/If Action Subsystem1'
- * '<S29>' : 'MotorController_FOC/PMSM_Controller/Control_Mode_Manager/target_scale/open_mode'
- * '<S30>' : 'MotorController_FOC/PMSM_Controller/Control_Mode_Manager/target_scale/torque_mode'
- * '<S31>' : 'MotorController_FOC/PMSM_Controller/Control_Mode_Manager/target_scale/open_mode/Edge'
- * '<S32>' : 'MotorController_FOC/PMSM_Controller/Control_Mode_Manager/target_scale/open_mode/Rate_Control'
- * '<S33>' : 'MotorController_FOC/PMSM_Controller/Control_Mode_Manager/target_scale/open_mode/Rate_Control/RateInit'
- * '<S34>' : 'MotorController_FOC/PMSM_Controller/Control_Mode_Manager/target_scale/open_mode/Rate_Control/Saturation Dynamic'
- * '<S35>' : 'MotorController_FOC/PMSM_Controller/Control_Mode_Manager/target_scale/open_mode/Rate_Control/StepAdd'
- * '<S36>' : 'MotorController_FOC/PMSM_Controller/Control_Mode_Manager/target_scale/open_mode/Rate_Control/StepAdd/delayUnit'
- * '<S37>' : 'MotorController_FOC/PMSM_Controller/Diagnostics/Diagnostics_Enabled'
- * '<S38>' : 'MotorController_FOC/PMSM_Controller/Diagnostics/Diagnostics_Enabled/Debounce_Filter'
- * '<S39>' : 'MotorController_FOC/PMSM_Controller/Diagnostics/Diagnostics_Enabled/Edge'
- * '<S40>' : 'MotorController_FOC/PMSM_Controller/Diagnostics/Diagnostics_Enabled/Debounce_Filter/Default'
- * '<S41>' : 'MotorController_FOC/PMSM_Controller/Diagnostics/Diagnostics_Enabled/Debounce_Filter/Dequalification'
- * '<S42>' : 'MotorController_FOC/PMSM_Controller/Diagnostics/Diagnostics_Enabled/Debounce_Filter/Edge'
- * '<S43>' : 'MotorController_FOC/PMSM_Controller/Diagnostics/Diagnostics_Enabled/Debounce_Filter/Qualification'
- * '<S44>' : 'MotorController_FOC/PMSM_Controller/Diagnostics/Diagnostics_Enabled/Debounce_Filter/Dequalification/Rst_Counter'
- * '<S45>' : 'MotorController_FOC/PMSM_Controller/Diagnostics/Diagnostics_Enabled/Debounce_Filter/Dequalification/Rst_Counter/rst_Delay1'
- * '<S46>' : 'MotorController_FOC/PMSM_Controller/Diagnostics/Diagnostics_Enabled/Debounce_Filter/Qualification/Rst_Counter'
- * '<S47>' : 'MotorController_FOC/PMSM_Controller/Diagnostics/Diagnostics_Enabled/Debounce_Filter/Qualification/Rst_Counter/rst_Delay1'
- * '<S48>' : 'MotorController_FOC/PMSM_Controller/controller/Clarke_Park_Transform_Forward'
- * '<S49>' : 'MotorController_FOC/PMSM_Controller/controller/Low_Pass_Filter'
- * '<S50>' : 'MotorController_FOC/PMSM_Controller/controller/Motor_Limitations_Enabled'
- * '<S51>' : 'MotorController_FOC/PMSM_Controller/controller/SVM'
- * '<S52>' : 'MotorController_FOC/PMSM_Controller/controller/circle_limiter'
- * '<S53>' : 'MotorController_FOC/PMSM_Controller/controller/current_sample'
- * '<S54>' : 'MotorController_FOC/PMSM_Controller/controller/idq_Calc'
- * '<S55>' : 'MotorController_FOC/PMSM_Controller/controller/vdq_Calc'
- * '<S56>' : 'MotorController_FOC/PMSM_Controller/controller/Clarke_Park_Transform_Forward/Clarke'
- * '<S57>' : 'MotorController_FOC/PMSM_Controller/controller/Clarke_Park_Transform_Forward/Low_Pass_Filter'
- * '<S58>' : 'MotorController_FOC/PMSM_Controller/controller/Clarke_Park_Transform_Forward/Park'
- * '<S59>' : 'MotorController_FOC/PMSM_Controller/controller/Clarke_Park_Transform_Forward/Sine_Cosine_Approximation'
- * '<S60>' : 'MotorController_FOC/PMSM_Controller/controller/Motor_Limitations_Enabled/Saturation Dynamic'
- * '<S61>' : 'MotorController_FOC/PMSM_Controller/controller/SVM/Park_Transform_Inverse'
- * '<S62>' : 'MotorController_FOC/PMSM_Controller/controller/SVM/SVPWM'
- * '<S63>' : 'MotorController_FOC/PMSM_Controller/controller/SVM/SVPWM/duty_gen'
- * '<S64>' : 'MotorController_FOC/PMSM_Controller/controller/SVM/SVPWM/sector_select'
- * '<S65>' : 'MotorController_FOC/PMSM_Controller/controller/SVM/SVPWM/duty_gen/sector1'
- * '<S66>' : 'MotorController_FOC/PMSM_Controller/controller/SVM/SVPWM/duty_gen/sector2'
- * '<S67>' : 'MotorController_FOC/PMSM_Controller/controller/SVM/SVPWM/duty_gen/sector3'
- * '<S68>' : 'MotorController_FOC/PMSM_Controller/controller/SVM/SVPWM/duty_gen/sector4'
- * '<S69>' : 'MotorController_FOC/PMSM_Controller/controller/SVM/SVPWM/duty_gen/sector5'
- * '<S70>' : 'MotorController_FOC/PMSM_Controller/controller/SVM/SVPWM/duty_gen/sector6'
- * '<S71>' : 'MotorController_FOC/PMSM_Controller/controller/idq_Calc/Do_Calc'
- * '<S72>' : 'MotorController_FOC/PMSM_Controller/controller/idq_Calc/pid_schdule'
- * '<S73>' : 'MotorController_FOC/PMSM_Controller/controller/idq_Calc/Do_Calc/idq_Assign'
- * '<S74>' : 'MotorController_FOC/PMSM_Controller/controller/idq_Calc/Do_Calc/idq_Get'
- * '<S75>' : 'MotorController_FOC/PMSM_Controller/controller/idq_Calc/Do_Calc/idq_Assign/FW_Calc'
- * '<S76>' : 'MotorController_FOC/PMSM_Controller/controller/idq_Calc/Do_Calc/idq_Assign/MPTA_Calc'
- * '<S77>' : 'MotorController_FOC/PMSM_Controller/controller/idq_Calc/Do_Calc/idq_Assign/iDC_Limiter'
- * '<S78>' : 'MotorController_FOC/PMSM_Controller/controller/idq_Calc/Do_Calc/idq_Assign/FW_Calc/FW_I_Ctrl'
- * '<S79>' : 'MotorController_FOC/PMSM_Controller/controller/idq_Calc/Do_Calc/idq_Assign/FW_Calc/FW_I_Ctrl/Intergrator_z'
- * '<S80>' : 'MotorController_FOC/PMSM_Controller/controller/idq_Calc/Do_Calc/idq_Assign/FW_Calc/FW_I_Ctrl/Saturation Dynamic'
- * '<S81>' : 'MotorController_FOC/PMSM_Controller/controller/idq_Calc/Do_Calc/idq_Assign/MPTA_Calc/MTPA_Calc'
- * '<S82>' : 'MotorController_FOC/PMSM_Controller/controller/idq_Calc/Do_Calc/idq_Assign/MPTA_Calc/MTPA_Cali'
- * '<S83>' : 'MotorController_FOC/PMSM_Controller/controller/idq_Calc/Do_Calc/idq_Assign/MPTA_Calc/MTPA_Cali/Sine_Cosine_Approximation'
- * '<S84>' : 'MotorController_FOC/PMSM_Controller/controller/idq_Calc/Do_Calc/idq_Assign/iDC_Limiter/Saturation Dynamic1'
- * '<S85>' : 'MotorController_FOC/PMSM_Controller/controller/idq_Calc/Do_Calc/idq_Assign/iDC_Limiter/Saturation Dynamic3'
- * '<S86>' : 'MotorController_FOC/PMSM_Controller/controller/idq_Calc/Do_Calc/idq_Assign/iDC_Limiter/sqrtSum'
- * '<S87>' : 'MotorController_FOC/PMSM_Controller/controller/idq_Calc/Do_Calc/idq_Get/speed_mode'
- * '<S88>' : 'MotorController_FOC/PMSM_Controller/controller/idq_Calc/Do_Calc/idq_Get/torque_mode'
- * '<S89>' : 'MotorController_FOC/PMSM_Controller/controller/idq_Calc/Do_Calc/idq_Get/speed_mode/PI_Speed'
- * '<S90>' : 'MotorController_FOC/PMSM_Controller/controller/idq_Calc/Do_Calc/idq_Get/speed_mode/PI_Speed/Rst_Integrator'
- * '<S91>' : 'MotorController_FOC/PMSM_Controller/controller/idq_Calc/Do_Calc/idq_Get/speed_mode/PI_Speed/Saturation Dynamic1'
- * '<S92>' : 'MotorController_FOC/PMSM_Controller/controller/idq_Calc/Do_Calc/idq_Get/torque_mode/PI_TrqSpdLim'
- * '<S93>' : 'MotorController_FOC/PMSM_Controller/controller/idq_Calc/Do_Calc/idq_Get/torque_mode/PI_TrqSpdLim/Rst_Integrator'
- * '<S94>' : 'MotorController_FOC/PMSM_Controller/controller/idq_Calc/Do_Calc/idq_Get/torque_mode/PI_TrqSpdLim/Saturation Dynamic'
- * '<S95>' : 'MotorController_FOC/PMSM_Controller/controller/vdq_Calc/CurrentLoop'
- * '<S96>' : 'MotorController_FOC/PMSM_Controller/controller/vdq_Calc/OpenLoop'
- * '<S97>' : 'MotorController_FOC/PMSM_Controller/controller/vdq_Calc/idStep'
- * '<S98>' : 'MotorController_FOC/PMSM_Controller/controller/vdq_Calc/iqStep'
- * '<S99>' : 'MotorController_FOC/PMSM_Controller/controller/vdq_Calc/CurrentLoop/FeedForward'
- * '<S100>' : 'MotorController_FOC/PMSM_Controller/controller/vdq_Calc/CurrentLoop/PI_backCalc_fixdt'
- * '<S101>' : 'MotorController_FOC/PMSM_Controller/controller/vdq_Calc/CurrentLoop/PI_backCalc_fixdt1'
- * '<S102>' : 'MotorController_FOC/PMSM_Controller/controller/vdq_Calc/CurrentLoop/PI_backCalc_fixdt/Rst_Integrator'
- * '<S103>' : 'MotorController_FOC/PMSM_Controller/controller/vdq_Calc/CurrentLoop/PI_backCalc_fixdt/Saturation Dynamic1'
- * '<S104>' : 'MotorController_FOC/PMSM_Controller/controller/vdq_Calc/CurrentLoop/PI_backCalc_fixdt1/Rst_Integrator'
- * '<S105>' : 'MotorController_FOC/PMSM_Controller/controller/vdq_Calc/CurrentLoop/PI_backCalc_fixdt1/Saturation Dynamic1'
- * '<S106>' : 'MotorController_FOC/PMSM_Controller/controller/vdq_Calc/idStep/Edge'
- * '<S107>' : 'MotorController_FOC/PMSM_Controller/controller/vdq_Calc/idStep/Enabled Subsystem'
- * '<S108>' : 'MotorController_FOC/PMSM_Controller/controller/vdq_Calc/idStep/Rate_Control'
- * '<S109>' : 'MotorController_FOC/PMSM_Controller/controller/vdq_Calc/idStep/Rate_Control/RateInit'
- * '<S110>' : 'MotorController_FOC/PMSM_Controller/controller/vdq_Calc/idStep/Rate_Control/Saturation Dynamic'
- * '<S111>' : 'MotorController_FOC/PMSM_Controller/controller/vdq_Calc/idStep/Rate_Control/StepAdd'
- * '<S112>' : 'MotorController_FOC/PMSM_Controller/controller/vdq_Calc/idStep/Rate_Control/StepAdd/delayUnit'
- * '<S113>' : 'MotorController_FOC/PMSM_Controller/controller/vdq_Calc/iqStep/Edge'
- * '<S114>' : 'MotorController_FOC/PMSM_Controller/controller/vdq_Calc/iqStep/Enabled Subsystem'
- * '<S115>' : 'MotorController_FOC/PMSM_Controller/controller/vdq_Calc/iqStep/Rate_Control'
- * '<S116>' : 'MotorController_FOC/PMSM_Controller/controller/vdq_Calc/iqStep/Rate_Control/RateInit'
- * '<S117>' : 'MotorController_FOC/PMSM_Controller/controller/vdq_Calc/iqStep/Rate_Control/Saturation Dynamic'
- * '<S118>' : 'MotorController_FOC/PMSM_Controller/controller/vdq_Calc/iqStep/Rate_Control/StepAdd'
- * '<S119>' : 'MotorController_FOC/PMSM_Controller/controller/vdq_Calc/iqStep/Rate_Control/StepAdd/delayUnit'
- */
- #endif /* RTW_HEADER_PMSM_Controller_h_ */
- /*
- * File trailer for generated code.
- *
- * [EOF]
- */
|