Products & Services Solutions Academia Support User Community Company

Learn more about Real-Time Workshop   

Summary of Signal Storage Class Options

The next table shows, for each signal storage class option, the variable declaration and the code generated for Sum (sumSig) and Gain (gainSig) block outputs of the model shown in figure Signal_examp Model.

Storage Class

Declaration

Code

Auto

(with signal storage reuse optimizations on)

In model.c or model.cpp

real_T rtb_sumSig;
rtb_sumSig = signal_examp_U.In1 +
  signal_examp_P.Constant_Value;
rtb_sumSig *=
  signal_examp_P.Gain_Gain;
signal_examp_Y.Out1 = rtb_sumSig;

Test point (for sumSig only)

In model.h

typedef struct
_BlockIO_signal_examp 
{
  real_T sumSig;
}
BlockIO_signal_examp;

In model.c or model.cpp

BlockIO_signal_examp
signal_examp_B; 
real_T rtb_gainSig;
signal_examp_B.sumSig =
  signal_examp_U.In1 +
  signal_examp_P.Constant_Value;
rtb_gainSig = 
  signal_examp_B.sumSig * 
  signal_examp_P.Gain_Gain;
signal_examp_Y.Out1 = rtb_gainSig;

ExportedGlobal (for sumSig only)

In model.h

extern real_T sumSig;

In model.c or model.cpp

real_T sumSig; 
real_T rtb_gainSig; 
sumSig = signal_examp_U.In1 +
signal_examp_P.Constant_Value;
rtb_gainSig = sumSig *
  signal_examp_P.Gain_Gain;
signal_examp_Y.Out1 = rtb_gainSig;

ImportedExtern

In model_private.h

extern real_T sumSig;

In model.c or model.cpp

real_T rtb_gainSig;
sumSig = signal_examp_U.In1 +
signal_examp_P.Constant_Value;
rtb_gainSig = sumSig *
  signal_examp_P.Gain_Gain;
signal_examp_Y.Out1 = rtb_gainSig;

ImportedExternPointer

In model_private.h

extern real_T *sumSig;

In model.c or model.cpp

real_T rtb_gainSig;
(*sumSig) = signal_examp_U.In1 +
  signal_examp_P.Constant_Value;
rtb_gainSig = (*sumSig) *
  signal_examp_P.Gain_Gain;
signal_examp_Y.Out1 = rtb_gainSig;

  


Related Products & Applications

Learn more about Simulink through this collection of videos, articles, technical literature and the Getting Started with Simulink Guide.

 © 1984-2009- The MathWorks, Inc.    -   Site Help   -   Patents   -   Trademarks   -   Privacy Policy   -   Preventing Piracy   -   RSS