Simulink bloc to check if a condition is true during a period of time
33 views (last 30 days)
Show older comments
Hi everyone, I wish to thank you for your time. I need to create a Simulink block: the input of the block is x, the output is outp. the simulation time is 10 steps (the unit I use to express time is the step of the simulation time, not seconds or minutes). The Simulink block does the following: if (x<0.9 during 5 steps of simulation time) then outp=1; Although it looks very easy but I have no idea on how to check the time condition. Any help is welcome. Thank you very much.
0 Comments
Answers (2)
Babak
on 7 May 2013
You can use a "Weighted Sample Time" block to know what's the sampling time and an "If" block to create a condition.
If you only care about counting the sampling times passed, you can also use a "Counter Free-Running" block that starts counting from 0 as soon as the simulation starts.
When you open the Simulink Library Browser, search for these three blocks' names and use them to make your model.
1 Comment
Babak
on 8 May 2013
in the weighted sample time, you can chose Ts only (or 1/Ts only) and u don't need an input. Output is not dependent on the input because the output is either Ts only (or 1/Ts only). But if you want to add something to Ts or multiply or divide,... you can use other options and it does the operation for you. Ts is the sampling time. I don't thin you need weighted sample time.. a counter works good enough for your case.
See Also
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!