主要内容

配置AUTOSAR CompuMethods

AUTOSAR软件组件使用计算方法(CompuMethods) AUTOSAR的内部价值和物理表示之间的转换数据。常见用途CompuMethods线性数据比例和校准和测量。

嵌入式编码器®进口AUTOSAR CompuMethods ARXML代码中描述和保存他们之间往返AUTOSAR创作工具(AAT)和仿真软件金宝app®。在仿真金宝app软件中,您可以修改进口CompuMethods或新CompuMethods创建和配置。

这个主题提供的示例配置AUTOSAR CompuMethods仿真软件。金宝app

配置AUTOSAR CompuMethod属性

您可以配置AUTOSAR CompuMethod属性在你的模型中,图形或编程方式。CompuMethod属性可以修改包括名称、类别、单位,显示格式,AUTOSAR包,和仿真软件的数据类型。金宝app

配置一个CompuMethod使用图形界面,打开AUTOSAR词典和选择CompuMethods视图。这个视图显示了修改的模型中CompuMethods,是否从ARXML仿真软件中创建的代码或进口。金宝app

选择一个CompuMethod和编辑可用字段。

  • 的名字——指定名称文本

  • 类别——选择相同的,线性,RatFunc,TextTable,或LinearAndTextTable(见CompuMethod类别数据类型)

  • 单位-选择单位可用的模型

  • DisplayFormat——选择指定格式使用校准和测量工具来显示数据。使用一个ANSI®Cprintf格式说明符字符串。例如,% 2.1 d指定一个签署了十进制数,两个字符的最小宽度和最大精度的数字。12.2等显示的字符串生成一个值。更多信息构造一个格式说明符字符串,明白了配置DisplayFormat

  • ——指定路径CompuMethods AUTOSAR包生成的

  • 金宝app模型数据类型——指定引用CompuMethod模金宝app型数据类型的列表

修改AUTOSAR CompuMethod包,您可以做以下:

  • 输入一个包路径中参数字段。

  • AUTOSAR包打开浏览器,点击右边的按钮字段。使用浏览器导航到一个现有的包或创建和选择一个包。当你在浏览器中点击选择一个包应用,CompuMethod参数值更新你的选择。AUTOSAR包浏览器的更多信息,请参阅配置AUTOSAR包组件、接口CompuMethod或SwAddrMethod

关联一个CompuMethod仿真软件模型中使用的数据类型,选择一个金宝appCompuMethod并单击添加按钮的右边金宝app模型数据类型。该操作将会打开一个对话框可用数据类型的列表。值的列表中,选择一个金宝appSimulink.NumericType金宝appSimulink.AliasType,或者输入仿真软件枚举类型的名称。金宝app添加的类型金宝app模型数据类型列表中,点击好吧

设置金宝app模型数据类型房地产以编程方式,打开模型和使用AUTOSAR财产函数调用类似如下:

arProps = autosar.api.getAUTOSARProperties (“cmSpeed”);集(arProps,‘/ pkg / CompuMethods / RpmCm’,‘SlDataTypes’, {' SpeedRpmAdt '})sltypes =得到(arProps ' / pkg / CompuMethods / RpmCm ', ' SlDataTypes ')
sltypes = ' SpeedRpmAdt '

创建AUTOSAR CompuMethods

您可以创建AUTOSAR CompuMethods在你的模型中,图形或编程方式。创建AUTOSAR CompuMethod使用图形界面,打开AUTOSAR词典和选择CompuMethods视图。打开添加CompuMethod对话框中,单击添加按钮。CompuMethod配置的初始属性,如名称、类别、单位,显示格式为校准,AUTOSAR包生成,和相关的模型数据类型。金宝app当你点击好吧AUTOSAR字典,CompuMethods视图更新新的CompuMethod。

当您生成代码时,出口ARXML代码包含CompuMethod定义和引用。

配置CompuMethod方向线性函数

对于设计起源于仿真软件,可以控制属性的出口金宝appCompuMethod,包括的方向CompuMethod内部之间的转换和物理表示的一个值。使用AUTOSAR字典或AUTOSAR属性功能,您可以指定下列之一CompuMethod方向值:

  • InternalToPhys(默认)-生成CompuMethod部分内部价值观的转换到物理表示。

  • PhysToInternal——生成CompuMethod部分物理值转化为内部表示。

  • 双向——生成CompuMethod部分internal-to-physical和physical-to-internal转换方向。

指定CompuMethodMATLAB的方向®命令窗口,使用AUTOSAR财产函数调用类似如下:

hModel =“autosar_swc_expfcns”;openExample (hModel);arProps = autosar.api.getAUTOSARProperties (hModel);集(arProps,‘XmlOptions’,‘CompuMethodDirection’,“双向”);get (arProps,‘XmlOptions’,‘CompuMethodDirection’)

指定CompuMethodAUTOSAR字典,方向选择XML选项。选择一个值参数CompuMethod方向。点击应用

模型生成代码时,CompuMethods出口ARXML代码中包含所请求的定向部分。例如,这是一个CompuMethod CompuMethod方向设置为生成双向

< COMPU-METHOD UUID = "……" > <字>COMPU_EngSpdValue LINEAR< COMPU-INTERNAL-TO-PHYS >< COMPU-SCALES > < COMPU-SCALE > < SHORT-LABEL > intToPhys < / SHORT-LABEL > <下限INTERVAL-TYPE =“封闭”> 0 < /下限> <无风险INTERVAL-TYPE =“封闭”> 24000 < /无风险> < COMPU-RATIONAL-COEFFS > < COMPU-NUMERATOR > < V > 0 < / V > < V > 1 < / V > < / COMPU-NUMERATOR > < COMPU-DENOMINATOR > < V > 8 V < / > < / COMPU-DENOMINATOR > < / COMPU-RATIONAL-COEFFS > < / COMPU-SCALE > < / COMPU-SCALES >< / COMPU-INTERNAL-TO-PHYS >< COMPU-PHYS-TO-INTERNAL >< COMPU-SCALES > < COMPU-SCALE > < SHORT-LABEL > physToInt < / SHORT-LABEL > <下限INTERVAL-TYPE =“封闭”> 0 < /下限> <无风险INTERVAL-TYPE =“封闭”> 3000 < /无风险> < COMPU-RATIONAL-COEFFS > < COMPU-NUMERATOR > < V > 0 < / V > < V > 8 V < / > < / COMPU-NUMERATOR > < COMPU-DENOMINATOR > < V > 1 < / V > < / COMPU-DENOMINATOR > < / COMPU-RATIONAL-COEFFS > < / COMPU-SCALE > < / COMPU-SCALES >< / COMPU-PHYS-TO-INTERNAL >< / COMPU-METHOD >

请注意

的类别TEXTTABLE CompuMethods生成布尔或枚举数据类型,只使用InternalToPhys,不管方向参数设置。

出口CompuMethod单位参考

ARXML进口国保护单元和物理维度信息中发现CompuMethods进口。软件保存CompuMethod单位和物理维度信息之间的往返AUTOSAR创作工具(AAT)和仿真软件。金宝app

设计源于仿真软件,出口国为每个生成单位参考金宝appCompuMethod。按照惯例,每个CompuMethod引用一个单位命名NoUnit。例如,这是一个布尔数据类型CompuMethod和单位参考。

< COMPU-METHOD UUID = "……" > <字>COMPU_Boolean TEXTTABLE /mymodel_pkg/mymodel_dt/NoUnit< / UNIT-REF >…< / COMPU-METHOD > <单元UUID = "……" > <字>NoUnit< /字> < FACTOR-SI-TO-UNIT > 1 < / FACTOR-SI-TO-UNIT > < OFFSET-SI-TO-UNIT > 0 < / OFFSET-SI-TO-UNIT > < /单位>

每个出口提供一个单元CompuMethod帮助支持导出金宝appAUTOSAR的校准和测量工具的使用数据。

修改线性扩展SCALE_LINEAR_AND_TEXTTABLE CompuMethod

您可以导入和导出一个AUTOSAR CompuMethod使用线性和TEXTTABLE缩放。导入应用程序数据类型参考CompuMethods SCALE_LINEAR_AND_TEXTTABLE创建的类别金宝appSimulink.NumericType金宝appSimulink.AliasType数据对象的仿真软件工作区。金宝app在仿真金宝app软件中,您可以修改CompuMethods的线性扩展。TEXTTABLE缩放是只读的。

例如,这是与一个线性标尺和两个TEXTTABLE CompuMethod鳞片。

CompuMethod导入到一个模型时,进口商将创建一个金宝appSimulink.NumericType线性扩展。修改线性扩展,打开金宝appSimulink.NumericType数据对象和修改它的字段。

对于只读访问TEXTTABLE扩展信息,使用AUTOSAR财产得到函数调用类似如下:

> > arProps = autosar.api.getAUTOSARProperties (“mySWC”);> > %获得文字COMPU_myType TEXTTABLE尺度> >得到(arProps, / simple_ar_package / simple_ar_dt / COMPU_myType, CellOfEnums) ans =“SensorError”“SignalNotAvailable”> > %得到内部值COMPU_myType TEXTTABLE尺度> >得到(arProps, / simple_ar_package / simple_ar_dt / COMPU_myType, IntValues) ans = 350 351

配置有理函数CompuMethod Dual-Scaled参数

AUTOSAR dual-scaled参数,商店两个缩放值相同的物理值,软件生成CompuMethod类别RAT_FUNC。可以是一个一阶有理函数的计算方法。

配置和生成一个dual-scaled参数:

  1. 打开一个AUTOSAR模型。对于本示例中,创建一个常数块的引用一个AUTOSAR dual-scaled参数。在模型中,连接常数块模型输出港。金宝app

  2. 打开模型数据编辑器(建模选项卡上,单击模型数据编辑器)和选择参数选项卡。找到的参数输入常数块。使用价值列引用dual-scaled参数的名称。下面的例子使用了参数名T1Rec

  3. 创建T1Rec数据对象。在模型数据编辑器中,右边的值T1Rec,点击操作按钮并选择创建

    在创建新的数据对话框中,设置价值AUTOSAR.DualScaledParameter并点击创建。一个AUTOSAR.DualScaledParameter数据对象出现在基地工作空间。dual-scaled参数属性对话框打开。

  4. 配置dual-scaled的属性参数T1Rec。执行以下MATLAB代码。代码建立了一个从内部校准时间值转换到物理频率(互惠)值。

    %转换频率% F = 1 / T%换句话说F = (0 * T + 1) / (1 * T + 0);T1Rec。CompuMethodName =立方厘米的;%指定AUTOSAR CompuMethod名称T1Rec。数据类型=“fixdt(1, 32岁,0.01,0)';T1Rec.CalToMainCompuNumerator = 1;T1Rec。CalToMainCompuDenominator=[1 0]; T1Rec.CalibrationMin = 0.001; T1Rec.CalibrationMax = 1.0; T1Rec.CalibrationValue = 0.1500; T1Rec.CoderInfo.StorageClass =“自定义”;T1Rec.CoderInfo。标识符=;T1Rec.CoderInfo。CustomStorageClass =“InternalCalPrm”;T1Rec.CoderInfo.CustomAttributes。PerInstanceBehavior =的参数共享软件组件的所有实例;T1Rec。描述=;% T1Rec。Min = [];% T1Rec。Max = [];T1Rec。单位=;T1Rec。CalibrationDocUnits =“m / s²”;
  5. 检查dual-scaled参数的属性对话框T1Rec。这里是主要的属性设定的MATLAB代码。

  6. 这里有校准属性设定的MATLAB代码。

  7. 如果CompuMethod方向是没有设置双向AUTOSAR的属性,使用AUTOSAR的字典,XML选项看来,设置它。

  8. 从模型中生成代码。

当你从模型生成代码,生成一个ARXML出口国CompuMethod的类别RAT_FUNC

< COMPU-METHOD UUID = "……" > <字>立方厘米< /字> <目录>RAT_FUNC< /类别> < UNIT-REF DEST = "单位" > / mymodel_pkg / mymodel_dt / m_s_ < / UNIT-REF > < COMPU-INTERNAL-TO-PHYS > < COMPU-SCALES > < COMPU-SCALE > < COMPU-RATIONAL-COEFFS > < COMPU-NUMERATOR > < V > -100 < / V > < / COMPU-NUMERATOR > < COMPU-DENOMINATOR > < V > 0 < / V > < V > 1 < / V > < / COMPU-DENOMINATOR > < / COMPU-RATIONAL-COEFFS > < / COMPU-SCALE > < / COMPU-SCALES > < / COMPU-INTERNAL-TO-PHYS > < COMPU-PHYS-TO-INTERNAL > < COMPU-SCALES > < COMPU-SCALE > < COMPU-RATIONAL-COEFFS > < COMPU-NUMERATOR > < V > 100 < / V > < / COMPU-NUMERATOR > < COMPU-DENOMINATOR > < V > 0 < / V > < V > 1 < / V > < / COMPU-DENOMINATOR > < / COMPU-RATIONAL-COEFFS > < / COMPU-SCALE > < / COMPU-SCALES > < / COMPU-PHYS-TO-INTERNAL > < / COMPU-METHOD >

CompuMethod从应用程序中引用数据类型生成的吗T1Rec

< APPLICATION-PRIMITIVE-DATA-TYPE UUID = "……" > <字>T1Rec_DualScaled< /字> <类别>价值< /类别> < SW-DATA-DEF-PROPS > < SW-DATA-DEF-PROPS-VARIANTS > < SW-DATA-DEF-PROPS-CONDITIONAL > < SW-CALIBRATION-ACCESS >读写< / SW-CALIBRATION-ACCESS > < COMPU-METHOD-REF DEST = " COMPU-METHOD " > / mymodel_pkg / mymodel_dt /立方厘米< / COMPU-METHOD-REF > < DATA-CONSTR-REF DEST = " DATA-CONSTR " > / mymodel_pkg mymodel_dt / ApplDataTypes / DataConstrs / DC_T1Rec_DualScaled < / DATA-CONSTR-REF > < / SW-DATA-DEF-PROPS-CONDITIONAL > < / SW-DATA-DEF-PROPS-VARIANTS > < / SW-DATA-DEF-PROPS > < / APPLICATION-PRIMITIVE-DATA-TYPE >

应用程序数据类型T1Rec_DualScaled引用参数数据原型生成的吗T1Rec

< PARAMETER-DATA-PROTOTYPE UUID = "……" > <字>T1Rec< /字> < SW-DATA-DEF-PROPS > < SW-DATA-DEF-PROPS-VARIANTS > < SW-DATA-DEF-PROPS-CONDITIONAL > < SW-CALIBRATION-ACCESS >读写标准< / SW-CALIBRATION-ACCESS > < SW-IMPL-POLICY > < / SW-IMPL-POLICY > < / SW-DATA-DEF-PROPS-CONDITIONAL > < / SW-DATA-DEF-PROPS-VARIANTS > < / SW-DATA-DEF-PROPS > < TYPE-TREF DEST = " APPLICATION-PRIMITIVE-DATA-TYPE " > / mymodel_pkg mymodel_dt / ApplDataTypes /T1Rec_DualScaled< / TYPE-TREF >…< / PARAMETER-DATA-PROTOTYPE >

相关的例子

更多关于