在simulink中,以编程方式创建变体子系统

时间:2014-03-05 21:17:11

标签: matlab simulink

我想使用脚本在simulink中创建和定义变体子系统。

我能够使用add_block创建变体子系统并在其中添加子系统,但无法使用get_param命令找到定义变量子系统的相应属性。

我以图形方式配置变体子系统的方法是右键单击块并转到块参数,然后为每个子系统添加变量控制条件。

我想从m文件中执行相同的操作,以便以编程方式创建多个块。

我检查了文档和谷歌搜索但找不到任何内容。

提前致谢。

2 个答案:

答案 0 :(得分:1)

根据@Praetorian的评论,我在文本编辑器中打开了模型,找到了定义变量条件的参数行。

我发现变体条件存储在变体子系统内的子系统中,而不是存储在顶级变体子系统中。

因此,您将条件存储在每个子系统的“VariantControl”参数中。

实施例: set_param([variantSys '/' sys],'VariantControl','a==1')其中sys是变体子系统variantSys中的子系统。

答案 1 :(得分:0)

变量控件应该写在模型的回调中。为了将simulink变量控件提供给模型,应在工作空间中创建变量。为此,您需要将您的Sys = Simulink.Variant(Mode == value)等放在PreLoadFcn上。

检查访问PreLoadFcn并将公式放在那里,然后您的表格将自动填充。

如果您不介意,可以告诉我您是如何创建变体子系统的吗?

祝你好运