如果你要使用很多模型相同的配置设置,您可以编写一个脚本以编程方式配置以同样的方式每个模型。您可以使用脚本来归档和你的模型使用比较的配置设置。
这个例子显示了三种不同的方法来编程建立模型的配置:
编辑模型现有的Active配置集
创建并在模型编辑新的配置集
创建配置的参考,它指向一个独立的配置集
在这个例子中,使用模型sldemo_mdlref_depgraph
。
模型='sldemo_mdlref_depgraph';open_system(模型)
以操纵与模型相关联的配置设置,使用ConfigSet
对象,表示配置集。对于此示例,使用是模型活性的配置。
activeConfigObj = getActiveConfigSet(模型);get_param(activeConfigObj,'名称')
ANS = '配置'
该模型的活性构型是组态
。若要查看配置参数的当前值,使用get_param
功能和ConfigSet
目的。
get_param(activeConfigObj,“停止时间”)
ANS = '2 * 24 * 60 * 60'
重命名配置集中UpdatedConfig
。
set_param(activeConfigObj,'名称','UpdatedConfig');
在这个例子中,设定的停止时间200
并改变求解器类型的可变步长求解器。
set_param(activeConfigObj,“停止时间”,'200');set_param(activeConfigObj,'SolverType',“变量步”);
当你想改变模型的配置和维护其活动配置的原始参数值,创建并激活模型中的一个新的配置集。要创建另一个配置集,复制现有的配置集和复制连接到模型。为了避免命名冲突,当你装上复制,要么将其附着或组之前重命名副本allowRename
的可选的第三个参数attachConfigSet
, 至真正
。
对于这个例子中,复制活性配置集。重命名副本ConfigCopy
并将其连接到模型。
newConfigObj =拷贝(activeConfigObj);set_param(newConfigObj,'名称','ConfigCopy');attachConfigSet(型号,newConfigObj);
如果您将配置集中到一个模型,它是无效的。你可以操纵你操作激活的配置集以同样的方式停用配置。要使用新的配置,激活它的模型。
set_param(newConfigObj,'SolverType',“固定步”);setActiveConfigSet(模型,'ConfigCopy');activeConfigSet = getActiveConfigSet(模型);get_param(activeConfigObj,'名称')
ANS = 'UpdatedConfig'
现在,ConfigCopy
是激活的配置集。
如果你想存储模型的配置集外,创建一个脚本,建立模型的配置参考。参考被存储在模型和它指向一个独立的配置集,其被存储在任何一个Simulink中数据字典或在基部的工作区。万博1manbetx使用一个独立的配置集和配置引用分享与多个车型一个配置。当你想在不改变模型文件编辑配置你也可以使用一个独立的配置集。
在这个例子中,配置模型VDP
使用配置参考。首先,通过复制该模型的激活的配置集创建在基座工作区中的独立的配置集。所述独立式结构是一个ConfigSet
对象表示由可变freeConfigSet
。如果要引用现有的独立配置集您可以跳过此步骤。
模型='VDP';open_system(模型)freeConfigSet =拷贝(getActiveConfigSet(模型));
创建配置的参考。来点参考你的独立配置,设置SOURCENAME
属性freeConfigSet
,代表你的配置变量。新的基准是ConfigSetRef
对象表示由可变configRef。
命名参考vdpConfigRef
。
configRef = 万博1manbetxSimulink.ConfigSetRef;set_param(configRef,'SOURCENAME','freeConfigSet')set_param(configRef,'名称','VdpConfigRef')
附加的结构参考模型VDP
通过使用ConfigSetRef
目的。您可以参考附加到只有一种模式。要在模型中使用的配置参考,激活它。
attachConfigSet('VDP',configRef);setActiveConfigSet('VDP','VdpConfigRef');
现在,当您更改配置集合对象freeConfigSet
三个代表,将更改应用到模型。
可以通过使用在配置参考获得的参数值get_param
。但是,你不能直接在参考配置更改的参数值。要改变这些值,你必须使用ConfigSet
对象表示所引用独立配置集。通过使用克获得从一配置参考的独立配置集etRefConfigSet
方法。
referencedConfigObj = getRefConfigSet(configRef);
现在,referencedConfigObj
代表相同的独立配置集,你的模型引用。freeConfigSet
表示构成集合为好。使用配置集对象改变引用配置参数设置值。这些更改应用到引用该配置中的每个模型。
set_param(referencedConfigObj,'SignalLogging',“关”);set_param(referencedConfigObj,'开始时间','10');