Stateflow® использует Just-In-Time (JIT) режим компиляции, чтобы улучшить эффективность обновления модели для большинства графиков в Simulink® модели. Stateflow применяет JIT-режим к графикам, которые удовлетворяют требованиям. Для графика в режиме JIT Stateflow генерирует механизм выполнения в памяти для симуляции. Для этих графиков Stateflow не генерирует код С или файл MEX для симуляции графика. JIT-режим обеспечивает лучшую эффективность во время компиляции модели.
Некоторые графики не подходят для режима JIT, например, графиков с логгированием сигналов.
Модели Stateflow включают поддержку отладки для симуляции. Чтобы получить оптимальную эффективность, отключите отладку с помощью этой команды:
sfc('coder_options', 'forceDebugOff', 1);
Когда вы запускаете эту команду, диаграммы Stateflow не имеют поддержки отладки или проверки ошибок времени выполнения.
Примечание
Когда вы отключаете отладку, анимация также отключается.
Чтобы симулировать модель быстрее, в диалоговом окне Параметры конфигурации модели (Model Configuration Parameters) на панели Simulation Target снимите флажки для этих параметров:
Echo expressions without semicolons - отключение выхода во время выполнения в MATLAB® Командное окно, например действия, которые не заканчиваются точкой с запятой, снимите этот флажок.
Ensure responsiveness - Чтобы отключить возможность выхода из длительного выполнения с помощью Ctrl + C, снимите этот флажок.
Нажмите OK.
Используйте эти советы для дальнейшего ускорения симуляции:
Во время симуляции модели любые открытые графики с включенной анимацией выполняются дольше. Если держать все графики закрытыми, симуляция выполняется быстрее.
Во время симуляции модели любые открытые графики с включенным предпросмотром содержимого выполняются дольше. Если отключить предварительный просмотр содержимого, симуляция выполняется быстрее. Чтобы отключить предпросмотр содержимого, выберите график, на которой включен предпросмотр содержимого. На вкладке State Chart нажмите Content Preview.
Во время симуляции модели любые открытые блоки Scope постоянно обновляют свое отображение. Если вы сохраняете все блоки Scope закрытыми, можно ускорить симуляцию. После окончания симуляции можно открыть блоки Scope, чтобы просмотреть результаты.
Если ваша модель содержит несколько графиков, которые не используют режим JIT и содержат одни и те же элементы, можно сгенерировать несколько копий идентичного кода симуляции. При помощи библиотечных графиков можно минимизировать количество копий идентичного кода симуляции. Например, использование пяти библиотечных графиков сокращает количество одинаковых копий с пяти до одного.
Для получения дополнительной информации см. раздел «Создание специализированных библиотек графиков для крупномасштабного моделирования».