文档

使用sl_customization.m自定义生成过程

的仿真软金宝app件®自定义文件sl_customization.m是一种允许您使用MATLAB的机制®自定义构建过程接口。Simu金宝applink软件读取sl_customization.m文件,如果存在于MATLAB路径中,当它启动时和文件中指定的自定义将应用于Simulink会话。金宝app有关的更多信息sl_customization.m定制文件的更多信息,请参考注册自定义(金宝app模型)。

sl_customization。m文件

sl_customization.m文件可用于注册特定于安装的钩子函数,以便在构建过程中调用。您通过它注册的钩子函数sl_customization.m补充系统目标文件(STF)挂钩(如中所述使用STF_make_rtw_hook文件自定义构建过程)和代码生成后命令(如中所述)自定义后代码生成生成处理).

下图显示了安装级钩子和其他可用机制之间的关系,这些机制用于自定义构建过程。

使用sl_customization.m注册构建进程钩子函数

要注册在构建过程中调用的安装级钩子函数,需要创建一个MATLAB函数sl_customization.m并将其包含在您想要定制的Simulink安装的MATLAB路径中。金宝app的sl_定制函数接受一个参数:自定义管理器对象的句柄。例如,

函数sl_customization(厘米)

作为自定义的起点sl_定制函数必须首先使用以下赋值语句获取默认(工厂)自定义设置:

hObj = cm.RTWBuildCustomizer;

然后调用方法来注册自定义。自定义管理器对象包括以下方法来注册构建进程钩子的自定义:

  • addUserHook(hObj、hookType、hook)

    指定的MATLAB钩子脚本或函数用于表示的构建过程阶段hookType。的有效值hookType“进入”“before_tlc”“after_tlc”“before_make”“after_make”,及“退出”

的实例中使用此方法注册与安装相关的钩子函数sl_定制函数。

Simu金宝applink软件读取sl_customization.m文件启动时。如果您随后更改了文件,您必须重新启动Simulink会话或在命令窗口中输入以下命令来启用更改:金宝app

sl_refresh_customizations

可用于sl_customization.m Hook函数的变量

以下变量可用于sl_customization.m要使用的钩子函数:

  • 型号名称- Simulink模型的名称(对所金宝app有阶段有效)

  • dependencyObject-包含生成代码的依赖项的对象(仅对“after_make”阶段)

钩子脚本可以直接访问有效的变量。钩子函数可以将有效变量作为参数传递给函数。例如:

hObj。addUserHook(“after_make”、“afterMakeFunction (modelName dependencyObject); ');

使用sl_Customization.m的生成过程自定义示例

sl_customization.m示例中显示的文件,sl_customization.mfor Build Process Customizations,采用addUserHook方法指定要在“进入”“after_tlc”构建过程的各个阶段。有关钩子函数源代码,请参阅CustomRTWEntryHook.mCustomRTWPostProcessHook.m的例子。

例1。sl_customization.mfor Build Process Customizations
函数sl_customization(cm) %注册用户定制%获得默认(工厂)定制hObj = cm. rtwbuildcustomizer;%注册构建进程钩子addUserHook('entry', 'CustomRTWEntryHook(modelName);'); hObj.addUserHook('after_tlc', 'CustomRTWPostProcessHook(modelName);'); end
例2。CustomRTWEntryHook.m
函数[str,status]=CustomRTWEntryHook(modelName)str=sprintf('model''%s.'',modelName的自定义条目挂钩);disp(str)状态=1;
例3。CustomRTWPostProcessHook.m
function [str, status] = CustomRTWPostProcessHook(modelName) str =sprintf('自定义post process hook for model " %s. " ',modelName);disp (str)状态= 1;

如果您在想要自定义的Simulink安装的MATLAB路径中包含上述三个文件,那么代码钩子函数消息将出现在构建的显示输出中。金宝app例如,如果您打开基于ert的模型rtwdemo_udt,打开代码生成窗格中,然后按Ctrl+B要启动构建,将显示以下消息:

>>rtwdemo_udt#######开始模型的构建过程:rtwdemo_udt模型“rtwdemo_udt”的自定义输入钩子。“rtwdemo#u udt”模型的自定义后期处理钩子。成功完成模型的构建过程:rtwdemo_udt>>