Этот пример показывает вам, как использовать 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')
Используйте 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
включен как часть этого файла проекта в качестве примера для вашей ссылки). Можно следовать:
В Режиме конструктора выберите и удалите компонент Axes по умолчанию.
Перейдите к Component Library на левой стороне окна. Из Component Library перетащите мышью Компонент макета Сетки под разделом Containers вместо удаленного компонента Axes. В Component Browser справа, на вкладке Inspection под Размещением Сетки, ColumnWidth
обновления и
RowHeight
свойства to '1x'
and '1x,1x'
, соответственно. Это обновляет сетку, чтобы иметь две вертикальных ячейки. Перетащите два компонента Axes от раздела Common в Component Library и разместите их в эти две ячейки сетки.
Внешние входные ссылки на UIAxes
(исходный компонент Axes), должны быть обновлены к UIAxes2
. Если вы добавили главные Оси сначала, UIAxes
относится к Logged Signals
и UIAxes2
к External Inputs
. Можно проверить переключение на Режим конструктора и проверку, которая Оси получает особое внимание, когда компонент выбран в Component Browser.
Теперь найдите и замените эти случаи в Представлении кода. Используя Find & Replace
диалоговое окно, замена UIAxes с UIAxes2 или сложениями. Если вы завершаете замены, добавьте следующий линейный код в cbkSimulate(app, event)
функция. После линии for UIAxes
: app
.SimulationHelper.UserInterface.clearGridAndLegend(app.UIAxes2).
Сохраните app.
Теперь, когда вы изменили приложение, чтобы показать две оси, можно использовать то приложение, чтобы симулировать модель. Можно затем скомпилировать и развернуть приложение. Чтобы симулировать приложение, нажмите Load Input MAT-file и выберите externalInputs.mat
файл, чтобы присоединить внешний входной сигнал к Inport 1 f14
модель. Это активирует External Input
выпадающий список и отображения загруженный сигнал, Signal.RandomStickPosition
в поле списка под выпадающим списком. Выберите загруженный сигнал отобразиться в нижнем компоненте Axes. Нажмите Simulate. После того, как симуляция завершается, эти два обновления компонентов Axes. Можно наблюдать эффект загруженного входного сигнала на регистрируемых сигналах в главных Осях.