This content is specific to Simscape™ Multibody™ First Generation software. First-generation features are slated to be deprecated and should be avoided.
Some Simulink® features and tools either do not work with models containing Simscape Multibody blocks or work only with restrictions. Others work with Simscape Multibody models but only on the normal Simulink blocks in those models.
The sample times of all Simscape Multibody blocks are always continuous, and you cannot use them with discrete solvers. You also cannot override the sample time of a nonvirtual subsystem containing Simscape Multibody blocks.
Certain Simulink tools are restricted in use with Simscape Multibody software.
Multibody model with closed loops cannot
be linearized with the Simulink
Enabled subsystems can contain Simscape
But you should always set the States when enabling parameter
in the Enable dialog to
the subsystem's Enable port.
Setting States when enabling to
not supported and can lead to simulation errors.
Simulink configurable subsystems work with Simscape Multibody blocks only if all of the block choices have consistent port signatures.
For Iterator, Function-Call, Triggered, and While Iterator nonvirtual subsystems cannot contain Simscape Multibody blocks.
An atomic subsystem with a user-specified (noninherited) sample time cannot contain Simscape Multibody blocks.
Simscape Multibody software supports external mode, but without visualization.
Simscape Multibody software supports Simulink model referencing, with the following restrictions. For more information on model referencing, see Overview of Model Referencing (Simulink) in the Simulink documentation.
A Simscape Multibody model can be referenced only once by another model.
Simscape Multibody software does not support reparameterization in a referencing block.
A Simscape Multibody model cannot be visualized if it is referenced in Model Reference Accelerated Mode.
You can both reference and visualize a Simscape Multibody model in Model Reference Normal Mode.
The Simulink Profiler is not optimized for Simscape Multibody. The Profiler cannot list Simscape Multibody functions block by block, as it does with Simulink models. Function names do not correspond to well-defined Simscape Multibody blocks.
Some Simulink tools and features do not work with Simscape Multibody blocks:
Multibody block dialogs do not accept
as parameter values.
Execution order tags do not appear on Simscape Multibody blocks.
Simscape Multibody blocks do not invoke optional callbacks that you define.
You cannot set breakpoints on Simscape Multibody blocks.
Reusable subsystems cannot contain Simscape Multibody blocks.
You cannot use the Simulink Fixed-Point Tool with Simscape Multibody blocks.
The Report Generator reports Simscape Multibody block properties incompletely.
SimState is not supported with Simscape Multibody blocks and supports only regular Simulink states, not the mechanical ones.
Multibody functions to work with the mechanical states.
You cannot tune most Simscape Multibody block parameters during simulation.
The exceptions that you can tune are:
Certain blocks are not supported in two-dimensional simulation mode. These include disassembled joints, massless connectors, and joints that can move in three dimensions. See Choosing Your Machine's Dimensionality.
Code generated from models containing Simscape Multibody blocks has certain limitations.
Stiction implemented with Joint Stiction Actuator blocks requires algebraic loops iterated at a single time step to detect discrete events. In generated code versions of models with stiction, the mode iteration to determine joint locking and unlocking instead occurs over multiple time steps, possibly reducing simulation accuracy.
Closed-loop models in certain analysis mode configurations use nonlinear solvers with no upper limit on iterations. Code generated from such models is valid but, in general, not truly “real time.” These configurations include:
Forward Dynamics mode when Constraint
solver type in the Machine Environment block is set to
If you generate code from a model containing one or more machines simulated in two dimensions, the generated code is also restricted to two-dimensional motion. Thus, if you change run-time parameters in the generated code, you must ensure that the new values do not violate the two-dimensional motion restriction.
The choice of machine dimensionality is either automatic or manual, but this restriction on generated code applies in either case. See Choosing Your Machine's Dimensionality.
You cannot generate code from a Simscape Multibody model that itself contains one or more S-functions generated from other Simscape Multibody models.