model
.rtw
ФайлВы можете получить метаинформацию о сгенерированном коде, обратившись к
файл в папке сборки.model
.rtw
В процессе сборки генератор кода записывает информацию о Simulink® объекты данных о сигнале и параметре в
файл. Система координат model
.rtwObject
запись с CoderInfo
информация о свойствах записывается для каждого параметра или сигнала, который удовлетворяет определенным обстоятельствам. Эти условия описаны в Записях объектов для Параметров и Записях объектов для Сигналов.
The Object
записи содержат информацию, соответствующую связанному объекту данных. Для доступа к Object
записи, необходимо записать код компилятора целевого языка (см. Доступ к данным информация об объекте при помощи кода компилятора целевого языка (TLC)).
Для некоторых данных определение классов памяти может быть полезным. Для получения дополнительной информации смотрите Мелкое Управление Представлением Данных путем Записи Кода TLC для Класса памяти (Embedded Coder). Embedded Coder® обязательно.
Примечание
Эти Object
примеры записей сгенерированы из модели примера rtwdemo_configrpinterface
. Параметры и сигналы настраиваются индивидуально при помощи ExportedGlobal
класс памяти.
Система координат Object
запись, которая имеет CoderInfo
информация о свойствах включена в ModelParameters
раздел
файл для каждого параметра, который удовлетворяет этим условиям:model
.rtw
Параметр разрешается к Simulink.Parameter
объект данных или к объекту данных параметра, который происходит из класса, полученного из Simulink.Parameter
класс.
Символ параметра сохраняется в сгенерированном коде. Символ сохраняется, когда CoderInfo.StorageClass
свойство объекта данных не установлено в Auto
или если вы задаете класс памяти для отдельного параметра с помощью редакторов Code Mappings или coder.mapping.api.CodeMapping
объект.
Этот пример показывает часть Object
запись для параметра.
ModelParameters { NumParameters 10 ... Parameter { Identifier "K1" LogicalSrc P7 WorkspaceVarName "K1" Protected no Tunable yes StorageClass "ExportedGlobal" Value [2] OriginalDataTypeIdx 2 CGTypeIdx 36 ContainerCGTypeIdx 42 IsPublic 1 ReferencedBy Matrix(1,4) [[1, 0, 4, 2];] GraphicalRef Matrix(1,2) [[0, 10];] GraphicalSource [-1, -1] OwnerSysIdx [1, -1] HasObject 1 Object { Package Simulink Class Parameter ObjectProperties { Value 2.0 CoderInfo { Object { Package Simulink Class CoderInfo ObjectProperties { HasCoderInfo 1 StorageClass "ExportedGlobal" TypeQualifier "" Alias "" Alignment -1 IsCSCPackageOverridden 0 CSCPackageName "Simulink" ParameterOrSignal "Parameter" CustomStorageClass "Default" CustomAttributes { Object { Package SimulinkCSC Class AttribClass_Simulink_Default ObjectProperties { } } } } } } ... }
Система координат Object
запись, которая имеет CoderInfo
информация о свойствах включена в ExternalOutputs
, ExternalInputs
, или BlockOutputs
раздел
файл для каждого сигнала (включая Inport корневого уровня и блоки Outport), символ которого сохраняется в сгенерированном коде. Символ сохраняется, когда сигнал использует класс памяти, отличный от model
.rtwAuto
и индивидуально отображается.
Система координат Object
запись, которая имеет CoderInfo
информация о свойствах включена в
файл для каждого сигнала, который сохраняет символ сигнала в сгенерированном коде и удовлетворяет этим условиям:model
.rtw
The CoderInfo.StorageClass
свойство объекта данных не установлено в Auto
.
Объект данных индивидуально сопоставляется с предопределенным классом памяти с помощью редактора Отображения или coder.mapping.api.CodeMapping
объект.
Если вы конфигурируете сигнал как неструктурированную глобальную переменную в сгенерированном коде, его валидность и уникальность принудительны, и его символ сохраняется.
Этот пример показывает часть Object
запись для блока Outport корневого уровня.
ExternalOutputs { ... NumExternalOutputs 1 ... ExternalOutput { ArgSrc Y0 Block [1,3] BlockName "<Root>/Out1" GrSrc [0, 4] Identifier "output" StorageClass "ExportedGlobal" HasObject 1 Object { Package Simulink Class Signal ObjectProperties { CoderInfo { Object { Package Simulink Class CoderInfo ObjectProperties { HasCoderInfo 1 StorageClass "ExportedGlobal" TypeQualifier "" Alias "output" Alignment -1 IsCSCPackageOverridden 0 CSCPackageName "Simulink" ParameterOrSignal "Signal" CustomStorageClass "Default" CustomAttributes { Object { Package SimulinkCSC Class AttribClass_Simulink_Default ObjectProperties { } } } } } } ... }
Здесь выборка код показов, как получить доступ к информации об объекте данных из
файл с использованием кода TLC.model
.rtw
Этот фрагмент кода итератируется по Parameter
структуры в ModelParameters
раздел
файл. Код извлекает информацию из model
.rtwObject параметра
записей.
%with 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
раздел
файл. Код извлекает информацию из сигнальных model
.rtwObject
записей.
%with 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