How to get a threshold in Simulink that works in both directions and that make an action once per passing

4 次查看(过去 30 天)
Hi,
I have a simulink model where I have a signal that varies with a repeating sequence stair input. If this value passes a threshold value of 0.1 (both positive and negative direction) I want another number (let say 1000) to be withdrawn by 2 every time a passing takes place. So if there have been 5 passes (both up and down) in total, the number should end up being 990.
I thought this was going to be easy, but have still not been able to solve this.
Regards,
Jørgen

采纳的回答

Shubhankar Poundrik
编辑:Shubhankar Poundrik 2020-7-2
Hi Jorgen,
I understand that you want to decrement (or increment) a variable whenever a signal goes past a certain value.
A model similar to the one below may be helpful.
The value from which the output should start (1000 in given case) should be put as the initial value in the output delay block.
Regards,
Shubhankar.

更多回答(1 个)

Jonas
Jonas 2020-7-6
编辑:Jonas 2020-7-6
There are multiple ways to do it. I would do it like this. It might inspire you. The variable State should be initialised to 1000.

类别

Help CenterFile Exchange 中查找有关 General Applications 的更多信息

产品


版本

R2020a

Community Treasure Hunt

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

Start Hunting!

Translated by