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

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

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

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

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

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

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

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

Процесс

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

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

  2. Отобразите диалоговое окно Configuration Parameters.

  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 Файл

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

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

Создайте конечный файл

Примечание

Следующее осуществление обеспечивается, чтобы дать концептуальный обзор как .rtw файл используется в процессе сборки. Генератор кода не поддерживает вручную вызов TLC с .rtw файл создается из более ранней сборки. Кроме того, содержимое .rtw файл не документирован и подлежит изменению. 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 в панели Code Generation диалогового окна Configuration Parameters.

В этом примере вы генерируете .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. -r опция говорит TLC, что это должно использовать файл basic.rtw как .rtw файл. Обратите внимание на то, что пробел должен разделить -r и входное имя файла. -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.

Похожие темы