To implement a counter in MATLAB Simulink that increments and resets to 0 after reaching 20 while retaining the accumulated values
44 views (last 30 days)
Show older comments
I want to create an increment counter; once it reaches 20, it should reset to 0, but the existing values should be present and added with the current values. How can I develop this logic in MATLAB Simulink ?
1 Comment
Paul
on 24 Nov 2024 at 20:14
Hi Mahendran,
Can you clarify the meaning of "existing values should be present and added with the current values"?
Answers (1)
Ayush
on 25 Nov 2024 at 5:54
Edited: Ayush
on 25 Nov 2024 at 5:56
Hi Mahendran,
I understand you need to implement the logic of incrementing a counter and once it reaches a certain limit, it should reset to 0 but the sum achieved should be preserved.
You can use several blocks for achieving this logic in MATLAB Simulink R2022b like:
- “Constant block”: To maintain the value of counter
- For reading more about this block, refer here: https://www.mathworks.com/help/releases/R2022b/simulink/slref/constant.html
- Unit delay block: It helps in incrementing the values of counter. For reading more about this, refer here: https://www.mathworks.com/help/releases/R2022b/simulink/slref/unitdelay.html
- Memory block: It helps to preserve the sum achieved till now. For reading more about this block, refer here: https://www.mathworks.com/help/releases/R2022b/matlab/ref/memory.html
- Switch block: It helps to reset the value once the counter reaches 20. For reading more about this block, refer here: https://www.mathworks.com/help/releases/R2022b/simulink/slref/switch.html
- Relational operator block: It helps to check whether the counter has reached value 20 or not. For reading more about this block, refer here: https://www.mathworks.com/help/releases/R2022b/simulink/slref/relationaloperator.html
I have attached the Simulink model implementing the above logic for your reference with this answer.
Hope it helps!
3 Comments
Ayush
on 26 Nov 2024 at 1:42
The above model is implementing the following logic:
1 + 2 + 3 + 4 + .... + 20 (lets say this sum is equal to x)
now, let's say number of iterations are y.
the model gives the following output: x*y
Hope this is the expected behaviour and if not, kindly give an example to depict by taking a small input and depicting the expected output.
Hope it helps!
See Also
Categories
Find more on Sources in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!