Сконфигурируйте модель для генерации кода.
Примените инструменты проверки моделей, чтобы обнаружить условия и настройки строения, приводящие к генерации неточного или неэффективного кода.
Сгенерируйте код из модели.
Найдите и идентифицируйте файлы сгенерированного кода.
Просмотрите сгенерированный код.
Возможность открытия и изменения Simulink® модели и подсистемы.
Возможность задать параметры конфигурации модели.
Возможность использовать Simulink Model Advisor.
Возможность чтения кода С
Установленный, поддерживаемый компилятор C.
rtwdemo_throttlecntrl
файл модели
Параметры конфигурации модели определяют метод генерации кода и получившийся формат.
Откройте rtwdemo_throttlecntrl
и сохраните копию следующим образом throttlecntrl
в доступном для записи месте на пути MATLAB. Затем откройте приложение Simulink Coder.
Откройте диалоговое окно Параметры конфигурации (Configuration Parameters) Solver панели. Чтобы сгенерировать код для модели, вы должны сконфигурировать модель, чтобы использовать решатель с фиксированным шагом. В следующей таблице показано строение решателя для этого примера.
Параметр | Настройка | Эффект на сгенерированный код |
---|---|---|
Type | Fixed-step | Поддерживает постоянный (фиксированный) размер шага, который необходим для генерации кода |
Solver | discrete (no continuous states) | Применяет метод интегрирования с фиксированным шагом для вычисления производной состояния модели |
Fixed-step size | .001 | Устанавливает базовую ставку; должно быть самым низким общим кратным ставкам в системе |
Установите System target file параметра конфигурации модели в grt.tlc
.
Примечание
Для строение GRT (Generic Real-Time Target) требуется решатель с фиксированным шагом. Однако rsim.tlc
системный целевой файл поддерживает генерацию кода переменного шага.
Системный целевой файл определяет окружение для генерации и создания кода для выполнения на определенном оборудовании или платформе операционной системы. Для примера одним свойством системного целевого файла является значение для CodeFormat
Переменная TLC. Строение GRT требуется решатель с фиксированным шагом, и rsim.tlc поддерживает генерацию кода переменного шага.
Установите параметр конфигурации модели Include directories следующим образом:
"$matlabroot$\toolbox\rtw\rtwdemos\EmbeddedCoderOverview\"
Эта папка включает файлы, которые необходимы для создания исполняемого файла для модели.
Закройте диалоговое окно Параметры конфигурации модели (Model Configuration Parameters).
Можно сохранить настройки параметров конфигурации модели как MATLAB® функцию при помощи getActiveConfigSet
функция. В Командном Окне MATLAB введите:
thcntrlAcs = getActiveConfigSet('throttlecntrl'); thcntrlAcs.saveAs('throttlecntrlModelConfig');
Затем можно использовать получившуюся функцию (для примера, throttlecntrlModelConfig
Кому:
Архивируйте строение модели.
Сравните различные строения модели с помощью инструментов дифференцирования.
Установите строение других моделей.
Для примера можно задать строение модели myModel
для соответствия строения дроссельных моделей контроллеров открытием myModel
и ввод:
myModelAcs = throttlecntrlModelConfig; attachConfigSet('myModel', myModelAcs, true); setActiveConfigSet('myModel', myModelAcs.Name);
Для получения дополнительной информации смотрите Сохранить конфигурацию модели и Загрузить сохранённую конфигурацию модели.
Перед генерацией кода для модели используйте Simulink Model Advisor, чтобы проверить модель на условия и настройки строения. Эта проверка обнаруживает проблемы, которые могут привести к неточному или неэффективному коду.
Откройте throttlecntrl
модели. Затем откройте приложение Simulink Coder.
Запустите Model Advisor. На вкладке C Code нажмите C/C++ Code Advisor. Откроется диалоговое окно, показывающее иерархию системы модели.
Нажмите rtwdemo_throttlecntrl
а затем нажмите OK. Откроется окно Model Advisor.
На правой панели выберите Run this check. Отчет показывает Run Summary, которая флагами проверяет предупреждения.
Просмотрите отчет. Предупреждения освещают проблемы. На данной точке их можно игнорировать. Для получения дополнительной информации об отчетах смотрите View Model Advisor Check Reports.
Откройте throttlecntrl
. Затем откройте приложение Simulink Coder.
Выберите Generate code only параметра конфигурации модели.
Выберите параметр конфигурации модели Create code generation report и нажмите Apply.
Сгенерируйте код.
Сообщения отображаются в средстве просмотра. Генератор кода создает стандартные файлы C и заголовки, а также отчет о HTML генерации кода. Генератор кода помещает файлы в папку сборки, подпапку с именем throttlecntrl_grt_rtw
в текущей рабочей папке.
В отчете о генерации кода щелкните ссылку для сгенерированного файла модели C и проверьте сгенерированный код. Проверьте следующие элементы в отчете:
Идентификация, версия, временная метка и комментарии к строению.
Ссылки, которые помогают вам перемещаться внутри файлов и между ними
Определения данных
Код планировщика
Код контроллера
Моделируйте функции инициализации и завершения
Вызов интерфейса для целевого файла системы GRT - выход, обновление, инициализация, запуск и завершение
Сохраните и закройте throttlecntrl
модели.
Рассмотрите следующие файлы. На панели Contents отчета генерации кода щелкните ссылки.
Файл | Описание |
---|---|
throttlecntrl.c | Файл C, содержащий код планировщика, контроллера, инициализации и интерфейса |
throttlecntrl_data.c | Файл C, который присваивает значения сгенерированным структурам данных |
throttlecntrl.h | Заголовочный файл, который определяет структуры данных |
throttlecntrl_private.h | Заголовочный файл, который определяет данные, используемые только сгенерированным кодом |
throttlecntrl_types.h | Заголовочный файл, который определяет структуру данных моделей |
Дополнительные сведения см. в разделе Управление зависимостями файла процесса сборки.
На данной точке рассмотрите регистрацию данных в MAT-файле. Для получения примера смотрите Логгирование данных для анализа.
Откройте throttlecntrl
. Затем откройте приложение Simulink Coder.
Очистите Generate code only параметра конфигурации модели и нажмите Apply.
Создайте модель. Просмотрите сообщения в Средство Просмотра. Генератор кода использует файл создания шаблона, сопоставленный с выбором вашего системного целевого файла, чтобы создать исполняемый файл. Вы можете запустить эту программу на своей рабочей станции, независимо от внешнего времени и событий.
Проверьте рабочую папку на наличие файла throttlecntrl.exe
.
Запустите исполняемый файл. В Командном окне введите !throttlecntrl
. The !
символ передает команду, которая следует за ней, операционной системе, которая запускает автономную программу.
Программа производит одну линию вывода в Командном окне:
** starting the model **
На данной точке рассмотрите регистрацию данных в MAT-файле. Для получения примера смотрите Логгирование данных для анализа.
Совет
Для UNIX® платформы, запустите исполняемую программу в Командном окне с синтаксисом !./
executable_name
. При желании запустите исполняемую программу из интерпретатора ОС с синтаксисом ./
executable_name
. Для получения дополнительной информации см. раздел «Запуск внешних команд, скриптов и программ».
Чтобы сгенерировать код, измените строение модели, чтобы задать решатель с фиксированным шагом, а затем выберите системный целевой файл. Использование grt.tlc
для файла требуется решатель с фиксированным шагом. Если модель содержит непрерывные временные блоки, можно использовать решатель с переменной rsim.tlc
системный целевой файл.
После отладки модели рассмотрите конфигурирование модели с включенным встраиванием параметра.
Используйте getActiveConfigSet
функция для сохранения строения модели для будущего использования или для применения ее к другой модели.
Перед генерацией кода рассмотрите проверку модели с помощью Model Advisor.
Генератор кода помещает сгенерированные файлы в подпапку (модель _grt_rtw
) вашей рабочей папки.