Variable-Size Signal Limitations

The following table is a list of known limitations and workarounds.

Array format logging does not support variable-size signals.Use a Structure or Structure With Time format for logging variable-size signals.
Right-click signal logging does not support variable-size signals.Use a To Workspace block (with Structure or Structure With Time format) or a root Outport block for logging variable-size signals.
A frame-based variable-size signal cannot change the frame length (first dimension size), but it can change the second dimension size (number of channels). Using frame-based signals requires DSP System Toolbox™ software.Use the Frame Conversion block to convert a signal into sample-based signal.
Variable-size signals must have a discrete sample time.
Embedded Coder® does not support variable-size signals with ERT S-functions, custom storage classes, function prototype control, the AUTOSAR, C++ interface, and the ERT reusable code interface.
Simulink® does not support variable-size parameter or DWork vectors.
Rapid accelerator mode does not support models having root-level input ports with variable-size signals.
Virtual buses that you use as inputs to or outputs from a referenced model (Model block) do not support variable-size signals.Configure the bus signal as nonvirtual. For more information about using buses as inputs to or outputs from a referenced model, see Bus Data Crossing Model Reference Boundaries. For more information about controlling bus virtuality, see Types of Composite Signals.

Variable-size signals are not supported for:

  • Array of buses signals

  • Blocks that specify an initial condition as a MATLAB® structure

You cannot apply a storage class to a root-level Outport block (see Apply Storage Classes to Individual Signal, State, and Parameter Data Elements (Simulink Coder)) if the signal that enters the block has a variable size.Apply the storage class to the signal line instead of the Outport block.

Related Topics