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

📄 ps_flc3_controla0513_acc.c

📁 其中提到遺傳學的程式碼與應用提供給次淚相向的研究者參考下載
💻 C
📖 第 1 页 / 共 4 页
字号:

  PS_flc3_controlA0513_B->SDE001_f = rtb_Derivative1_e *
    PS_flc3_controlA0513_P->SDE001_Gain_j;

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

    rtb_Product_be[0] = PS_flc3_controlA0513_B->IW111_n[0] *
      PS_flc3_controlA0513_B->SE1_p;
    rtb_Product_be[1] = PS_flc3_controlA0513_B->IW111_n[1] *
      PS_flc3_controlA0513_B->SDE001_f;

    /* Sum: '<S43>/Sum' */
    rtb_Sum_ci = rtb_Product_be[0];
    rtb_Sum_ci += rtb_Product_be[1];

    rtb_Product_a5[0] = PS_flc3_controlA0513_B->IW112_i[0] *
      PS_flc3_controlA0513_B->SE1_p;
    rtb_Product_a5[1] = PS_flc3_controlA0513_B->IW112_i[1] *
      PS_flc3_controlA0513_B->SDE001_f;

    /* Sum: '<S44>/Sum' */
    rtb_Sum_g = rtb_Product_a5[0];
    rtb_Sum_g += rtb_Product_a5[1];

    rtb_Product_e[0] = PS_flc3_controlA0513_B->IW113_b[0] *
      PS_flc3_controlA0513_B->SE1_p;
    rtb_Product_e[1] = PS_flc3_controlA0513_B->IW113_b[1] *
      PS_flc3_controlA0513_B->SDE001_f;

    /* Sum: '<S45>/Sum' */
    rtb_Sum_b = rtb_Product_e[0];
    rtb_Sum_b += rtb_Product_e[1];

    rtb_Product_f[0] = PS_flc3_controlA0513_B->IW114_e[0] *
      PS_flc3_controlA0513_B->SE1_p;
    rtb_Product_f[1] = PS_flc3_controlA0513_B->IW114_e[1] *
      PS_flc3_controlA0513_B->SDE001_f;

    /* Sum: '<S46>/Sum' */
    rtb_Sum_m = rtb_Product_f[0];
    rtb_Sum_m += rtb_Product_f[1];

    rtb_Product_g[0] = PS_flc3_controlA0513_B->IW115_h[0] *
      PS_flc3_controlA0513_B->SE1_p;
    rtb_Product_g[1] = PS_flc3_controlA0513_B->IW115_h[1] *
      PS_flc3_controlA0513_B->SDE001_f;

    /* Sum: '<S47>/Sum' */
    rtb_Sum_bv = rtb_Product_g[0];
    rtb_Sum_bv += rtb_Product_g[1];

    {
      real_T cg_in_0_65_0[5];
      int32_T i1;

      for(i1=0; i1<5; i1++) {
        PS_flc3_controlA0513_B->b1_c[i1] =
          PS_flc3_controlA0513_P->b1_Value_d[i1];
      }

      cg_in_0_65_0[0] = rtb_Sum_ci;
      cg_in_0_65_0[1] = rtb_Sum_g;
      cg_in_0_65_0[2] = rtb_Sum_b;
      cg_in_0_65_0[3] = rtb_Sum_m;
      cg_in_0_65_0[4] = rtb_Sum_bv;
      for(i1=0; i1<5; i1++) {
        rtb_netsum_j[i1] = cg_in_0_65_0[i1] + PS_flc3_controlA0513_B->b1_c[i1];

        PS_flc3_controlA0513_B->IW211_b[i1] =
          PS_flc3_controlA0513_P->IW211_Value_n[i1];

        rtb_Product_bi[i1] = PS_flc3_controlA0513_B->IW211_b[i1] *
          rt_SATURATE(rtb_netsum_j[i1],
         PS_flc3_controlA0513_P->Saturation_LowerSat_d,
         PS_flc3_controlA0513_P->Saturation_UpperSat_l);
      }
    }

    /* Sum: '<S52>/Sum' */
    rtb_Sum_o = rtb_Product_bi[0];
    rtb_Sum_o += rtb_Product_bi[1];
    rtb_Sum_o += rtb_Product_bi[2];
    rtb_Sum_o += rtb_Product_bi[3];
    rtb_Sum_o += rtb_Product_bi[4];

    PS_flc3_controlA0513_B->b2_k = PS_flc3_controlA0513_P->b2_Value_m;

    PS_flc3_controlA0513_B->SU1_d = (rtb_Sum_o + PS_flc3_controlA0513_B->b2_k) *
      PS_flc3_controlA0513_P->SU1_Gain_d;
  }

  PS_flc3_controlA0513_B->Sum5 = PS_flc3_controlA0513_B->Gain2 -
    PS_flc3_controlA0513_B->TransferFcn3;

  /* Derivative Block: <S3>/Derivative1 */
  {
    real_T t = ssGetTaskTime(S,tid);
    real_T timeStampA =
      PS_flc3_controlA0513_DWork->Derivative1_RWORK_p.TimeStampA;
    real_T timeStampB =
      PS_flc3_controlA0513_DWork->Derivative1_RWORK_p.TimeStampB;

    if (timeStampA >= t && timeStampB >= t) {
      rtb_Derivative1_g = 0.0;
    } else {
      real_T deltaT;
      real_T *lastBank =
        &PS_flc3_controlA0513_DWork->Derivative1_RWORK_p.TimeStampA;
      if (timeStampA < timeStampB) {
        if (timeStampB < t) {
          lastBank += 2;
        }
      } else if (timeStampA >= t) {
        lastBank += 2;
      }
      deltaT = t - *lastBank++;
      rtb_Derivative1_g = (PS_flc3_controlA0513_B->Sum5 - *lastBank++) / deltaT;
    }
  }

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

    PS_flc3_controlA0513_B->IW111_d[0] =
      PS_flc3_controlA0513_P->IW111_Value_p[0];
    PS_flc3_controlA0513_B->IW111_d[1] =
      PS_flc3_controlA0513_P->IW111_Value_p[1];

    PS_flc3_controlA0513_B->IW112_m[0] =
      PS_flc3_controlA0513_P->IW112_Value_jr[0];
    PS_flc3_controlA0513_B->IW112_m[1] =
      PS_flc3_controlA0513_P->IW112_Value_jr[1];

    PS_flc3_controlA0513_B->IW113_l[0] =
      PS_flc3_controlA0513_P->IW113_Value_f[0];
    PS_flc3_controlA0513_B->IW113_l[1] =
      PS_flc3_controlA0513_P->IW113_Value_f[1];

    PS_flc3_controlA0513_B->IW114_o[0] =
      PS_flc3_controlA0513_P->IW114_Value_m[0];
    PS_flc3_controlA0513_B->IW114_o[1] =
      PS_flc3_controlA0513_P->IW114_Value_m[1];

    PS_flc3_controlA0513_B->IW115_a[0] =
      PS_flc3_controlA0513_P->IW115_Value_i[0];
    PS_flc3_controlA0513_B->IW115_a[1] =
      PS_flc3_controlA0513_P->IW115_Value_i[1];
  }

  PS_flc3_controlA0513_B->SE1_j = PS_flc3_controlA0513_B->Sum5 *
    PS_flc3_controlA0513_P->SE1_Gain_e;

  PS_flc3_controlA0513_B->SDE001_m = rtb_Derivative1_g *
    PS_flc3_controlA0513_P->SDE001_Gain_l;

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

    rtb_Product_dq[0] = PS_flc3_controlA0513_B->IW111_d[0] *
      PS_flc3_controlA0513_B->SE1_j;
    rtb_Product_dq[1] = PS_flc3_controlA0513_B->IW111_d[1] *
      PS_flc3_controlA0513_B->SDE001_m;

    /* Sum: '<S64>/Sum' */
    rtb_Sum_gt = rtb_Product_dq[0];
    rtb_Sum_gt += rtb_Product_dq[1];

    rtb_Product_n[0] = PS_flc3_controlA0513_B->IW112_m[0] *
      PS_flc3_controlA0513_B->SE1_j;
    rtb_Product_n[1] = PS_flc3_controlA0513_B->IW112_m[1] *
      PS_flc3_controlA0513_B->SDE001_m;

    /* Sum: '<S65>/Sum' */
    rtb_Sum_p = rtb_Product_n[0];
    rtb_Sum_p += rtb_Product_n[1];

    rtb_Product_dn[0] = PS_flc3_controlA0513_B->IW113_l[0] *
      PS_flc3_controlA0513_B->SE1_j;
    rtb_Product_dn[1] = PS_flc3_controlA0513_B->IW113_l[1] *
      PS_flc3_controlA0513_B->SDE001_m;

    /* Sum: '<S66>/Sum' */
    rtb_Sum_fc = rtb_Product_dn[0];
    rtb_Sum_fc += rtb_Product_dn[1];

    rtb_Product_p[0] = PS_flc3_controlA0513_B->IW114_o[0] *
      PS_flc3_controlA0513_B->SE1_j;
    rtb_Product_p[1] = PS_flc3_controlA0513_B->IW114_o[1] *
      PS_flc3_controlA0513_B->SDE001_m;

    /* Sum: '<S67>/Sum' */
    rtb_Sum_ba = rtb_Product_p[0];
    rtb_Sum_ba += rtb_Product_p[1];

    rtb_Product_h[0] = PS_flc3_controlA0513_B->IW115_a[0] *
      PS_flc3_controlA0513_B->SE1_j;
    rtb_Product_h[1] = PS_flc3_controlA0513_B->IW115_a[1] *
      PS_flc3_controlA0513_B->SDE001_m;

    /* Sum: '<S68>/Sum' */
    rtb_Sum_g3 = rtb_Product_h[0];
    rtb_Sum_g3 += rtb_Product_h[1];

    {
      real_T cg_in_0_93_0[5];
      int32_T i1;

      for(i1=0; i1<5; i1++) {
        PS_flc3_controlA0513_B->b1_n[i1] =
          PS_flc3_controlA0513_P->b1_Value_h[i1];
      }

      cg_in_0_93_0[0] = rtb_Sum_gt;
      cg_in_0_93_0[1] = rtb_Sum_p;
      cg_in_0_93_0[2] = rtb_Sum_fc;
      cg_in_0_93_0[3] = rtb_Sum_ba;
      cg_in_0_93_0[4] = rtb_Sum_g3;
      for(i1=0; i1<5; i1++) {
        rtb_netsum_n[i1] = cg_in_0_93_0[i1] + PS_flc3_controlA0513_B->b1_n[i1];

        PS_flc3_controlA0513_B->IW211_a[i1] =
          PS_flc3_controlA0513_P->IW211_Value_ng[i1];

        rtb_Product_c[i1] = PS_flc3_controlA0513_B->IW211_a[i1] *
          rt_SATURATE(rtb_netsum_n[i1],
         PS_flc3_controlA0513_P->Saturation_LowerSat_n,
         PS_flc3_controlA0513_P->Saturation_UpperSat_e);
      }
    }

    /* Sum: '<S73>/Sum' */
    rtb_Sum_dq = rtb_Product_c[0];
    rtb_Sum_dq += rtb_Product_c[1];
    rtb_Sum_dq += rtb_Product_c[2];
    rtb_Sum_dq += rtb_Product_c[3];
    rtb_Sum_dq += rtb_Product_c[4];

    PS_flc3_controlA0513_B->b2_a = PS_flc3_controlA0513_P->b2_Value_mj;

    PS_flc3_controlA0513_B->SU1_df = (rtb_Sum_dq + PS_flc3_controlA0513_B->b2_a)
      * PS_flc3_controlA0513_P->SU1_Gain_n;
  }

  PS_flc3_controlA0513_B->Sum7 = PS_flc3_controlA0513_B->Gain3 -
    PS_flc3_controlA0513_B->TransferFcn4;

  /* Derivative Block: <S4>/Derivative1 */
  {
    real_T t = ssGetTaskTime(S,tid);
    real_T timeStampA =
      PS_flc3_controlA0513_DWork->Derivative1_RWORK_ph.TimeStampA;
    real_T timeStampB =
      PS_flc3_controlA0513_DWork->Derivative1_RWORK_ph.TimeStampB;

    if (timeStampA >= t && timeStampB >= t) {
      rtb_Derivative1_m = 0.0;
    } else {
      real_T deltaT;
      real_T *lastBank =
        &PS_flc3_controlA0513_DWork->Derivative1_RWORK_ph.TimeStampA;
      if (timeStampA < timeStampB) {
        if (timeStampB < t) {
          lastBank += 2;
        }
      } else if (timeStampA >= t) {
        lastBank += 2;
      }
      deltaT = t - *lastBank++;
      rtb_Derivative1_m = (PS_flc3_controlA0513_B->Sum7 - *lastBank++) / deltaT;
    }
  }

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

    PS_flc3_controlA0513_B->IW111_j[0] =
      PS_flc3_controlA0513_P->IW111_Value_b0[0];
    PS_flc3_controlA0513_B->IW111_j[1] =
      PS_flc3_controlA0513_P->IW111_Value_b0[1];

    PS_flc3_controlA0513_B->IW112_n[0] =
      PS_flc3_controlA0513_P->IW112_Value_e[0];
    PS_flc3_controlA0513_B->IW112_n[1] =
      PS_flc3_controlA0513_P->IW112_Value_e[1];

    PS_flc3_controlA0513_B->IW113_a[0] =
      PS_flc3_controlA0513_P->IW113_Value_g[0];
    PS_flc3_controlA0513_B->IW113_a[1] =
      PS_flc3_controlA0513_P->IW113_Value_g[1];

    PS_flc3_controlA0513_B->IW114_n[0] =
      PS_flc3_controlA0513_P->IW114_Value_o[0];
    PS_flc3_controlA0513_B->IW114_n[1] =
      PS_flc3_controlA0513_P->IW114_Value_o[1];

    PS_flc3_controlA0513_B->IW115_d[0] =
      PS_flc3_controlA0513_P->IW115_Value_hh[0];
    PS_flc3_controlA0513_B->IW115_d[1] =
      PS_flc3_controlA0513_P->IW115_Value_hh[1];
  }

  PS_flc3_controlA0513_B->SE1_k = PS_flc3_controlA0513_B->Sum7 *
    PS_flc3_controlA0513_P->SE1_Gain_ef;

  PS_flc3_controlA0513_B->SDE001_e = rtb_Derivative1_m *
    PS_flc3_controlA0513_P->SDE001_Gain_jo;

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

    rtb_Product_b1[0] = PS_flc3_controlA0513_B->IW111_j[0] *
      PS_flc3_controlA0513_B->SE1_k;
    rtb_Product_b1[1] = PS_flc3_controlA0513_B->IW111_j[1] *
      PS_flc3_controlA0513_B->SDE001_e;

    /* Sum: '<S85>/Sum' */
    rtb_Sum_er = rtb_Product_b1[0];
    rtb_Sum_er += rtb_Product_b1[1];

    rtb_Product_mz[0] = PS_flc3_controlA0513_B->IW112_n[0] *
      PS_flc3_controlA0513_B->SE1_k;
    rtb_Product_mz[1] = PS_flc3_controlA0513_B->IW112_n[1] *
      PS_flc3_controlA0513_B->SDE001_e;

    /* Sum: '<S86>/Sum' */
    rtb_Sum_n = rtb_Product_mz[0];
    rtb_Sum_n += rtb_Product_mz[1];

    rtb_Product_ki[0] = PS_flc3_controlA0513_B->IW113_a[0] *
      PS_flc3_controlA0513_B->SE1_k;
    rtb_Product_ki[1] = PS_flc3_controlA0513_B->IW113_a[1] *
      PS_flc3_controlA0513_B->SDE001_e;

    /* Sum: '<S87>/Sum' */
    rtb_Sum_mz = rtb_Product_ki[0];
    rtb_Sum_mz += rtb_Product_ki[1];

    rtb_Product_l[0] = PS_flc3_controlA0513_B->IW114_n[0] *
      PS_flc3_controlA0513_B->SE1_k;
    rtb_Product_l[1] = PS_flc3_controlA0513_B->IW114_n[1] *
      PS_flc3_controlA0513_B->SDE001_e;

    /* Sum: '<S88>/Sum' */
    rtb_Sum_on = rtb_Product_l[0];
    rtb_Sum_on += rtb_Product_l[1];

    rtb_Product_gu[0] = PS_flc3_controlA0513_B->IW115_d[0] *
      PS_flc3_controlA0513_B->SE1_k;
    rtb_Product_gu[1] = PS_flc3_controlA0513_B->IW115_d[1] *
      PS_flc3_controlA0513_B->SDE001_e;

    /* Sum: '<S89>/Sum' */
    rtb_Sum_hd = rtb_Product_gu[0];
    rtb_Sum_hd += rtb_Product_gu[1];

    {
      real_T cg_in_0_121_0[5];
      int32_T i1;

      for(i1=0; i1<5; i1++) {
        PS_flc3_controlA0513_B->b1_g[i1] =
          PS_flc3_controlA0513_P->b1_Value_n[i1];
      }

      cg_in_0_121_0[0] = rtb_Sum_er;
      cg_in_0_121_0[1] = rtb_Sum_n;
      cg_in_0_121_0[2] = rtb_Sum_mz;
      cg_in_0_121_0[3] = rtb_Sum_on;
      cg_in_0_121_0[4] = rtb_Sum_hd;
      for(i1=0; i1<5; i1++) {
        rtb_netsum_e[i1] = cg_in_0_121_0[i1] + PS_flc3_controlA0513_B->b1_g[i1];

        PS_flc3_controlA0513_B->IW211_j[i1] =
          PS_flc3_controlA0513_P->IW211_Value_k[i1];

        rtb_Product_ar[i1] = PS_flc3_controlA0513_B->IW211_j[i1] *
          rt_SATURATE(rtb_netsum_e[i1],
         PS_flc3_controlA0513_P->Saturation_LowerSat_h,
         PS_flc3_controlA0513_P->Saturation_UpperSat_f);
      }
    }

    /* Sum: '<S94>/Sum' */
    rtb_Sum_ng = rtb_Product_ar[0];
    rtb_Sum_ng += rtb_Product_ar[1];
    rtb_Sum_ng += rtb_Product_ar[2];
    rtb_Sum_ng += rtb_Product_ar[3];
    rtb_Sum_ng += rtb_Product_ar[4];

    PS_flc3_controlA0513_B->b2_c = PS_flc3_controlA0513_P->b2_Value_p;

    PS_flc3_controlA0513_B->SU1_c = (rtb_Sum_ng + PS_flc3_controlA0513_B->b2_c)
      * PS_flc3_controlA0513_P->SU1_Gain_dg;
  }

  PS_flc3_controlA0513_B->Sum9 = PS_flc3_controlA0513_B->Gain4 -
    PS_flc3_controlA0513_B->TransferFcn5;

  /* Derivative Block: <S5>/Derivative1 */
  {

⌨️ 快捷键说明

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