How to reduce the execution time for Input/Output ports in Simulink?

1 vue (au cours des 30 derniers jours)
Antonio Carlo Bertolino
Antonio Carlo Bertolino le 8 Juil 2020
Hello,
I just installed the R2020a version of MATLAB&Simulink and I profiled my Simulink model.
From the profiler report it appeared that, among other sources, a not negligible amount of time is taken by the Input and Output ports of various subsystems.
What is it due to? Is it possible to reduce this time in order to speed up the simulation?
Thank you,
Antonio
  2 commentaires
Fangjun Jiang
Fangjun Jiang le 8 Juil 2020
Are they atomic subsystems?
Antonio Carlo Bertolino
Antonio Carlo Bertolino le 10 Juil 2020
They are the ports of a "If Action Subsystem". This subsystem does not have the option "Treat as an atomic unit" checked in the Block parameters panel.

Connectez-vous pour commenter.

Réponses (1)

Fangjun Jiang
Fangjun Jiang le 10 Juil 2020
An atomic subsystem will have to update its Inport and Outport at every simulation step while virtual subsystems don't need to do that. If the time took to do those Inport and Outport update has become significant, re-examine and consider changeing atomic subsystems to be virtual. Many times, I found users don't necessarily understand the difference and subsystems were made atomic by accident.
Action Subsystems are atomic subsystems by definition. You can still consider using alternatives such as conditional brahching using Switch block.
The boundary of virtual subsystem don't exist when simulating or for code generation, while the boundary of atomic subsystems are required to update at every simulation step. If subsystems are made atomic unnecessarily or by mistake, the simulation speed might suffer slightly and the result might differ.

Catégories

En savoir plus sur Schedule Model Components dans Help Center et File Exchange

Produits


Version

R2020a

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by