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 изменяется.