model
.rtw
Файлы и возможностиПрограммное обеспечение генерации кода создает
файл из вашего Simulink® модель. A model
.rtw
файл является частичным представлением модели, сгенерированной процессом сборки для использования компилятором целевого языка. Он описывает блоки, входы, выходы, параметры, состояния, хранилище и другие компоненты модели и свойства из соответствующего файла модели.model
.rtw
Сгенерированный
файл вводится в компилятор целевого языка. Если вы выбираете Retain .rtw file на панели Configuration Parameters > Code Generation, после создания модели можно просмотреть model
.rtw
сгенерированный файл.model
.rtw
A
файл реализован как ASCII-файл пар значение параметров, хранящийся в иерархии записей. Пара имя/значение параметра задается какmodel
.rtw
ParameterName value
где ParameterName
(также называемый identifier) - имя идентификатора TLC и value
является строкой, скаляром, вектором или матрицей. Для примера в паре имя/значение параметра
NumDataOutputPorts 1
NumDataOutputPorts
- идентификатор, а 1 - его значение.
RecordName { . . . }
Запись содержит пары имя/значение параметра и/или подзаписи. Для примера эта запись содержит одну пару имя/значение параметра:
DataStores { NumDataStores 0 }
Примечание
Структура
файл с большой вероятностью изменится между релизами, что является убедительной причиной для ограничения вашего доступа к model
.rtw
к функциям библиотеки, задокументированным в разделе TLC Function Library Reference: Target Language Compiler. Для получения дополнительной информации смотрите Исключение из использования функций библиотеки, которые получают доступ к модели.rtw.model
.rtw
model
.rtw
ФайлКаждая запись создает новую scope. The
в файле используются фигурные скобки model
.rtw{
и }
для открытия и закрытия записей (или возможностей). Используя возможности, вы можете получить доступ к значениям в
файл.model
.rtw
Возможности в этом примере начинаются с CompiledModel
. Использовать периоды (.
) для доступа к значениям в конкретных возможностях. Формат
являетсяmodel
.rtw
CompiledModel { Name "modelname" -- Example of a parameter-value ... pair (record field). System { -- There is one system for each nonvirtual subsystem. Block { -- Block records for each Type "S-Function" nonvirtual block in the system. Name "<S3>/S-Function" ... Parameter { Name "P1" Value Matrix(1,2) [[1, 2];] } ... Block { } } ... System { -- The last system is for the root of your model. }
Для примера, для доступа к Name
в пределах CompiledModel
, вы бы использовали
CompiledModel.Name
Несколько записей с таким же именем образуют список, в котором индекс первой записи начинается с 0. Для доступа к вышеуказанной записи блока s-function вы бы использовали
CompiledModel.System[0].Block[0]
Для доступа к полю имен этого блока вы бы использовали
CompiledModel.System[0].Block[0].Name
Чтобы упростить этот процесс, можно использовать %with
директива, которая изменяет текущие возможности. Для примера:
%with CompiledModel.System[0].Block[0] %assign blockName = Name %endwith
blockName
будет иметь значение "<S3>/S-Function"
.
При встраивании блоков s-function ваша запись блока s-function просматривается так же, как и выше %with
директива была выполнена. Во встроенном .tlc
файл, вы должны получить доступ к полям без полного пути.
Следующий код показывает более подробный пример просмотра, где Block
запись имеет несколько пар значение параметров (Type
, Name
, Identifier
, и так далее), и три подзаписи, каждый из которых вызывался Parameter
. Block
является подзаписью System
, который является подзаписью CompiledModel
. Обратите внимание, что имена параметров в этом файле изменяются с релиза на релиз.