Программное взаимодействие с режимами ускорения

Зачем взаимодействовать программно?

Можно создать ускоренную модель, выбрать режим симуляции и запустить симуляцию из командной строки или из MATLAB® скрипт. С помощью этой гибкости можно создать файлы MEX режима Accelerator в пакетном режиме, что позволит вам создать код С и исполняемый файл перед запуском симуляций. Когда вы используете режим Accelerator в интерактивном режиме в более позднее время, не будет необходимости генерировать или компилировать файлы MEX в начале ускоренных симуляций.

Создайте JIT Accelerated Execution Engine

С accelbuild команда, можно создать JIT ускоренный механизм выполнения без фактической симуляции модели. Для примера, чтобы создать симуляцию режима Accelerator myModel:

accelbuild myModel

Симуляция управления

Вы можете управлять режимом симуляции из командной строки при помощи set_param команда:

set_param('modelname','SimulationMode','mode')

Режим симуляции может быть normal, accelerator, rapid, или external.

Для примера, чтобы симулировать модель с режимом Accelerator, вы бы использовали:

set_param('myModel','SimulationMode','accelerator')
Однако предпочтительным методом является задание режима симуляции в sim команда:
simOut = sim('myModel', 'SimulationMode', 'accelerator');

Можно использовать bdroot задать параметры для текущей активной модели (то есть активного окна модели), а не modelname если вы не хотите явным образом задавать имя модели.

Для примера, чтобы симулировать текущую открытую систему в режиме Rapid Accelerator, вы будете использовать:

simOut = sim(bdroot,'SimulationMode','rapid');

Симулируйте свою модель

Можно использовать set_param сконфигурировать параметры модели (такие как режим симуляции и время остановки) и использовать sim команда для запуска симуляции:

sim('modelname', 'ReturnWorkspaceOutputs', 'on');

Однако предпочтительным методом является конфигурирование параметров модели непосредственно с помощью sim команда, как показано в предыдущем разделе.

Можно заменить gcs для modelname если вы не хотите явным образом задавать имя модели.

Если целевой код не был уже сгенерирован, sim команда сначала создает исполняемый файл, а затем запускает симуляцию. Однако, если целевой код уже был сгенерирован и никаких существенных изменений в модель не было внесено (см. Описание регенерации кода в Accelerated Моделей), sim команда выполняет сгенерированный код без регенерации кода. Этот процесс позволяет вам запустить модель после внесения простых изменений, не дожидаясь восстановления модели.

Пример симуляции

Следующая последовательность показывает, как программно моделировать myModel в режиме Rapid Accelerator в течение 10 000 секунд.

Первый открытый myModel, а затем введите в Командное окно следующее:

simOut = sim('myModel', 'SimulationMode', 'rapid'...
'StopTime', '10000');

Используйте sim снова команда для симуляции после внесения изменения в модель. Если изменение незначительно (корректировка усиления блока усиления, для образца), симуляция запусков без регенерации кода.

Настройте процесс сборки ускорения

Можно программно управлять процессом сборки режимов Accelerator и Rapid Accelerator и объемом информации, отображаемой в процессе сборки. Для получения дополнительной информации о том, почему это может быть выгодно, см. раздел Настройка процесса сборки.

Управление процессом сборки

Использование SimCompilerOptimization задать степень оптимизации, используемую компилятором при генерации кода для ускорения. Допустимые значения on или off. Значение по умолчанию является off.

Введите в командной строке следующее, чтобы включить оптимизацию компилятора:

set_param('myModel', 'SimCompilerOptimization', 'on')

Когда SimCompilerOptimization установлено в on в ускоренном режиме JIT время симуляции для некоторых моделей улучшается, в то время как время сборки может стать медленнее.

Управление подробностями во время генерации кода

Используйте AccelVerboseBuild параметр для отображения информации о прогрессе во время генерации кода. Допустимые значения on или off. Значение по умолчанию является off.

Введите в командной строке следующее, чтобы включить подробную сборку:

set_param('myModel', 'AccelVerboseBuild', 'on')

Похожие примеры

Подробнее о