为查找表配置特定于实例的数据
当你使用金宝app仿真软件。LookupTable
对象来存储和配置ASAP2或AUTOSAR代码生成的查找表数据(例如STD_AXIS或CURVE),您可以将这些对象配置为模型参数。然后可以为组件的每个实例指定唯一的表数据和断点数据。
这个例子展示了如何配置一个引用模型的多个实例,通过使用查找表和命令提示符对同一个块参数使用不同的值。
在引用模型中配置模型参数
开放模式ex_arg_LUT_ref
,表示可重用算法。
open_system (“ex_arg_LUT_ref”)
创建一个金宝app仿真软件。LookupTable
基本工作区中的对象。在本例中,为对象命名LUTArg
.
temp = 金宝appSimulink.LookupTable;
为表和断点数据指定值。模拟或生成代码时直接从ex_arg_LUT_ref
时,模型使用这些值。
temp.Table.Value = [3 4;1 2];temp.Breakpoints(1)。Value = [1 2];temp.Breakpoints(2)。Value = [3 4];
将结构名设置为LUTArg_Type
.
temp.StructTypeInfo.Name =“LUTArg_Type”;
将结构复制到模型工作区。
MDLWKS = get_param(“ex_arg_LUT_ref”,“ModelWorkspace”);assignin (mdlwks“LUTArg”,复制(临时))
指定LUTArg
作为一个模型参数。
set_param (“ex_arg_LUT_ref”,“ParameterArgumentNames”,“LUTArg”)
对于n-D查找表块,设置“数据规范”
来“查找表对象”
并设置名称为LUTArg
.
set_param ('ex_arg_LUT_ref/n-D查找表',...“DataSpecification”,“查找表对象”,“LookupTableObject”,“LUTArg”)
创建实例特定的参数值
开放模式ex_arg_LUT
,该算法使用了两次可重用算法。
open_system (“ex_arg_LUT”)
创建一个金宝app仿真软件。LookupTable
基本工作区中的对象。
LUTForInst1 = 金宝appSimulink.LookupTable;
为对象指定表和断点数据。
LUTForInst1.Table。值= [8 7;6 5];LUTForInst1.Breakpoints(1)。Value = [5 6];LUTForInst1.Breakpoints(2)。Value = [3 4];
指定结构名以匹配引用模型工作区中对象指定的名称。
LUTForInst1.StructTypeInfo。Name =“LUTArg_Type”;
使用结构为第二个Model块创建特定于实例的参数值。为结构指定断点和表数据。
StructForInst2。Table = [9 8;7 7];StructForInst2。Bp1 = [3 4];StructForInst2。Bp2 = [5 6];
在ex_arg_LUT
模型,用于模型实例模型
,设置的值LUTArg
来LUTForInst1
.对于模型实例Model1
,设置的值LUTArg
来StructForInst2
.
instSpecParams = get_param(“ex_arg_LUT /模式”,“InstanceParameters”);instSpecParams(1)。值=“LUTForInst1”;instspecparams = get_param(“ex_arg_LUT / Model1”,“InstanceParameters”);instSpecParams1(1)。值=“StructForInst2”;set_param (“ex_arg_LUT /模式”,“InstanceParameters”, instSpecParams);set_param (“ex_arg_LUT / Model1”,“InstanceParameters”, instSpecParams1);
一个例子ex_arg_LUT_ref
中存储的表和断点数据金宝app仿真软件。LookupTable
对象和其他实例使用存储在结构中的表和断点数据。