Exemplo n.º 1
0
/* Model update function */
void m1006_update(int_T tid)
{

  if (rtmIsMajorTimeStep(m1006_M)) {
    rt_ertODEUpdateContinuousStates(&m1006_M->solverInfo, 0);
  }

  /* Update absolute time for base rate */

  if(!(++m1006_M->Timing.clockTick0)) ++m1006_M->Timing.clockTickH0;
  m1006_M->Timing.t[0] = m1006_M->Timing.clockTick0 * m1006_M->Timing.stepSize0
    + m1006_M->Timing.clockTickH0 * m1006_M->Timing.stepSize0 * 4294967296.0;

  if (rtmIsMajorTimeStep(m1006_M) &&
   m1006_M->Timing.TaskCounters.TID[1] == 0) {
    /* Update absolute timer for sample time: [0.1s, 0.0s] */

    if(!(++m1006_M->Timing.clockTick1)) ++m1006_M->Timing.clockTickH1;
    m1006_M->Timing.t[1] = m1006_M->Timing.clockTick1 *
      m1006_M->Timing.stepSize1 + m1006_M->Timing.clockTickH1 *
      m1006_M->Timing.stepSize1 * 4294967296.0;
  }

  rate_scheduler();
}
Exemplo n.º 2
0
/* Model update function */
void Maglev_PD_update(int_T tid)
{
  /* DiscreteTransferFcn Block: '<S7>/Discrete Transfer Fcn1' */
  {
    Maglev_PD_DWork.DiscreteTransferFcn1_DSTATE = Maglev_PD_B.Gain3 +
      Maglev_PD_P.DiscreteTransferFcn1_A*
      Maglev_PD_DWork.DiscreteTransferFcn1_DSTATE;
  }

  /* DiscreteTransferFcn Block: '<S7>/Discrete Transfer Fcn' */
  {
    Maglev_PD_DWork.DiscreteTransferFcn_DSTATE = Maglev_PD_B.Gain1 +
      (Maglev_PD_P.DiscreteTransferFcn_A)*
      Maglev_PD_DWork.DiscreteTransferFcn_DSTATE;
  }

  /* Update absolute time for base rate */
  if (!(++Maglev_PD_M->Timing.clockTick0))
    ++Maglev_PD_M->Timing.clockTickH0;
  Maglev_PD_M->Timing.t[0] = Maglev_PD_M->Timing.clockTick0 *
    Maglev_PD_M->Timing.stepSize0 + Maglev_PD_M->Timing.clockTickH0 *
    Maglev_PD_M->Timing.stepSize0 * 4294967296.0;

  {
    /* Update absolute timer for sample time: [0.001s, 0.0s] */
    if (!(++Maglev_PD_M->Timing.clockTick1))
      ++Maglev_PD_M->Timing.clockTickH1;
    Maglev_PD_M->Timing.t[1] = Maglev_PD_M->Timing.clockTick1 *
      Maglev_PD_M->Timing.stepSize1 + Maglev_PD_M->Timing.clockTickH1 *
      Maglev_PD_M->Timing.stepSize1 * 4294967296.0;
  }

  if (Maglev_PD_M->Timing.TaskCounters.TID[2] == 0) {
    /* Update absolute timer for sample time: [0.01s, 0.0s] */
    if (!(++Maglev_PD_M->Timing.clockTick2))
      ++Maglev_PD_M->Timing.clockTickH2;
    Maglev_PD_M->Timing.t[2] = Maglev_PD_M->Timing.clockTick2 *
      Maglev_PD_M->Timing.stepSize2 + Maglev_PD_M->Timing.clockTickH2 *
      Maglev_PD_M->Timing.stepSize2 * 4294967296.0;
  }

  rate_scheduler();
  UNUSED_PARAMETER(tid);
}
Exemplo n.º 3
0
/* Model update function */
void testArduino_send_serial_update(void)
{
  rate_scheduler();
}