【问题标题】:How to change the value of simulink block during the simulation?如何在仿真过程中更改 simulink 模块的值?
【发布时间】:2013-03-22 16:35:24
【问题描述】:

我在 simulink 模型中有一个常量块;当状态流程图中发生特定事件时,我想在模拟期间更改其值。我该怎么做?

【问题讨论】:

    标签: simulink stateflow


    【解决方案1】:

    如果 Stateflow 图输出指示此事件何时发生,或者如果您可以添加一个在事件发生时切换的附加输出,则将此指示器循环回(可能通过 Unit Delay 块)到Switch 块的控制输入。 Switch 的两个输入将是两个 Constant 块,其中包含两个不同的值。

    如果您必须在不修改模型的情况下执行此操作programmatically,请查看sim 命令的参考。我应该警告你,这可能并非易事。

    另外,如果希望能够在仿真中修改 Constant 块的内容(即使其可调),您可能需要关闭 Simulink 的优化内联不变参数的设置。

    【讨论】:

    • 我尝试使用命令 set_param 但模拟被中断。还有其他方法可以更改常量块中的值吗?
    • @Deviltrigger 在使用set_param 更改值之前,您可能需要暂停模拟。
    【解决方案2】:

    您还可以在常量块和 Stateflow 块之间添加 Slider Gain 块。这将允许您在仿真期间更改滑块增益模块的值,而无需更改常量模块的值。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-05-04
      • 2016-10-20
      • 2011-04-22
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多