模型
.rtw有几个库函数提供对块输入、输出、参数、样本时间和其他信息的访问。建议您使用这些库函数来访问块记录中的许多参数名称/参数值对,而不是直接从块TLC代码访问参数名称/参数值对。有关使用这些函数的更多信息(推荐的访问方法)
),看目标语言编译器库函数概述.模型
.rtw
使用这些函数的一个例外是访问块的参数设置。参数设置可以使用mdlRTW
函数的一个C MEX s -函数。它们可以包含字符串、标量值、向量和矩阵形式的数据。它们可以用来传递固定的值和信息,这些值和信息用于更改块的生成代码,或者直接作为块的结果代码中的值。
方法访问块的参数设置mdlRTW
函数的一个C MEX s -函数。有关参数设置的详细信息,请参见内联S-Functions.
static void mdlRTW(SimStruct *S) {if (!ssWriteRTWParamSettings(S, 1, SSWRITE_VALUE_QSTR, "Operator", "AND")) {ssSetErrorStatus(S,"Error writing parameter data to .rtw file");返回;}}
模型
.rtw文件Block {Type "S-Function" Name "/S-Function"…SFcnParamSettings{操作符"AND"}}
%function Outputs(block, system) Output %% %% Select Operator %switch(SFcnParamSettings.Operator) %case "AND" %assign LogicOp = "&" %break…% endswitch % endfunction
当调用块目标文件中的函数时,它们将作为参数传递给该实例的块和系统记录。第一个参数,块
,在作用域中,这意味着该实例的块记录中的变量名可以按名称访问。例如:
%assign fast = SFcnParamSetting。快
块目标文件可以通过直接使用块记录中的字段为给定的块生成代码。这个过程是不推荐有两个原因:
文件的内容
文件可以在不同的版本中改变。这可能会导致阻塞TLC文件访问模型
.rtw
文件直接停止工作。模型
.rtw
提供了TLC库函数,在处理块可能具有的各种配置(宽度、数据类型等)的同时,大大减少了实现块的TLC代码的数量。这些库函数由系统目标文件提供,以提供对输入、输出、参数等的访问。在块TLC脚本中使用这些函数可以使它足够灵活,可以为块的多个实例或配置以及跨版本生成代码。但是,也会有例外,比如当您想要直接访问块记录中的字段时。这在参数设置中发生,如访问参数设置的TLC代码.