Сконфигурируйте модель для отладки

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

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

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

Многословная сборка. Выход компилятора также отображается.

Препятствуйте тому, чтобы процесс сборки удалил model.rtw файл от папки сборки в конце сборки

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

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

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

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

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

Чтобы проверять текущую установку, используйте get_param.

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

Обнаружьте потерю приспособляемости (Simulink) на Diagnostics> панель Data Validity. Можно использовать этот параметр, чтобы сообщить о потере приспособляемости, когда выражение уменьшается до числового выражения. Это может произойти, если настраиваемая переменная рабочей области изменяется кодом Инициализации Маски или используется в арифметическом выражении с неподдерживаемыми операторами или функциями. Возможные значения:

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

  • warning — Потеря приспособляемости генерирует предупреждение (значение по умолчанию).

  • error — Потеря приспособляемости генерирует ошибку.

Для списка поддерживаемых операторов и функций, смотрите Настраиваемые Ограничения Выражения

Включите верификацию модели (утверждение) блоки

Блок Model Verification, разрешающий (Simulink). Используйте этот параметр, чтобы включить или отключить блоки верификации модели те, которые Утверждают, Проверка Статический Разрыв и связанные блоки проверки диапазона. Диагностика применяется к сгенерированному коду и поведению симуляции. Например, симуляция и генерация кода игнорируют этот параметр, когда блоки верификации модели в S-функции. Возможные значения:

  • User local settings

  • Enable All

  • Disable All

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

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

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

make_rtw OPTS="-DDOASSERTS"

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

make_rtw OPTS="-DDOASSERTS -DPRINT_ASSERTS"

utAssert задан как #define utAssert(exp) assert(exp).

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

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

Для получения дополнительной информации о параметрах отладки TLC, смотрите Отладку на Компиляторе Выходного языка. Кроме того, рассмотрите использование Model Advisor как инструмента для поиска и устранения неисправностей сборок модели.

Похожие темы