В этом примере вы готовите модель для работы с Simulink® Compiler™, разрабатывайте и компилируйте скрипт, а затем развертывайте его как автономное приложение.
Simulink Compiler использует цели симуляции быстрого ускорения, чтобы сгенерировать исполняемый файл для отправки модели Simulink. Simulink Compiler поддерживает только модели, которые могут запускаться в быстрых режимах Accelerator. Чтобы задать режим симуляции модели на быстрый ускоритель, используйте параметр модели 'SimulationMode'
с SimulationInput
объект. Чтобы включить симуляцию развертывание модели, ваша модель должна быть правильно поддержана режимом Rapid Accelerator.
Simulink Compiler поддерживает только sim
синтаксис функции, который принимает Simulink.SimulationInput
объект и возвращает Simulink.SimulationOutput
объект.
Если коллбэки присутствуют в модели, они вызываются во время сборки приложения. Однако после развертывания приложения или скрипта эти коллбэки не вызываются.
После подготовки модели напишите скрипт, который вы хотели бы развернуть. В этом примере мы используем модель и меняем один из настраиваемых параметров в скрипте.
В MATLAB® Редактор, создайте функцию deployedScript
. В этой функции создайте Simulink.SimulationInput
объект для модели, sldemo_suspn_3dof
и измените значение Mb
с setVariable
метод Simulink.SimulationInput
объект. Чтобы убедиться, что модель запусков в быстрых режимах Accelerator, установите SimulationMode
на Rapid
через setModelParameter
метод Simulink.SimulationInput
объект или использовать simulink.compiler.configureForDeployment
функция, как показано ниже.
Переменные, измененные в симуляциях, могут находиться в базовом рабочем пространстве или в верхнем рабочем пространстве модели. Если ваша модель использует внешние входные переменные, эти переменные должны быть в рабочем пространстве MATLAB перед упаковкой для развертывания.
function deployedScript() in = Simulink.SimulationInput('sldemo_suspn_3dof'); in = in.setVariable('Mb', 1000); in = simulink.compiler.configureForDeployment(in); out = sim(in); end
Сохраните функцию как deployedScript.m
.
Перед компиляцией скрипта, который вы хотите развернуть, убедитесь, что файлы для модели и скрипта, в этом случае sldemo_suspn_3dof
и deployedScript.m
, включены в путь поиска файлов MATLAB. Чтобы скомпилировать скрипт, используйте mcc
команда с именем скрипта. Чтобы узнать больше о mcc
команда, см. mcc
.
mcc -m deployedScript.m
Simulink Compiler автоматически упаковывает зависимости в модель и развернутые скрипты. Если команда mcc
не удается найти зависимость, возможно, вы увидите ошибки.
Если вы увидите ошибку "Не удается разрешить имя Simulink.SimulationInput
, "проверить, что модель находится на пути.
Если зависимые файлы находятся в другой директории, прикрепите их с помощью флага -a
. Для примера, mcc -m scriptName.m -a myDataFile.dat
.
Чтобы запустить развернутый исполняемый файл, вам нужна соответствующее окружение выполнения. Для установки среды MATLAB Runtime смотрите https://www.mathworks.com/products/compiler/matlab-runtime.html.
Запускать развернутое приложение можно только на той платформе, на которой было разработано развернутое приложение.
Запустите развернутое приложение из командной строки Windows. Выполнение развернутого приложения из командной строки позволяет приложению печатать диагностические сообщения в командной строке при возникновении ошибок. Эти сообщения могут быть полезным инструментом в устранении неполадок.
configureForDeployment
| deploytool
| mcc
| sim
| Simulink.SimulationInput