Процесс сборки

Обзор процесса сборки

TLC компилирует файлы, написанные на целевом языке. Целевой язык является интерпретированным языком, и компилятор работает с исходными файлами каждый раз, когда он выполняется. Можно изменить целевой файл и наблюдать эффекты изменения при следующем построении модели. Вам не нужно перекомпилировать TLC-двоичный или другой большой двоичный файл, чтобы увидеть изменения.

Поскольку целевой язык является интерпретированным языком, некоторые операторы могут не компилироваться и не выполняться (и, следовательно, не проверяться компилятором). Для примера:

%if 1
   Hello
%else
   %<Invalid_function_call()>
%endif

В этом примере Invalid_function_call оператор не выполняется. В этом примере подчеркивается, что вы должны протестировать код TLC с тестами, которые выполняют каждую строку.

Создайте и используйте файл целевого языка

Этот пример создает файл целевого языка, который генерирует определенный текст из модели. Он показывает последовательность шагов, которым вы должны следовать при создании и использовании собственных файлов целевого языка.

Процесс

Чтобы начать, создайте Simulink® модель, показанная на следующем рисунке.

  1. Сохраните новую модель в рабочей папке как basic.

  2. Откройте диалоговое окно Параметров конфигурации.

  3. Выберите панель Solver.

  4. На панели Solver:

    1. Выберите Fixed-step в поле Type.

    2. Выберите discrete (no continuous states) в поле Solver.

    3. В разделе Additional options задайте 0.1 в поле Fixed-step size. (В противном случае генератор кода выводит предупреждение и выдает значение при генерации кода.)

  5. Нажмите Apply.

  6. Выберите панель Code Generation.

  7. Выберите Retain .rtw file, затем нажмите Apply. Этот шаг позволяет вам просмотреть содержимое model.rtw файл после концов сборки.

  8. Выберите Generate code only, затем нажмите OK.

  9. Создайте модель.

Процесс сборки генерирует код в basic_grt_rtw папка. Прогресс можно увидеть в MATLAB® Командное окно. Когда генерация кода завершена, выводится следующее сообщение:

### Successful completion of code generation for model: basic

slbuild Команда

Призвать slbuild путем нажатия Ctrl+B в окне модели. Однако некоторые обстоятельства требуют от вас выполнения slbuild непосредственно из подсказки MATLAB.

Чтобы сгенерировать model.rtw файл из подсказки MATLAB, введите:

slbuild('model')

Можно задать другие опции, slbuild которые строят или перестраивают модель-ссылку симуляции целевые объекты или независимый исполняемый файл. Для получения дополнительной информации введите:

help slbuild

в подсказке MATLAB или см. slbuild в документации Simulink.

Просмотр basic.rtw Файл

A model.rtw файл содержит иерархию маркированных записей и полей. Каждая запись разделена скобками и содержит подчиненные записи и/или поля. В метках указывается назначение каждой записи и поля. Записи и поля в model.rtw файл, созданный для модели, описывает различные детали модели и Параметра конфигурации настройки, которые определяют ее контекст.

Откройте файл ./basic_grt_rtw/basic.rtw, в MATLAB или текстовом редакторе.

Создайте целевой файл

Примечание

Следующее упражнение предназначено для концептуального обзора того, как .rtw Файл используется в процессе сборки. Генератор кода не поддерживает ручной вызов TLC со .rtw файл, созданный из более ранней сборки. Кроме того, содержимое .rtw файл не имеет документов и может быть изменен. The basic.tlc файл показывает, как информация предоставляется в .rtw файл, который можно получить с помощью файлов TLC и выполнить как часть процесса сборки.

Далее создайте basic.tlc файл, для действия в качестве целевого файла для этой модели. Вместо генерации кода просто отобразите некоторую информацию о модели с помощью этого файла. Концепция такая же, как используется в генерации кода.

Создайте файл с именем basic.tlc в папке, содержащей basic. Этот файл должен содержать следующие линии:

%with CompiledModel  

My model is called %<Name>.
It was generated on %<GeneratedOn>.
It has %<NumModelOutputs> output(s) and %<NumContStates> continuous state(s).

%endwith

Примечание

В процессе сборки .tlc файл, указанный в командной строке при вызове TLC (для примера, grt.tlc) называется системным целевым файлом (STF). Его можно выбрать с помощью опции System target file browser на панели Code Generation диалогового окна Параметров конфигурации.

В этом примере вы генерируете .rtw файл как часть процесса сборки, а затем вручную запустите TLC с помощью файла basic.tlc в качестве примера STF. basic.tlc иллюстрирует (в ограниченном объеме), как .rtw информация о файле используется для генерации примера выхода. Для этого введите в подсказку MATLAB:

slbuild('basic') 
tlc -r basic_grt_rtw/basic.rtw basic.tlc -v

Первая линия генерирует .rtw файл в папке сборки 'basic_grt_rtw'. Этот шаг является ненужным, поскольку файл уже был сгенерирован на предыдущем шаге. Однако это полезно, если модель изменена и операция должна быть повторена.

Вторая линия запускает TLC на файле basic.tlc. The -r опция сообщает TLC, что он должен использовать файл basic.rtw как .rtw файл. Обратите внимание, что пространство должно разделять -r и имя файла входа. The -v опция указывает, что TLC является подробным в отчетности о своей деятельности.

Выходные выходы этой пары команд (дата будет отличаться):

My model is called basic.
It was generated on Wed Jun 22 20:51:11 2005.
It has 1 output(s) and 0 continuous state(s).

Можно также попробовать изменить модель (для образца, используя rand(2,2) как значение для постоянного блока), а затем повторение процесса, чтобы увидеть, как изменяется выход TLC.

Похожие темы