【发布时间】:2013-03-22 16:35:24
【问题描述】:
我在 simulink 模型中有一个常量块;当状态流程图中发生特定事件时,我想在模拟期间更改其值。我该怎么做?
【问题讨论】:
我在 simulink 模型中有一个常量块;当状态流程图中发生特定事件时,我想在模拟期间更改其值。我该怎么做?
【问题讨论】:
如果 Stateflow 图输出指示此事件何时发生,或者如果您可以添加一个在事件发生时切换的附加输出,则将此指示器循环回(可能通过 Unit Delay 块)到Switch 块的控制输入。 Switch 的两个输入将是两个 Constant 块,其中包含两个不同的值。
如果您必须在不修改模型的情况下执行此操作programmatically,请查看sim 命令的参考。我应该警告你,这可能并非易事。
另外,如果希望能够在仿真中修改 Constant 块的内容(即使其可调),您可能需要关闭 Simulink 的优化内联不变参数的设置。
【讨论】:
set_param 更改值之前,您可能需要暂停模拟。
您还可以在常量块和 Stateflow 块之间添加 Slider Gain 块。这将允许您在仿真期间更改滑块增益模块的值,而无需更改常量模块的值。
【讨论】: