主要内容

金宝app支持模型引用

如果你想使用一个定制的系统目标文件构建一个模型,模型引用,您必须配置自定义目标文件系统来支持模型引用。金宝app

要求模型引用一个定制的系统目标文件

建立一个模型,引用其他模型:

声明模型引用合规

要申报的模型参考遵从你的目标,你必须实现一个回调函数,设置ModelReferenceCompliant国旗,然后安装的回调函数SelectCallback场的rtwgensettings结构系统目标文件。回调函数触发当用户选择目标系统中的目标文件浏览器。例如,下面的系统目标文件代码安装一个SelectCallback函数命名custom_select_callback_handler:

rtwgensettings。SelectCallback= 'custom_select_callback_handler(hDlg,hSrc)';

的参数SelectCallback函数(处理,hSrc)处理私人数据API使用的回调函数。这些句柄被限制使用回调函数在系统目标文件。他们应该通过没有变更。

你的回调函数应该设置ModelReferenceCompliant标志如下:

slConfigUISetVal(处理,hSrc ModelReferenceCompliant ', '对');slConfigUISetEnabled(处理、hSrc ModelReferenceCompliant,假);hSrc.refreshDialog;

如果你会使用目标构建包含大型模型参考层次结构模型,考虑配置目标支持并行构建,如前所述金宝app减少构建时间参考模型通过使用并行构建

配置并行构建的目标,你的回调函数也必须设置ParMdlRefBuildCompliant标志如下:

slConfigUISetVal(处理,hSrc ParMdlRefBuildCompliant ', '对');slConfigUISetEnabled(处理、hSrc ParMdlRefBuildCompliant,假);hSrc.refreshDialog;

关于系统目标文件调API的更多信息,见slConfigUIGetVal,slConfigUISetEnabled,slConfigUISetVal函数引用页面。

在TMF提供模型参考支持金宝app

配置模板makefile (TMF)模型引用:

  1. 添加以下使变量和令牌生成makefile时扩展:

    MODELREFS = | > MODELREFS < | MODELLIB = | > MODELLIB < | MODELREF_LINK_LIBS = | > MODELREF_LINK_LIBS < | MODELREF_LINK_RSPFILE = | > MODELREF_LINK_RSPFILE_NAME < | RELATIVE_PATH_TO_ANCHOR = | > RELATIVE_PATH_TO_ANCHOR < | MODELREF_TARGET_TYPE = | > MODELREF_TARGET_TYPE < |

    下面的代码片段显示了引用makefile令牌是如何扩展模型。

    MODELREFS = MODELLIB = engine3200cc_rtwlib。一个MODELREF_LINK_LIBS = MODELREF_LINK_RSPFILE = RELATIVE_PATH_TO_ANCHOR = . . / . . / . .MODELREF_TARGET_TYPE =环球套票

    下面的代码片段显示了顶级makefile令牌是如何扩展模型,引用所引用的模型。

    MODELREFS = engine3200cc传输MODELLIB = MODELREF_LINK_LIBS = engine3200cc_rtwlib。transmission_rtwlib。一个MODELREF_LINK_RSPFILE = RELATIVE_PATH_TO_ANCHOR = . .MODELREF_TARGET_TYPE =没有
    令牌 扩大到
    MODELREFS的顶级模特 参考模型的名称列表。
    MODELLIB 库的名称生成的模型。
    MODELREF_LINK_LIBS顶级模特的令牌 的参考模型库顶部链接的列表。
    MODELREF_LINK_RSPFILE顶级模特的令牌 响应文件的名称前模型链接。这个令牌是有效的只有支持链接器响应文件的构建环境。金宝app其使用的一个示例,请参阅matlabroot/工具箱/编码器/编译/ tmf / grt_vcx64.tmf
    RELATIVE_PATH_TO_ANCHOR 相对路径,从生成makefile的位置,MATLAB®工作文件夹。
    MODELREF_TARGET_TYPE

    ——目标正在建造的类型。可能的值是

    • 没有一个:独立的模型或模型引用其他模型

    • 环球套票:模型参考目标构建

    • SIM卡:模型参考仿真目标构建

    如果你配置你的目标支持并行构建,如前所述金宝app减少构建时间参考模型通过使用并行构建,你还必须添加以下标记定义TMF:

    START_DIR = | > START_DIR < | MASTER_ANCHOR_DIR = | > MASTER_ANCHOR_DIR < |
    令牌 扩大到
    START_DIR 目前的工作文件夹(松材线虫病)构建开始。
    MASTER_ANCHOR_DIR 目前的工作文件夹(松材线虫病)构建开始。
  2. 添加RELATIVE_PATH_TO_ANCHOR包括整个路径包括变量。

    包括=我。我(RELATIVE_PATH_TO_ANCHOR) (ADD_INCLUDES)美元\ (USER_INCLUDES) (SHARED_INCLUDES)美元
  3. 改变src变量在TMF最初只列出了常见的模块。额外的模块然后附加条件,如描述的下一步。例如,改变

    src = $(模型)。(模块)ert_main加元。c (ADD_SRCS)美元(EXT_SRC)

    src = $(模块)
  4. 创建变量来定义makefile的最终目标。您可以删除变量定义最终目标可能已经存在了。例如,删除

    程序= . . / $(模型)

    和替换它

    ifeq ($ (MODELREF_TARGET_TYPE), NONE) #环球套票产品的顶级模特= (RELATIVE_PATH_TO_ANCHOR) /(模型)美元BIN_SETTING = (LD)美元(LDFLAGS) - o(产品)(SYSLIBS) BUILD_PRODUCT_TYPE =美元“可执行”# ERT建立目标src + = $(模型)。c ert_main。加元(EXT_SRC) # GRT建立目标# src + = $(模型)。c grt_main。c rt_sim。c (EXT_SRC)其他(解决)#美元被环球套票产品= $ (MODELLIB) BUILD_PRODUCT_TYPE = endif“图书馆”

    请注意

    如果makefile的模板与工具链,删除美元(模型). c(模型)。(TARGET_LANG_EXT)美元src列表。

  5. 创建规则的最终目标makefile(取代现有的最终目标规则)。例如:

    ifeq ($ (MODELREF_TARGET_TYPE), NONE) #名模环球套票(产品):美元(obj) (LIBS)美元(MODELREF_LINK_LIBS) (BIN_SETTING)美元美元(LINK_OBJS) (MODELREF_LINK_LIBS) (LIBS)美元@echo”创建的# # # $ (BUILD_PRODUCT_TYPE): $ @”其他#被环球套票(产品):美元(obj) (LIBS)美元@rm - f (MODELLIB) (ar)美元ruvs (MODELLIB) (LINK_OBJS)美元@echo“# # # $ (MODELLIB) "@echo "### Created $(BUILD_PRODUCT_TYPE): $@" endif
  6. 创建一个规则允许引用模型编译文件驻留在MATLAB工作文件夹(松材线虫病)。

    %。o: $ (RELATIVE_PATH_TO_ANCHOR) / %。加元(CC) - c (CFLAGS) <美元

请注意

如果您正在使用一个TMF不变量MODELREFS,该文件可能被用于仿真软件的早期版本金宝app®软件。如果你想让你的TMF引用来支持模型,添加变量金宝appMODELREFS使文件。

控制协议配置选项值

默认情况下,配置选项的价值系统目标文件中定义一个TLC-based定制目标必须是相同的参考模型和它的父模型。放松这一要求,包括modelReferenceParameterCheck字段rtwoptions结构元素定义了配置选项,设置字段的值“关闭”。例如:

rtwoptions (2)。提示=“我的自定义参数”;rtwoptions (2)。类型=“复选框”;rtwoptions (2) .default = '在';rtwoptions (2)。modelReferenceParameterCheck = '在';rtwoptions (2)。tlcvariable =“mytlcvariable”;…

配置选项我的自定义参数可以引用不同模型及其母公司模型。看到定制系统的目标文件TLC-based信息系统目标文件rtwoptions结构字段汇总的列表rtwoptions字段。

防止资源冲突(可选)

钩文件是可选的TLC和MATLAB程序文件调用定义阶段的构建过程。钩文件让你自定义构建过程和各个阶段之间交流信息的过程。

如果你适应定制目标代码生成兼容模型参考功能,可以考虑添加检查钩文件处理引用模型不同于顶级模特,防止资源冲突。

例如,考虑添加以下支票给你月31_make_rtw_hook。m文件:

%检查是否这是一个引用模型mdlRefTargetType = get_param (codeGenModelName ModelReferenceTargetType”);isNotModelRefTarget = strcmp (mdlRefTargetType, '没有');%,SIM卡,或者RTW如果isNotModelRefTarget %是特定于其他顶级模特%的代码的代码具体参考模型

你可能需要在TLC代码做一个类似的检查。

%如果! IsModelReferenceTarget() % %的代码是特定于其他顶级模特% % %的代码是特定于% endif被引用的模型

相关的话题