主要内容

数据对象的信息模型.rtw文件

您可以获得元信息生成的代码访问模型.rtw文件建立文件夹。

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

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

对于一些数据,定义存储类可以是有益的。有关更多信息,请参见精确控制数据表示通过编写TLC存储类的代码(嵌入式编码)。嵌入式编码器®是必需的。

请注意

这些对象从示例模型生成记录的例子rtwdemo_configrpinterface。配置的参数和信号单独使用ExportedGlobal存储类。

对象记录参数

一个对象记录,CoderInfo属性中包含的信息ModelParameters部分的模型.rtw文件为每个参数,满足这些条件:

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

  • 参数符号是保存在生成的代码。符号时保存CoderInfo.StorageClass数据对象的属性没有设置汽车或者如果你个人上的存储类参数设置通过使用映射编辑器或代码coder.mapping.api.CodeMapping对象。

这个例子显示的一部分对象记录参数。

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

对象记录信号

一个对象记录,CoderInfo属性信息包含在ExternalOutputs,ExternalInputs,或BlockOutputs部分的模型.rtw为每个信号(包括根级文件轮廓尺寸外港块)的符号是保存在生成的代码。信号时保存的符号是使用以外的存储类汽车并分别映射。

一个对象记录,CoderInfo属性中包含的信息模型.rtw文件保存的每个信号信号符号生成的代码并满足这些条件:

  • CoderInfo.StorageClass数据对象的属性没有设置汽车

  • 数据对象是分别映射到一个预定义的存储类通过使用映射编辑器或代码coder.mapping.api.CodeMapping对象。

如果您配置的信号是一个非结构化的全局变量在生成的代码中,其有效性和唯一性执行和符号是保留。

这个例子显示的一部分对象记录当前级外港块。

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

访问数据对象信息通过使用目标语言编译器(TLC)代码

在这里,示例代码显示了如何访问数据对象的信息模型.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

相关的话题