model
.rtw
Файл и осциллографыПрограммное обеспечение генерации кода создает
файл от вашего Simulink® модель. model
.rtw
файл является частичным представлением модели, сгенерированной процессом сборки для использования целевым Языковым компилятором. Это описывает блоки, входные параметры, выходные параметры, параметры, состояния, устройство хранения данных, и другие компоненты модели и свойства из соответствующего файла модели.model
.rtw
Сгенерированный
файл вводится к Компилятору Выходного языка. Если вы выбираете Retain .rtw file из Configuration Parameters> панель Code Generation после создавания модели, можно просмотреть model
.rtw
файл, который был сгенерирован.model
.rtw
файл реализован как ASCII-файл пар значения параметров, сохраненных в иерархии записей. Название параметра / пара значения параметров задано какmodel
.rtw
ParameterName value
где ParameterName
(также названный identifier), имя идентификатора TLC и value
строка, скаляр, вектор или матрица. Например, на название параметра / пара значения параметров
NumDataOutputPorts 1
NumDataOutputPorts
идентификатор, и 1 его значение.
RecordName { . . . }
Запись содержит название параметра / пары значения параметров и/или подзаписи. Например, эта запись содержит одно название параметра / пара значения параметров:
DataStores { NumDataStores 0 }
Примечание
Структура
файл, очень вероятно, изменится между релизами, который является неопровержимым доводом, чтобы ограничить ваш доступ к model
.rtw
к библиотечным функциям, зарегистрированным в соответствии со Справочным руководством по библиотеке Функции TLC: Компилятор Выходного языка. Для получения дополнительной информации смотрите Исключение к Использованию Библиотечных функций тот доступ model.rtw.model
.rtw
model
.rtw
ФайлКаждая запись создает новый scope.
файл использует фигурные скобки 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
Имя
, Identifier
, и так далее), и три подзаписи, каждый вызвал Parameter
. Block
подзапись System
, который является подзаписью CompiledModel
. Обратите внимание на то, что названия параметра в этом файле изменяются от релиза до релиза.