TLC компилирует файлы, записанные на выходном языке. Выходной язык является интерпретированным языком, и компилятор работает с исходными файлами каждый раз, когда это выполняется. Можно изменить конечный файл и смотреть эффекты изменения в следующий раз, когда вы создаете модель. Вы не должны перекомпилировать двоичный файл TLC или другой большой двоичный файл, чтобы видеть изменения.
Поскольку выходной язык является интерпретированным языком, некоторые операторы не могут быть скомпилированы или выполнены (и следовательно не проверенные компилятор). Например:
%if 1 Hello %else %<Invalid_function_call()> %endif
В этом примере, Invalid_function_call
оператор не выполняется. Этот пример подчеркивает, что необходимо протестировать код TLC с тестами, которые выполняют каждую линию.
Этот пример создает файл выходного языка, который генерирует определенный текст из модели. Это показывает последовательность шагов, что необходимо следовать в создании и использовании собственных файлов выходного языка.
Чтобы начаться, создайте модель Simulink®, показанную на следующем рисунке.
Сохраните новую модель в рабочей папке как basic
.
Отобразите диалоговое окно Configuration Parameters.
Выберите панель Solver.
В панели Solver:
Выберите Fixed-step
в поле Type.
Выберите discrete (no continuous states)
в поле Solver.
Под Additional options задайте 0.1
в поле Fixed-step size. (В противном случае генератор кода отправляет предупреждение и предоставляет значение, когда вы генерируете код.)
Нажмите Apply.
Выберите панель Code Generation.
Выберите Retain .rtw file, затем нажмите Apply. Этот шаг позволяет вам смотреть содержимое
файл после сборки заканчивается.model
.rtw
Выберите Generate code only, затем нажмите OK.
Создайте модель.
Процесс сборки генерирует код в basic_grt_rtw
папка. Вы видите прогресс в Командном окне MATLAB®. Когда генерация кода завершена, после сообщения отображен:
### Successful completion of code generation for model: basic
slbuild
КомандаВызов slbuild
путем нажатия Ctrl+B в окне модели. Однако некоторые обстоятельства требуют, чтобы вы выполнились slbuild
непосредственно от подсказки MATLAB.
Сгенерировать
файл от подсказки MATLAB, введите:model
.rtw
slbuild('model')
Можно задать другие опции к slbuild
та сборка или восстанавливает цели симуляции модели - ссылки или независимый исполняемый файл. Для получения дополнительной информации введите:
help slbuild
в подсказке MATLAB или смотрите slbuild
в документации Simulink.
basic.rtw
Файл
файл содержит иерархию помеченных записей и полей. Каждая запись разграничена скобками и содержит зависимые записи и/или поля. Метки формулируют цель каждой записи и поля. Записи и поля в model
.rtw
файл, созданный для модели, описывает различные детали модели и настроек Configuration Parameter, которые задают его контекст.model
.rtw
Откройте файл ./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.