【问题标题】:Simulink "Counter Limited" block with dynamic upper limit具有动态上限的 Simulink“Counter Limited”模块
【发布时间】:2015-10-04 16:37:24
【问题描述】:

Simulink 库模块“Counter Limited”(Simulink/Sources/Counter Limited)从零向上计数到指定的上限。然后它绕到零并重新计数。这以定义的速率(采样时间)发生。掩码参数为“上限”和“采样时间”。

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

问题:有谁知道如何使掩码参数“上限”动态化?我想在每个周期开始时将当前周期的样本数传递给“计数器限制”块。当前的周期数是在 Simulink 中计算的,但我不知道如何正确地将其传递给“Counter Limited”块。

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

【问题讨论】:

    标签: simulink


    【解决方案1】:

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

    【讨论】:

    • 谢谢!我实际上最终做了一些非常相似的事情。我复制了 Simulink/Sources/Counter Limited 块的内容,并用我自己的函数代码替换了组件“Wrap To Zero”。这允许我将当前周期的样本计数反馈给计数器。再次感谢您的回复,非常感谢!
    • 刚刚重新阅读我的评论,发现它不是很清楚。 sample count 我的意思是当前周期的样本总数,即周期持续时间除以采样时间(然后四舍五入到最接近的整数)。 counter 我的意思是实际变量,每个样本加一。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2023-03-15
    • 2018-08-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-11-13
    相关资源
    最近更新 更多