文档

数据对象的信息模型.rtw

数据对象的概述

在构建过程中,代码生成器写道关于仿真软件的信息金宝app®信号和参数数据对象模型.rtw文件。一个对象记录CoderInfo为每个参数或属性信息写信号,满足某些条件。这些条件中描述对象记录参数对象记录信号

对象记录包含对应的信息相关的数据对象。访问对象记录,您必须编写目标语言编译器代码(见通过薄层色谱数据对象信息的访问)。

对于一些数据,定义定制存储类可以是一个有用的方法。有关更多信息,请参见精确控制数据表示通过编写TLC存储类的代码(嵌入式编码)。注意,这个支持需要嵌入式编码器金宝app®许可证。

请注意

对象记录的例子在这一节中生成的示例模型rtwdemo_advsc,与模型按钮ExportedGlobal存储类双击运行和模型选择保留.rtw文件选中。(不要使用示例模型按钮来构建模型,修改模型的选择,包括保留.rtw文件。)

对象记录参数

一个对象记录CoderInfo属性中包含的信息ModelParameters部分的模型.rtw文件为每个参数符合下列条件:

  • 参数解析为一个金宝appSimulink.Parameter数据对象(或参数数据对象,它来自于一个类派生的金宝appSimulink.Parameter类)。

  • 参数符号是保存在生成的代码。符号时保存CoderInfo.StorageClass数据对象的属性没有设置汽车或者,如果你设置的默认存储类相应类别的数据默认的在代码映射编辑器,模型的默认

下面的例子显示的一部分对象记录参数。一个真正的比出现在记录包含多个字段的例子。

ModelParameters {NumParameters 10…参数{标识符“K1 LogicalSrc P7 WorkspaceVarName“K1”保护没有可调是的StorageClass“ExportedGlobal”价值[2]OriginalDataTypeIdx 2 CGTypeIdx 41 ContainerCGTypeIdx 42 ReferencedBy矩阵(1、4)[(1、4、5);]GraphicalRef矩阵(1、2)[[0,16];]GraphicalSource [1] OwnerSysIdx [1] HasObject 1对象{包模型类参数ObjectProperties{值2.0 CoderInfo{对象{包模型类CoderInfo ObjectProperties {StorageClass“Exp金宝apportedGlobal TypeQualifier”“别名”“对齐1 CSCPackageName“模型”ParameterOrSignal“参数”CustomStorageClass“默认”CustomAttributes{对象{包SimulinkCSC类AttribClass_Simulink_Default ObjectProperties {}}}}}}…}

对象记录信号

一个对象记录CoderInfo属性信息包含在ExternalOutputs,ExternalInputs,或BlockOutputs部分的模型.rtw为每个信号(包括根级文件轮廓尺寸外港块)的符号是保存在生成的代码。信号时保存的符号是使用以外的存储类汽车。如果信号配置为非结构化全局变量在生成的代码中,其有效性和唯一性执行和符号是保留。

下面的例子显示的一部分对象记录当前级外港块。一个真正的比出现在记录包含多个字段的例子。

ExternalOutputs {…NumExternalOutputs 1…ExternalOutput {ArgSrc Y0块[1,3]BlockName“< Root > /着干活”标识符“输出”OrigIdentifier“输出”StorageClass“ExportedGlobal”ResolvedToSignalObject嵌入式HasObject 1对象{包模型类信号ObjectProperties {CoderInfo{对象{包模型类CoderInfo 金宝appObjectProperties {StorageClass“ExportedGlobal TypeQualifier”“别名”“对齐1 CSCPackageName“模型”ParameterOrSignal“信号”CustomStorageClass“默认”CustomAttributes{对象{包SimulinkCSC类AttribClass_Simulink_Default ObjectProperties {}}}}}}…}

通过薄层色谱数据对象信息的访问

本节提供的示例代码来说明如何访问数据对象的信息模型.rtw文件使用TLC代码。

访问参数对象记录

下面的代码片段遍历参数结构ModelParameters部分的模型.rtw从参数文件和提取信息对象记录遇到的。

与CompiledModel %。ModelParameters%foreach modelParamIdx = NumParameters %assign thisModelParam = Parameter[modelParamIdx] %assign paramName = thisModelParam.Identifier %if EXISTS("thisModelParam.Object.ObjectProperties") %with thisModelParam.Object.ObjectProperties %assign valueInObject = Value %with CoderInfo.Object.ObjectProperties %assign storageClassInObject = StorageClass %endwith %% *********************************** %% Access user-defined properties here %% *********************************** %if EXISTS("MY_PROPERTY_NAME") %assign userDefinedPropertyName = MY_PROPERTY_NAME %endif %% *********************************** %endwith %endif %endforeach %endwith

信号对象的访问记录

下面的代码片段遍历ExternalBlockOutput结构BlockOutputs部分的模型.rtw文件,并从信号中提取信息对象记录遇到的。

与CompiledModel %。BlockOutputs%foreach blockOutputIdx = NumExternalBlockOutputs %assign thisBlockOutput = ExternalBlockOutput[blockOutputIdx] %assign signalName = thisBlockOutput.Identifier %if EXISTS("thisBlockOutput.Object.ObjectProperties") %with thisBlockOutput.Object.ObjectProperties %with CoderInfo.Object.ObjectProperties %assign storageClassInObject = StorageClass %endwith \ %% ***********************************\ %% Access user-defined properties here\ %% *********************************** %if EXISTS("MY_PROPERTY_NAME") %assign userDefinedPropertyName = MY_PROPERTY_NAME %endif %% *********************************** %endwith %endif %endforeach %endwith

相关的话题