Having Trouble with enable/delay etc in Simulink
16 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
Hi Everyone,
I'll try to explain my problem as clear as I can: when you use an enabled subsystem that contains only a ramp function, the ramp will continue to develop with time even though the output signal of the subsystem will be held at a constant value while the subsystem is disabled. So the next time it is enabled, for instance if your initial value is 0 and you started disabled for 2 seconds leading to an enable situation at t=2, the output of the subsystem will be = 2 instead of 0 that I need. I imagined that changing the states when enabling in enable block to reset would solve my problem but I didn't see any difference. I thought I would need to use delays but the problem is that the enabled and disabled periods are variable and I can't wrap my head around this delay stuff and how to register time for it anyways.
My question is, is there any easier way to do this? any simple block that I don't know about and does the thing I want?
Thanks for your time,
Mike
4 Kommentare
shripad
am 16 Okt. 2014
hi mike,
have also faced same problem ( based on what i understood from your question) , the solution might work for you - In enable subsystem block there is input port & Output port. Double click on output port, there are options available to hold or reset the state on output when enable subsystem signal is not correct.(i.e when condition does'nt meet)
Hope this will work for you
Regards, Shripad
Akzeptierte Antwort
TAB
am 7 Aug. 2012
Bearbeitet: TAB
am 7 Aug. 2012
As I understood, you want to synchronise the ramp generation with the condition output so that every time condition is enabled (0 to 1), ramp geneartion should re-start from 0.
Enabled subsystem always passes current status of output when it is enabled.
AFAIK, there is no block available directly which can generate resettable/re-startable ramp single depending upon condition.
But you can easily inplement your requirement using Matlab (previously Embedded Matlab) function block or using s-function. See a related Fex submission which can help you in implementing your own block.
1 Kommentar
Weitere Antworten (1)
Les Beckham
am 8 Jul. 2017
It sounds like you just need an Integrator with your 'enable' signal as the input instead of a Ramp block. When 'enable' is one, the integrator output will be a ramp. When 'enable' is zero, the integrator output will stop at its current value.
0 Kommentare
Siehe auch
Kategorien
Mehr zu Schedule Model Components finden Sie in Help Center und File Exchange
Produkte
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!