具有动态上限的 Simulink "Counter Limited" 块

Simulink "Counter Limited" block with dynamic upper limit

Simulink 库块"Counter Limited"(Simulink/Sources/Counter 有限)从零开始计数到指定的上限。然后它循环到零并重新计数。这以定义的速率(采样时间)发生。掩码参数为 "Upper Limit" 和 "Sample Time".

我的模拟包含一个周期持续时间可变的离散时间循环过程,即每个周期的样本数变化(样本时间恒定)。

问题:有谁知道如何让mask参数"Upper Limit"动态化?我想在每个循环开始时将当前循环的样本数传递给 "Counter Limited" 块。当前循环数是在 Simulink 中计算的,但我不知道如何将其正确传递给 "Counter Limited" 块。

非常感谢您提供的任何建议!

您需要滚动您自己的 计数器实现。类似于以下内容将使重置值(在本例中为 6)被指定为信号而不是参数。请注意,需要反馈路径中的单位延迟来防止代数环。