Run an enabled and triggered subsystem only one time (single shot)
11 visualizzazioni (ultimi 30 giorni)
Mostra commenti meno recenti
Matthew Mishrikey
il 6 Feb 2025
Commentato: Matthew Mishrikey
il 7 Feb 2025
I have a Simulink enabled and triggered subsystem that I want to execute only one time.
I think one way to do it is to make sure the enable pulse is only slightly wider than a time step, but I don't really want to mess with doing it that way because the time step could be variable.
Any other possibilities?
--- EDIT ---
Added model showing what I am trying to do. I have a byte, and I want to change it to a new byte in a timed, bitwise manner. So if I went from 0b00000000 to 0b11111111, I would after 1ms go to 0b00000001, then after two go to 0b00000011, and so on. What I want to see on the scope is this value staircasing up at millisecond intervals.
0 Commenti
Risposta accettata
Paul
il 6 Feb 2025
Does it really need be enabeld and triggered? Even if so, it should only run when triggered (and enabled), so if the trigger triggers only once, the block will execute only once.
4 Commenti
Paul
il 6 Feb 2025
I'm afraid I won't be able to look at your model.
However, I'm quite sure that the subsystem will only execute when triggered and enabled. If the Outports of the subsystem are set with parameter "Output when disabled" set to "held", which is the default, then the output is held when the subsystem is disabled (per the Enable input).
In the example below, the subsystem is triggered once at T = 1 second from the Step block and the output jumps from the initial value of 0 to the value of sin(1) at that time and is subsequently held at that value.

Più risposte (0)
Vedere anche
Categorie
Scopri di più su Schedule Model Components in Help Center e File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!