主要内容

为查找表配置特定于实例的数据

当你使用金宝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模型,用于模型实例模型,设置的值LUTArgLUTForInst1.对于模型实例Model1,设置的值LUTArgStructForInst2

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对象和其他实例使用存储在结构中的表和断点数据。