exponenta event banner

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

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

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

Сборка механизма ускоренного выполнения JIT

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

accelbuild myModel

Моделирование управления

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

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

Режим моделирования может быть normal, accelerator, rapid, или external.

Например, чтобы смоделировать модель в режиме ускорителя, необходимо использовать:

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

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

Например, для моделирования текущей открытой системы в режиме ускорителя Rapid используется следующее:

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

Моделирование модели

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

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

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

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

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

Пример моделирования

В следующей последовательности показано, как программно моделировать myModel в режиме ускорителя в течение 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')

Связанные примеры

Подробнее