how to implement Simplest down counter

43 ビュー (過去 30 日間)
ANKUR WADHWA
ANKUR WADHWA 2018 年 7 月 15 日
コメント済み: Nanupatruni Vamsi 2022 年 12 月 11 日
I recently started to try my hands at matlab and simulink , was implementing a counter in simulink , and implemented a simple up counter which counts upto 50
now i want to implement the simplest down counter , but i found my logic for implementing down counter in simulink is quite big , can anyone suggest a simpler logic for down counter with the explanation .
  5 件のコメント
ANKUR WADHWA
ANKUR WADHWA 2018 年 7 月 18 日
Thanks Jim for the help..
Nanupatruni Vamsi
Nanupatruni Vamsi 2022 年 12 月 11 日
Design Down counter from the value of 50 to 5 after counter have to maintain the value of 5

サインインしてコメントする。

採用された回答

Jim Riggs
Jim Riggs 2018 年 7 月 15 日
編集済み: Jim Riggs 2018 年 7 月 15 日
Your logic seems to suggest that you want something more than just a decrement counter. A simple decrement counter would work exactly the same as an increment counter:
This logic will count down by one. To set a starting value, set the initial condition in the memory block to the desired starting value + 1. So, to start the counter from 20, set the memory initial condition to 21, and the first output from this network is 21-1 = 20.
If you want the counter to stop and hold a value, zero for example, simply add a saturation block:
Set the upper limit in the saturation block to a very large value, and set the lower limit to the desired floor value (0 maybe). This will count down from the initial value in the memory block and hold the lower limit value from the saturation block.
  3 件のコメント
ANKUR WADHWA
ANKUR WADHWA 2018 年 7 月 16 日
Thanks for the explanation Jim.. i was not aware of the initial conditions in the memory blocks , i was using the delay block to introduce the delay to get rid of Algebraic Loop . Is is possible to add initial condition in the delay block..?? What other elements in Matlab can be used to work as Memory blocks you specified in your example .
Jim Riggs
Jim Riggs 2018 年 7 月 16 日
編集済み: Jim Riggs 2018 年 7 月 16 日
There are a number of delay function blocks in Simulink, including the one in your sample above. All of these have initial conditions which can be set. Just right-click on the block and select "block parameters".
(also, if you find my answer helpful, please "accept" my answer)

サインインしてコメントする。

その他の回答 (0 件)

カテゴリ

Help Center および File ExchangeEvent Functions についてさらに検索

タグ

Community Treasure Hunt

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

Start Hunting!

Translated by