Run an enabled and triggered subsystem only one time (single shot)

12 vues (au cours des 30 derniers jours)
Matthew Mishrikey
Matthew Mishrikey le 6 Fév 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.

Réponse acceptée

Paul
Paul le 6 Fév 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 commentaires
Paul
Paul le 6 Fév 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.
Matthew Mishrikey
Matthew Mishrikey le 7 Fév 2025
I had a bug in my matlab function that was causing it not to work, and I mistakenly assumed it had to do with the enable/trigger.
Your nice example gave me the insight I needed to believe it behaved correctly. Many thanks!!

Connectez-vous pour commenter.

Plus de réponses (0)

Catégories

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

Produits


Version

R2024b

Community Treasure Hunt

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

Start Hunting!

Translated by