Сгенерируйте и разверните приложение MATLAB для модели

Этот пример показывает вам, как использовать simulink.compiler.genapp функция, чтобы сгенерировать приложение MATLAB для модели, которая развертываема. Обычно, когда модель Simulink функционально завершена, она часто используется, чтобы запустить несколько симуляций различные входные значения и значения параметров. Чтобы попробовать симуляции за вашу модель с различными входными значениями и значениями параметров, можно сгенерировать Приложение MATLAB. Можно также развернуть это сгенерированное приложение для использования за пределами MATLAB.

Этот пример иллюстрирует использование simulink.compiler.genapp функция, чтобы сгенерировать приложение начинающего для модели f14, использование сгенерированного приложения, чтобы настроить параметры модели и симулировать его, и настройка приложения в App Designer MATLAB.

Откройте модель

simulink.compiler.example.AppGeneration команда загружает проект в качестве примера на вашем пути. Этот проект содержит все файлы, требуемые для этого примера включая модель. Откройте модель f14.

simulink.compiler.example.AppGeneration;
open_system(f14)

Сгенерируйте приложение MATLAB для модели

Используйте simulink.compiler.genapp функция, чтобы сгенерировать приложение для f14 модель. Выполнение simulink.compiler.genapp функция с именем модели в качестве аргумента генерирует Приложение под названием f14app. Simulink Compiler использует шаблон по умолчанию, чтобы сгенерировать приложение. Сгенерированное приложение обеспечивает способность настроить параметры и симулировать модель, для которой сгенерировано приложение. Сгенерированное приложение также предоставляет график результатов симуляции. Все файлы сгенерированы в f14app директория.

simulink.compiler.genapp('f14', 'AppName', 'f14app');

После генерации приложения Нажмите Simulate, чтобы симулировать приложение.

Наряду с приложением, сгенерированы следующие артефакты:

  • f14app.mlapp файл - Этот файл содержит код для сгенерированного приложения. Откройте этот файл в App Designer для редактирования.

  • Файлы начиная с default префикс - Функции, возвращающие значения по умолчанию, используемые приложением такой как, имя модели, пропорция изображения модели, файл изображения модели и входное имя MAT-файла.

  • Изображение модели, (f14app_image.svg ) - Изображение модели Simulink.

  • Входные параметры используются в симуляции (f14app_inputs.mat ) - MAT файл, содержащий все входные параметры, которые используются в симуляции модели.

  • Приложение помечает файл setLabels.m - Определение файла помечает содержимое.

  • Логотип Simulink по умолчанию (SimulinkLogo.png ) - Файл, используемый в качестве заполнителя для изображения модели.

  • pragma.m направляющий файл - Файл, используемый Simulink Compiler, чтобы сгенерировать развертываемое приложение.

  • Набор функций MATLAB как M-файлы - Файлы, что использование приложения, чтобы управлять пользовательским интерфейсом приложения.

Скомпилируйте и разверните сгенерированное приложение

Можно использовать App Designer MATLAB, чтобы скомпилировать и развернуть приложение. Можно также использовать deploytool. Для получения дополнительной информации о компиляции и развертывании с App Designer, смотрите, Разрабатывают Приложения Используя App Designer, Веб-приложения и Application Compiler.

В этом примере мы компилируем приложение с mcc команда сопровождается именем приложения.

mcc -m f14App

Настройте сгенерированное приложение

Можно также настроить сгенерированное приложение. Чтобы настроить приложение, используйте Дизайнер приложений. Сгенерированное приложение f14 является типовым, но это позволяет, вы к eailiy настраиваете его в App Designer. В этом разделе мы собираемся заменить одну ось в сгенерированном приложении с двумя осями. Откройте сгенерированное приложение в дизайнере приложений.

appdesigner('f14app');

Идея индивидуальной настройки состоит в том, чтобы заменить компонент Axes на два компонента Axes. Чтобы получить два компонента Axes, используйте сетку с двумя строками и одним столбцом и размещением этих двух компонентов в ячейках сетки (индивидуально настраиваемое приложение, f14customapp включен как часть этого файла проекта в качестве примера для вашей ссылки). Можно следовать:

  1. В Режиме конструктора выберите и удалите компонент Axes по умолчанию.

  2. Перейдите к Component Library на левой стороне окна. Из Component Library перетащите мышью Компонент макета Сетки под разделом Containers вместо удаленного компонента Axes. В Component Browser справа, на вкладке Inspection под Размещением Сетки, ColumnWidth обновления и RowHeight свойства to '1x' and '1x,1x', соответственно. Это обновляет сетку, чтобы иметь две вертикальных ячейки. Перетащите два компонента Axes от раздела Common в Component Library и разместите их в эти две ячейки сетки.

  3. Внешние входные ссылки на UIAxes (исходный компонент Axes), должны быть обновлены к UIAxes2. Если вы добавили главные Оси сначала, UIAxes относится к Logged Signals и UIAxes2 к External Inputs. Можно проверить переключение на Режим конструктора и проверку, которая Оси получает особое внимание, когда компонент выбран в Component Browser.

  4. Теперь найдите и замените эти случаи в Представлении кода. Используя Find & Replace диалоговое окно, замена UIAxes с UIAxes2 или сложениями. Если вы завершаете замены, добавьте следующий линейный код в cbkSimulate(app, event) функция. После линии for UIAxes: app.SimulationHelper.UserInterface.clearGridAndLegend(app.UIAxes2).

  5. Сохраните app.

Используйте модифицированное приложение, чтобы симулировать модель

Теперь, когда вы изменили приложение, чтобы показать две оси, можно использовать то приложение, чтобы симулировать модель. Можно затем скомпилировать и развернуть приложение. Чтобы симулировать приложение, нажмите Load Input MAT-file и выберите u.mat файл, чтобы присоединить внешний входной сигнал к Inport 1 f14 модель. Это активирует External Input выпадающий список и отображения загруженный сигнал, Signal.RandomStickPosition в поле списка под выпадающим списком. Выберите загруженный сигнал отобразиться в нижнем компоненте Axes. Нажмите Simulate. После того, как симуляция завершается, эти два обновления компонентов Axes. Можно наблюдать эффект загруженного входного сигнала на регистрируемых сигналах в главных Осях.

Для просмотра документации необходимо авторизоваться на сайте