В этом примере вы готовите модель, чтобы работать с Simulink® Compiler™, разработайте и скомпилируйте скрипт, и затем разверните его как автономное приложение.
Simulink Compiler использует быстрые цели симуляции акселератора, чтобы сгенерировать исполняемый файл, чтобы представить модель Simulink. Simulink Compiler только поддерживает модели, которые могут запуститься в быстром режиме Accelerator. Чтобы установить режим симуляции модели к быстрому акселератору, используйте параметр модели 'SimulationMode'
с SimulationInput
объект. Чтобы включить развертывание симуляции модели, ваша модель должна поддерживаться Быстрым Режимом 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
| Simulink.SimulationInput
| mcc
| deploytool
| sim