В этом примере показано, как использовать simulink.compiler.genapp
функция для генерации приложения MATLAB для модели, которая может быть развернута. Обычно, когда модель Simulink функционально завершена, она часто используется, чтобы запустить несколько симуляций с различными значениями входных параметров и параметров. Чтобы попробовать симуляции для вашей модели с различными входными и значениями параметров, можно сгенерировать MATLAB App.Вы также можете развернуть это сгенерированное приложение для использования вне MATLAB.
Этот пример иллюстрирует использование simulink.compiler.genapp
функция для генерации стартового приложения для модели f14,
использование сгенерированного приложения для настройки параметров модели и симуляции его и настройка приложения в MATLAB App Designer.
The 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
file -- Этот файл содержит код для сгенерированного приложения. Откройте этот файл в App Designer для редактирования.
Файлы, начинающиеся с default
префикс - функции, возвращающие значения по умолчанию, используемые приложением, такие как, имя модели, соотношение сторон изображения модели, файл изображения модели и входное имя MAT-файла.
Моделируйте изображение, (f14app_image.svg
) -- Изображение модели Simulink.
Входные параметры, используемые в симуляции (f14app_inputs.mat
) -- MAT
файл, содержащий все входы, которые используются в симуляции модели.
Файл меток приложений setLabels.m
-- Файл, задающий содержимое метки.
Логотип Simulink по умолчанию (SimulinkLogo.png
) - Файл, используемый в качестве заполнителя для изображения модели.
pragma.m
directives file - Файл, используемый Simulink Compiler для генерации развертываемого приложения.
Набор функций MATLAB как M-файлы -- Файлы, которые приложение использует для управления пользовательским интерфейсом приложения.
Для компиляции и развертывания приложения можно использовать MATLAB App Designer. Можно также использовать deploytool
. Дополнительные сведения о компиляции и развертывании с помощью App Designer см. в разделе Разработка приложений с использованием App Designer, Веб-приложений и Application Compiler.
В этом примере мы компилируем приложение с mcc
команда, за которой следует имя приложения.
mcc -m f14App
Вы также можете настроить сгенерированный приложение. Чтобы настроить приложение, используйте Дизайнера приложений. Сгенерированное приложение f14
является обобщенным, но позволяет подгонять его в App Designer. В этом разделе мы собираемся заменить одну ось в сгенерированном приложении двумя осями. Откройте сгенерированное приложение в дизайнере приложений.
appdesigner('f14app');
Идея индивидуальной настройки состоит в том, чтобы заменить компонент Axes двумя компонентами Axes. Чтобы получить два компонента Axes, используйте сетку с двумя строками и одним столбцом и поместите эти два компонента в камеры сетки (настраиваемое приложение f14customapp
включен как часть этого примера для вашей ссылки). Вы можете следовать:
В Design View выберите и удалите компонент Axes по умолчанию.
Перейдите в Component Library в левой части окна. Из Component Library перетащите компонент Grid Размещения под раздел Containers вместо удаленных Компонентов Axes. В Component Browser справа на вкладке «Проверка» в Размещение «Сетка» обновите ColumnWidth
и RowHeight
свойства для '1x'
и '1x,1x'
, соответственно. Это обновляет сетку так, чтобы она имела две вертикальные камеры. Перетащите мышью два Компонентов Axes из общего сечения в Component Library и поместите их в две сетки камер.
Внешний вход ссылается на UIAxes
(исходный компонент Axes) необходимо обновить до UIAxes2
. Если вы сначала добавили верхнюю ось, UIAxes
относится к Logged Signals
и UIAxes2
на External Inputs
. Можно проверить путем переключения на Design View и проверки того, какая ось получает особое внимание при выборе компонента в Component Browser.
Теперь найдите и замените эти вхождения в представлении кода. Использование Find & Replace
диалоговое окно, замените UIAxes на UIAxes2 или сложения. Когда вы завершите замену, добавьте следующий код линии к cbkSimulate(app, event)
функция. После линии для UIAxes
: app
. SimulationHelper.UserInterface.clearGridAndLegend(app.UIAxes2).
Сохраните приложение .
Теперь, когда вы изменили приложение, чтобы показать две оси, вы можете использовать это приложение, чтобы симулировать модель. Затем можно скомпилировать и развернуть приложение. Чтобы симулировать приложение, нажмите Загрузить Входной MAT-файл и выберите u.mat
файл для присоединения внешнего входного сигнала к входному порту 1 f14
модель. Это активирует External Input
выпадающий список и отображения загруженного сигнала, Signal.RandomStickPosition
в поле списка под выпадающий список. Выберите загруженный сигнал для отображения в нижнем компоненте Axes. Нажмите Simulate. После завершения симуляции обновляются два компонента Axes. Можно наблюдать эффект загруженного входного сигнала на записанных сигналах в верхней Оси.