⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 serialsim_no_observer_acc.c

📁 SVPWM应用
💻 C
📖 第 1 页 / 共 5 页
字号:
    if (ssIsSampleHit(S, 1, tid)) {
      EnableStates prevEnableState = (EnableStates)
        serialsim_no_observer_DWork->sin_beta_cos_MODE[0];
      EnableStates enableState;

      if (ssIsSampleHit(S, 1, tid)) {   /* Sample time: [0.0, 1.0] */
        serialsim_no_observer_DWork->sin_beta_cos_MODE[1] =
         (serialsim_no_observer_B->Constant3_b) ? SUBSYS_ENABLED :
          SUBSYS_DISABLED;
      }

      enableState = (EnableStates)
        serialsim_no_observer_DWork->sin_beta_cos_MODE[1];
      if (enableState == SUBSYS_ENABLED) {
        if (prevEnableState == SUBSYS_DISABLED) {
          /* SUBSYS_BECOMING_ENABLED */

          if ( ssGetT(S) != ssGetTStart(S) ) {
            ssSetSolverNeedsReset(S);
          }
          /* (system initialize function is empty) */
          /* (system enable function is empty) */
          serialsim_no_observer_DWork->sin_beta_cos_MODE[0] = (int_T)
            SUBSYS_ENABLED;
        }
      } else {
        if (prevEnableState == SUBSYS_ENABLED) {
          /* SUBSYS_BECOMING_DISABLED */
          ssSetSolverNeedsReset(S);

          /* Disable for enable system: '<S31>/sin(beta),cos(beta),sin(th),cos(th)' */
          {
            /* simstruct variables */
            serialsim_no_observer_BlockIO *serialsim_no_observer_B =
              (serialsim_no_observer_BlockIO *) _ssGetBlockIO(S);
            serialsim_no_observer_D_Work *serialsim_no_observer_DWork =
              (serialsim_no_observer_D_Work *) ssGetRootDWork(S);
            serialsim_no_observer_Parameters *serialsim_no_observer_P =
              (serialsim_no_observer_Parameters *) ssGetDefaultParam(S);

            /* DisableFcn of enable SubSystem Block: <S31>/sin(beta),cos(beta),sin(th),cos(th) */
            if (serialsim_no_observer_DWork->sin_beta_cos_MODE[0] == (int_T)
             SUBSYS_ENABLED) {

              /* (Virtual) Outport Block: <S39>/sin(beta),cos(beta), sin(th),cos(th) */

              serialsim_no_observer_B->Trigonometric_Function1_a =
                serialsim_no_observer_P->sin_beta_cos_beta_sin_th_co_Y0;
              serialsim_no_observer_B->Trigonometric_Function2 =
                serialsim_no_observer_P->sin_beta_cos_beta_sin_th_co_Y0;
              serialsim_no_observer_B->Trigonometric_Function_b =
                serialsim_no_observer_P->sin_beta_cos_beta_sin_th_co_Y0;
              serialsim_no_observer_B->Trigonometric_Function3 =
                serialsim_no_observer_P->sin_beta_cos_beta_sin_th_co_Y0;

              /* (Virtual) Outport Block: <S39>/we-wr */

              serialsim_no_observer_B->we_wr = serialsim_no_observer_P->we_wr_Y0;

              serialsim_no_observer_DWork->sin_beta_cos_MODE[0] = (int_T)
                SUBSYS_DISABLED;
            }
          }
        }
      }
    }

    /* run blocks if enabled */
    if (serialsim_no_observer_DWork->sin_beta_cos_MODE[0] == SUBSYS_ENABLED) {
      if (ssIsContinuousTask(S, tid) || ssIsSampleHit(S, 1, tid)) {

        if (ssIsContinuousTask(S, tid)) { /* Sample time: [0.0, 0.0] */

          /* Clock: '<S39>/Clock' */
          rtb_temp189 = ssGetT(S);
        }

        if (ssIsSampleHit(S, 1, tid)) { /* Sample time: [0.0, 1.0] */

          /* Constant: '<S39>/we' */
          serialsim_no_observer_B->we = serialsim_no_observer_P->we_Value;
        }

        if (ssIsContinuousTask(S, tid)) { /* Sample time: [0.0, 0.0] */

          /* Sum: '<S39>/Sum' */
          serialsim_no_observer_B->we_wr = - rtb_Integrator_a
            + serialsim_no_observer_B->we;

          /* Gain: '<S39>/web_psb'
           *
           * Regarding '<S39>/web_psb':
           *   Gain value: serialsim_no_observer_P->web_psb_d_Gain
           */
          rtb_temp189 *= serialsim_no_observer_P->web_psb_d_Gain;

          /* Sum: '<S39>/Sum1' */
          rtb_beta = - rtb_Integrator1 + rtb_temp189;

          /* Trigonometry: '<S39>/Trigonometric Function' */
          serialsim_no_observer_B->Trigonometric_Function_b = sin(rtb_temp189);

          /* Trigonometry: '<S39>/Trigonometric Function1' */
          serialsim_no_observer_B->Trigonometric_Function1_a = sin(rtb_beta);

          /* Trigonometry: '<S39>/Trigonometric Function2' */
          serialsim_no_observer_B->Trigonometric_Function2 = cos(rtb_beta);

          /* Trigonometry: '<S39>/Trigonometric Function3' */
          serialsim_no_observer_B->Trigonometric_Function3 = cos(rtb_temp189);
        }
      } }
  }

  if (ssIsContinuousTask(S, tid)) {     /* Sample time: [0.0, 0.0] */

    /* Switch: '<S31>/Switch' */
    if (serialsim_no_observer_B->Constant_a) {
      rtb_Switch_a[0] = serialsim_no_observer_B->Trigonometric_Function_c;
      rtb_Switch_a[1] = serialsim_no_observer_B->Trigonometric_Function1_b;
      rtb_Switch_a[2] = serialsim_no_observer_B->Constant_e[0];
      rtb_Switch_a[3] = serialsim_no_observer_B->Constant_e[1];
    } else {
      rtb_Switch_a[0] = serialsim_no_observer_B->Trigonometric_Function1_a;
      rtb_Switch_a[1] = serialsim_no_observer_B->Trigonometric_Function2;
      rtb_Switch_a[2] = serialsim_no_observer_B->Trigonometric_Function_b;
      rtb_Switch_a[3] = serialsim_no_observer_B->Trigonometric_Function3;
    }
  }

  if (ssIsSampleHit(S, 1, tid)) {       /* Sample time: [0.0, 1.0] */

    /* Constant: '<S30>/Constant' */
    serialsim_no_observer_B->Constant_b =
      serialsim_no_observer_P->Constant_b_Value;
  }

  /* SubSystem: '<S30>/Rotor reference frame' */

  /* Output and update for enable system: '<S30>/Rotor reference frame' */
  {
    /* simstruct variables */
    serialsim_no_observer_BlockIO *serialsim_no_observer_B =
      (serialsim_no_observer_BlockIO *) _ssGetBlockIO(S);
    serialsim_no_observer_D_Work *serialsim_no_observer_DWork =
      (serialsim_no_observer_D_Work *) ssGetRootDWork(S);

    /* detect enable/disable transitions */
    if (ssIsSampleHit(S, 1, tid)) {
      EnableStates prevEnableState = (EnableStates)
        serialsim_no_observer_DWork->Rotor_refe_a_MODE[0];
      EnableStates enableState;

      if (ssIsSampleHit(S, 1, tid)) {   /* Sample time: [0.0, 1.0] */
        serialsim_no_observer_DWork->Rotor_refe_a_MODE[1] =
         (serialsim_no_observer_B->Constant_b) ? SUBSYS_ENABLED :
          SUBSYS_DISABLED;
      }

      enableState = (EnableStates)
        serialsim_no_observer_DWork->Rotor_refe_a_MODE[1];
      if (enableState == SUBSYS_ENABLED) {
        if (prevEnableState == SUBSYS_DISABLED) {
          /* SUBSYS_BECOMING_ENABLED */

          if ( ssGetT(S) != ssGetTStart(S) ) {
            ssSetSolverNeedsReset(S);
          }
          /* (system initialize function is empty) */
          /* (system enable function is empty) */
          serialsim_no_observer_DWork->Rotor_refe_a_MODE[0] = (int_T)
            SUBSYS_ENABLED;
        }
      } else {
        if (prevEnableState == SUBSYS_ENABLED) {
          /* SUBSYS_BECOMING_DISABLED */
          ssSetSolverNeedsReset(S);

          /* Disable for enable system: '<S30>/Rotor reference frame' */
          {
            /* simstruct variables */
            serialsim_no_observer_BlockIO *serialsim_no_observer_B =
              (serialsim_no_observer_BlockIO *) _ssGetBlockIO(S);
            serialsim_no_observer_D_Work *serialsim_no_observer_DWork =
              (serialsim_no_observer_D_Work *) ssGetRootDWork(S);
            serialsim_no_observer_Parameters *serialsim_no_observer_P =
              (serialsim_no_observer_Parameters *) ssGetDefaultParam(S);

            /* DisableFcn of enable SubSystem Block: <S30>/Rotor reference frame */
            if (serialsim_no_observer_DWork->Rotor_refe_a_MODE[0] == (int_T)
             SUBSYS_ENABLED) {

              /* (Virtual) Outport Block: <S36>/ira,irb */

              serialsim_no_observer_B->ira_a =
                serialsim_no_observer_P->ira_irb_a_Y0;
              serialsim_no_observer_B->irb_a =
                serialsim_no_observer_P->ira_irb_a_Y0;

              /* (Virtual) Outport Block: <S36>/isa,isb */

              serialsim_no_observer_B->isa_a =
                serialsim_no_observer_P->isa_isb_a_Y0;
              serialsim_no_observer_B->isb_a =
                serialsim_no_observer_P->isa_isb_a_Y0;

              serialsim_no_observer_DWork->Rotor_refe_a_MODE[0] = (int_T)
                SUBSYS_DISABLED;
            }
          }
        }
      }
    }

    /* run blocks if enabled */
    if (serialsim_no_observer_DWork->Rotor_refe_a_MODE[0] == SUBSYS_ENABLED) {
      if (ssIsContinuousTask(S, tid)) {

        /* Fcn: '<S36>/ira'
         *
         * Regarding '<S36>/ira':
         *   Expression: u[1]
         */
        serialsim_no_observer_B->ira_a = rtb_iqr;

        /* Fcn: '<S36>/irb'
         *
         * Regarding '<S36>/irb':
         *   Expression: -(u[1] + sqrt3*u[2]) / 2
         */
        serialsim_no_observer_B->irb_a = ( -( rtb_iqr +
          1.7320508075688772E+000 * rtb_idr ) ) / 2.0;

        /* Fcn: '<S36>/isa'
         *
         * Regarding '<S36>/isa':
         *   Expression: u[6]*u[3]+u[5]*u[4]
         */
        serialsim_no_observer_B->isa_a = rtb_Switch_a[1] * rtb_iqs +
          rtb_Switch_a[0] * rtb_ids;

        /* Fcn: '<S36>/isb'
         *
         * Regarding '<S36>/isb':
         *   Expression: ((-u[6]+sqrt3*u[5])*u[3] + (-sqrt3*u[6]-u[5])*u[4]) / 2
         */
        serialsim_no_observer_B->isb_a = ( ( ( -rtb_Switch_a[1] ) +
          1.7320508075688772E+000 * rtb_Switch_a[0] ) * rtb_iqs + ( (
          -1.7320508075688772E+000) *
          rtb_Switch_a[1] - rtb_Switch_a[0] ) * rtb_ids ) / 2.0;
      } }
  }

  if (ssIsSampleHit(S, 1, tid)) {       /* Sample time: [0.0, 1.0] */

    /* Constant: '<S30>/Constant1' */
    serialsim_no_observer_B->Constant1_a =
      serialsim_no_observer_P->Constant1_a_Value;
  }

  /* SubSystem: '<S30>/Stationary reference frame' */

  /* Output and update for enable system: '<S30>/Stationary reference frame' */
  {
    /* simstruct variables */
    serialsim_no_observer_BlockIO *serialsim_no_observer_B =
      (serialsim_no_observer_BlockIO *) _ssGetBlockIO(S);
    serialsim_no_observer_D_Work *serialsim_no_observer_DWork =
      (serialsim_no_observer_D_Work *) ssGetRootDWork(S);

    /* detect enable/disable transitions */
    if (ssIsSampleHit(S, 1, tid)) {
      EnableStates prevEnableState = (EnableStates)
        serialsim_no_observer_DWork->Stationary_a_MODE[0];
      EnableStates enableState;

      if (ssIsSampleHit(S, 1, tid)) {   /* Sample time: [0.0, 1.0] */
        serialsim_no_observer_DWork->Stationary_a_MODE[1] =
         (serialsim_no_observer_B->Constant1_a) ? SUBSYS_ENABLED :
          SUBSYS_DISABLED;
      }

      enableState = (EnableStates)
        serialsim_no_observer_DWork->Stationary_a_MODE[1];
      if (enableState == SUBSYS_ENABLED) {
        if (prevEnableState == SUBSYS_DISABLED) {
          /* SUBSYS_BECOMING_ENABLED */

          if ( ssGetT(S) != ssGetTStart(S) ) {
            ssSetSolverNeedsReset(S);
          }
          /* (system initialize function is empty) */
          /* (system enable function is empty) */
          serialsim_no_observer_DWork->Stationary_a_MODE[0] = (int_T)
            SUBSYS_ENABLED;
        }
      } else {
        if (prevEnableState == SUBSYS_ENABLED) {
          /* SUBSYS_BECOMING_DISABLED */
          ssSetSolverNeedsReset(S);

          /* Disable for enable system: '<S30>/Stationary reference frame' */
          {
            /* simstruct variables */
            serialsim_no_observer_BlockIO *serialsim_no_observer_B =
              (serialsim_no_observer_BlockIO *) _ssGetBlockIO(S);
            serialsim_no_observer_D_Work *serialsim_no_observer_DWork =
              (serialsim_no_observer_D_Work *) ssGetRootDWork(S);
            serialsim_no_observer_Parameters *serialsim_no_observer_P =
              (serialsim_no_observer_Parameters *) ssGetDefaultParam(S);

            /* DisableFcn of enable SubSystem Block: <S30>/Stationary reference frame */
            if (serialsim_no_observer_DWork->Stationary_a_MODE[0] == (int_T)
             SUBSYS_ENABLED) {

              /* (Virtual) Outport Block: <S37>/ira,irb */

              serialsim_no_observer_B->ira_b =
                serialsim_no_observer_P->ira_irb_b_Y0;
              serialsim_no_observer_B->irb_b =
                serialsim_no_observer_P->ira_irb_b_Y0;

              /* (Virtual) Outport Block: <S37>/isa,isb */

              serialsim_no_observer_B->isa_b =
                serialsim_no_observer_P->isa_isb_b_Y0;
              serialsim_no_observer_B->isb_b =
                serialsim_no_observer_P->isa_isb_b_Y0;

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -