exponenta event banner

Элементы модели Trace Simulink в сгенерированном коде

Чтобы проверить сгенерированный код, Embedded Coder ® обеспечивает двунаправленную прослеживаемость между моделью Simulink ® и сгенерированным кодом. Для отслеживания можно использовать любой метод:

  • Код к модели: Созданный код отображает следующие гиперссылки в строках комментария в созданном коде:

    • Имена блоков/подсистем

    • Номера строк

    • Операторы

    Чтобы выделить соответствующий блок или подсистему в редакторе Simulink, щелкните гиперссылки.

  • В редакторе Simulink можно выбрать один или несколько блоков модели и перейти к соответствующему сгенерированному коду.

Отслеживание кода к модели

Использование гиперссылок для трассировки элементов кода к модели:

  1. Откройте модель и настройте ее как цель ERT.

  2. Создайте или создайте код для модели. По умолчанию открывается представление Код (Code) для отображения созданного кода рядом с моделью.

  3. В созданном коде наведите курсор на имена блоков в комментариях для выделения исходных блоков. Например, создайте HTML-отчет для модели rtwdemo_hyperlinks. В созданном коде для функции шага модели в rtwdemo_hyperlinks.c, наведите курсор на UnitDelay: '<Root>/X' блок. В окне модели соответствующий UnitDelay блок подсвечивается.

    Code view containing generated code is open next to the model. Mouse cursor is placed over a comment and the corresponding block is highlighted in the model.

Чтобы использовать номера строк для трассировки элементов кода к модели:

  1. В предыдущей модели rtwdemo_hyperlinksщелкните гиперссылку в строке 153. Номера строк могут отличаться от номеров, отображаемых в созданном коде.

  2. В окне модели подсистема диаграммы подсвечивается и содержит функциональные возможности в строке 153.

    In the model, Stateflow chart is highlighted.

Отслеживание скрытых блоков

Генератор кода иногда вставляет скрытые блоки во время процесса генерации кода по различным причинам, например, для поддержания целостности данных. Комментарии для скрытых блоков включаются в созданный код. Эти комментарии и код, созданный из скрытого блока, отслеживают исходный блок в модели, который вызвал вставку скрытого блока. Комментарии к скрытым блокам следуют за этим шаблоном:

/* <Hidden_Block_Type> generated from: <Hyperlinked_Original_Block_Name> */

Например,

/* SignalConversion generated from: '<Root>/Subsystem' */
  Varianttoground_B.VM_Conditional_Signal_Subsystem_0 = 0.0;
Скрытый блок SignalConversion отсутствует в модели. Вы можете отследить '<Root>/Subsystem' блок в модели, который вызвал вставку скрытого блока, щелкнув гиперссылку на '<Root>/Subsystem'. Дополнительные сведения об этом примере см. в разделе Создание кода для блоков вариантов с одним вариантом.

Прослеживаемость между моделями и кодами

Чтобы проследить элементы модели по их соответствующему сгенерированному коду:

  1. Выполните шаги 1 и 2, как в разделе Отслеживание кода к модели

  2. Создайте или создайте код для модели. Созданный код отображается в окне Просмотр кода (Code view) рядом с моделью.

  3. В окне модели щелкните элемент модели. Чтобы выбрать несколько блоков, удерживайте клавишу SHIFT и выберите дополнительные блоки.

  4. В окне просмотра кода отображается первый экземпляр выделенного кода, созданного для элемента модели. В верхней части представления «Код» цифры, которые отображаются справа от созданных имен файлов, указывают общее количество выделенных строк в каждом файле. На этом рисунке показан результат трассировки блока Unit Delay в модели rtwdemo_hyperlinks.

    Code view containing generated code is open next to the model. Mouse cursor clicks a block in the model and corresponding lines of code are highlighted in Code view.

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

При закрытии и повторном открытии модели представление «Код» не открывается до тех пор, пока не будет открыто приложение «Встроенный кодировщик». Представление «Код» может быть недоступно, поскольку Embedded Coder не может найти папку сборки для модели в текущей рабочей папке. Сбросьте текущую рабочую папку в родительскую папку существующей папки построения.

Если вы используете отчет о создании кода и хотите перезагрузить существующую информацию об отслеживании, см. раздел Перезагрузить существующую информацию об отслеживании.

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