exponenta event banner

Настройка модели для отладки

В диалоговом окне Параметры конфигурации (Configuration Parameters) используйте параметры на панели Диагностика (Diagnostics) и параметры отладки, чтобы настроить модель таким образом, чтобы сгенерированный код и процесс построения были настроены для отладки. Можно задать параметры, которые применяются к фазе компиляции модели, фазе генерации кода целевого языка или к тем и другим.

Параметры в следующей таблице будут полезны, если вы пишете код TLC для настройки целей, интеграции устаревшего кода или разработки новых блоков.

Кому...Выбрать...
Отображение информации о ходе создания кода в окне команд MATLAB ®

Подробное построение. Также отображаются выходные данные компилятора.

Запретить процессу построения удалять model.rtw файл из папки сборки в конце сборки

Сохранить файл .rtw. Этот параметр полезен при изменении целевых файлов. В этом случае необходимо просмотреть model.rtw файл.

Поручить профилировщику TLC проанализировать производительность кода TLC, выполняемого во время генерации кода, и создать отчетПрофиль TLC. Отчет имеет формат HTML и может быть прочитан в веб-браузере.
Запуск отладчика TLC во время создания кодаЗапустите отладчик TLC при создании кода. Либо введите аргумент -dc для параметра Системный целевой файл (System target file) на панели Создание кода (Code Generation). Чтобы запустить отладчик и запустить сценарий отладчика, введите -df filename для системного целевого файла.
Создание отчета, содержащего статистику, указывающую, сколько раз генератор кода считывает каждую строку кода TLC во время создания кодаЗапуск покрытия TLC при генерации кода. Либо введите аргумент -dg для параметра Системный целевой файл (System Target File) на панели Создание кода (Code Generation).
Остановить построение, если предоставленный пользователем файл TLC содержит %assert директива, которая вычисляет FALSE

Включить утверждение TLC. Кроме того, для управления обработкой утверждений TLC можно использовать команды MATLAB.

Чтобы включить или выключить флаг, используйте set_param команда. Значение по умолчанию - off.

set_param(model, 'TLCAssertion', 'on|off') 

Для проверки текущей настройки используйте get_param.

get_param(model, 'TLCAssertion')
Обнаружение потери настраиваемости

Определите потерю возможности настройки на панели Диагностика > Валидность данных. Этот параметр можно использовать для сообщения о потере возможности настройки, когда выражение сводится к числовому выражению. Это может произойти, если настраиваемая переменная рабочей области изменена кодом инициализации маски или используется в арифметическом выражении с неподдерживаемыми операторами или функциями. Возможные значения:

  • none - Потеря возможности настройки может произойти без уведомления.

  • warning - Потеря возможности настройки создает предупреждение (по умолчанию).

  • error - Потеря настраиваемости приводит к ошибке.

Список поддерживаемых операторов и функций см. в разделе Настраиваемые ограничения выражения

Включить блоки проверки (утверждения) модели

Включение блока проверки модели. Этот параметр используется для включения или отключения таких блоков проверки модели, как Assert, Check Static Gap и связанные блоки проверки диапазона. Диагностика применяется к сгенерированному коду и моделирующему поведению. Например, моделирование и генерация кода игнорируют этот параметр, когда блоки проверки модели находятся внутри S-функции. Возможные значения:

  • User local settings

  • Enable All

  • Disable All

Для блоков Assertion, не отключенных, сгенерированный код для модели включает одну из следующих инструкций, в зависимости от типа входного сигнала блоков (логический, вещественный или целочисленный, соответственно).

utAssert(input_signal);
utAssert(input_signal != 0.0);
utAssert(input_signal != 0);

По умолчанию utAssert не изменяет созданный код. Чтобы утверждения прерывали выполнение, необходимо включить их, указав следующее make_rtw команда для параметра «Создание кода» > «Создать команду»:

make_rtw OPTS="-DDOASSERTS"

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

make_rtw OPTS="-DDOASSERTS -DPRINT_ASSERTS"

utAssert определяется как #define utAssert(exp) assert(exp).

Чтобы настроить поведение утверждения, предоставьте собственное определение utAssert в рукописном файле заголовка, который переопределяет значение по умолчанию utAssert.h. Дополнительные сведения о включении настраиваемого файла заголовка в созданный код см. в разделе Интеграция внешнего кода с использованием параметров конфигурации модели.

При запуске модели в режиме ускорителя модуль Simulink ® выполняет возврат к себе для выполнения блоков утверждения вместо использования сгенерированного кода. Таким образом, определяемые пользователем обратные вызовы по-прежнему вызываются при сбое утверждений.

Дополнительные сведения о параметрах отладки TLC см. в разделе Отладка на компиляторе целевого языка. Также рассмотрите возможность использования Model Advisor в качестве инструмента для устранения неполадок при построениях модели.

Связанные темы