使用set_param命令会导致有关“通过回调添加/删除变量块”的错误。

时间:2019-04-06 06:31:37

标签: matlab simulink

我需要有关Simulink的帮助。请原谅我英语不好。

我正在构建自己的Simulink库。我尝试根据选择的“单选按钮”来更改“ BlockChoice”参数,以选择我要使用的正确液压模型。

出现更改时,我使用掩码的“回调/初始化”字段(我都尝试过)到

set_param([gcb,'some subsystems'], 'BlockChoice', 'MyChoice')

选择我的“可配置子系统”的右侧字段。

当我使用

get_param([gcb,'some subsystems'], 'BlockChoice')

新选择已正确设置。当我开始仿真时,simulink给我错误

Your model tries to add/delete variant blocks through call-backs. With variant blocks we do not allow this change.

有趣的是,当我手动“看” /浏览所有蒙版时,直到“可配置子系统”并开始仿真,才不会出现错误。

我尝试了

的另一种方法
set_param([gcb,'firstChild'], 'someVariable', 'someValue')

用于设置childs-block的其他参数的功能,直到我到达“可配置子系统”之前的最后一个块,并且只有最后一个块允许更改值“ BlockChoice”,但这无济于事。

当我浏览子代块并使用'BlockChoice'参数输入我的“ Configurable Subsystem”时,我可以看到simulink处于“滞后”状态,而不是更改为正确的选择。

我使用matlab R2016a。该库也在R2014b和R2015a上进行了测试。同样的问题。

我尝试过

set_param(gcs,'SimulationCommand','Update')

但是我的模型每次都开始加载,我在Mask上进行了更改。

在设置“ BlockChoice”后,有什么想法可以告诉该块,再次初始化吗?

非常感谢

0 个答案:

没有答案