数据对象的信息模型
.rtw
模型
.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 {}}}}}}…}
通过薄层色谱数据对象信息的访问
本节提供的示例代码来说明如何访问数据对象的信息
文件使用TLC代码。模型
.rtw
访问参数对象记录
下面的代码片段遍历参数
结构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