Restart signal from workspace in Simulink

7 vues (au cours des 30 derniers jours)
Phab
Phab le 24 Mar 2025
Commenté : Phab le 25 Mar 2025
Hi Community,
I extracted a signal from some data, so I have a signal and an corresponding time array in my workspace.
For now, I grab them in Simulink as
[time, signal]
array with a "From Workspace" block.
Is there any way to resart this signal/array during my simulation (without state flow)?
I tried using enabled/triggered subsystems, but this just stops/starts the signal from the point where it would be without the subsystem.
I would like to restart the signal from it's first datapoint.

Réponse acceptée

Fangjun Jiang
Fangjun Jiang le 24 Mar 2025
Modifié(e) : Fangjun Jiang le 24 Mar 2025
Use an Integrator block and enable its "Reset" inport, which can receive your "reset" or "trigger" signal.
The input to the Integrator block is a Constant value of 1. Once reset or triggered, the Integrator block ouptut value will increase from zero at the same pace as the simulation clock.
Feed this "time/clock" signal to an 1-D Lookup Table block. The table data is your [time, signal] value.
Every time the clock starts from zero and increases, the output of the Lookup Table block will be this restarted signal.
  1 commentaire
Phab
Phab le 25 Mar 2025
Wow, I love these simple answers!
Perfect according to the KISS principle.
And every time I ask myself why I don't think of it myself.

Connectez-vous pour commenter.

Plus de réponses (0)

Produits


Version

R2024b

Community Treasure Hunt

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

Start Hunting!

Translated by