Restart signal from workspace in Simulink

29 views (last 30 days)
Phab
Phab on 24 Mar 2025 at 8:11
Commented: Phab on 25 Mar 2025 at 15:17
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.

Accepted Answer

Fangjun Jiang
Fangjun Jiang on 24 Mar 2025 at 12:43
Edited: Fangjun Jiang on 24 Mar 2025 at 13:46
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 Comment
Phab
Phab on 25 Mar 2025 at 15:17
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.

Sign in to comment.

More Answers (0)

Products


Release

R2024b

Community Treasure Hunt

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

Start Hunting!