以编程方式配置特定于查找表的实例数据
当你使用时金宝appsimulink.lockuptable.Lockuptable.
用于存储和配置ASAP2或AutoSar代码生成的查找表数据的对象(例如,STD_AXIS或曲线),您可以将对象配置为模型参数。然后,您可以为组件的每个实例指定唯一的表数据和断点数据。
此示例显示如何通过使用查找表和命令提示符,配置如何配置引用模型的多个实例为相同的块参数使用不同的值。
在引用的模型中配置模型参数
开放模式ex_arg_lut_ref.
,表示可重用算法。
Open_System('ex_arg_lut_ref'的)
创建一个金宝appsimulink.lockuptable.Lockuptable.
基础工作区中的对象。对于此示例,请命名对象Lutarg.
.
temp = 金宝appsimulink.lockuptable;
指定表格和断点数据的值。当您直接模拟或生成代码时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');Assivein(MDLWK,'Lutarg',复制(TEMP))
指定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'的)
创建一个金宝appsimulink.lockuptable.Lockuptable.
基础工作区中的对象。
lutforinst1 = 金宝appsimulink.lockuptable;
为对象指定表和断点数据。
LUTForInst1.Table。值= [8 7;6 5];LUTForInst1.Breakpoints(1)。Value = [5 6];LUTForInst1.Breakpoints(2)。Value = [3 4];
指定结构名称以匹配引用的模型工作区中对象指定的名称。
LUTForInst1.StructTypeInfo。Name ='lutarg_type';
使用结构为第二模型块创建特定实例的参数值。指定结构的断点和表数据。
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 / model'那'instanceparameters');instspecparams(1).value ='lutforinst1';instspecparams1 = get_param('ex_arg_lut / model1'那'instanceparameters');instspecparams1(1).value =“structForInst2”;set_param('ex_arg_lut / model'那'instanceparameters',instspecparams);set_param('ex_arg_lut / model1'那'instanceparameters',instspecparams1);
一个例子ex_arg_lut_ref.
使用存储在中的表和断点数据金宝appsimulink.lockuptable.Lockuptable.
基础工作区中的对象和另一个实例使用存储在结构中的表和断点数据。