Чтобы проверить сгенерированный код, Embedded Coder ® обеспечивает двунаправленную прослеживаемость между моделью Simulink ® и сгенерированным кодом. Для отслеживания можно использовать любой метод:
Код к модели: Созданный код отображает следующие гиперссылки в строках комментария в созданном коде:
Имена блоков/подсистем
Номера строк
Операторы
Чтобы выделить соответствующий блок или подсистему в редакторе Simulink, щелкните гиперссылки.
В редакторе Simulink можно выбрать один или несколько блоков модели и перейти к соответствующему сгенерированному коду.
Использование гиперссылок для трассировки элементов кода к модели:
Откройте модель и настройте ее как цель ERT.
Создайте или создайте код для модели. По умолчанию открывается представление Код (Code) для отображения созданного кода рядом с моделью.
В созданном коде наведите курсор на имена блоков в комментариях для выделения исходных блоков. Например, создайте HTML-отчет для модели rtwdemo_hyperlinks. В созданном коде для функции шага модели в rtwdemo_hyperlinks.c, наведите курсор на UnitDelay: '<Root>/X' блок. В окне модели соответствующий UnitDelay блок подсвечивается.

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

Генератор кода иногда вставляет скрытые блоки во время процесса генерации кода по различным причинам, например, для поддержания целостности данных. Комментарии для скрытых блоков включаются в созданный код. Эти комментарии и код, созданный из скрытого блока, отслеживают исходный блок в модели, который вызвал вставку скрытого блока. Комментарии к скрытым блокам следуют за этим шаблоном:
/* <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 и 2, как в разделе Отслеживание кода к модели
Создайте или создайте код для модели. Созданный код отображается в окне Просмотр кода (Code view) рядом с моделью.
В окне модели щелкните элемент модели. Чтобы выбрать несколько блоков, удерживайте клавишу SHIFT и выберите дополнительные блоки.
В окне просмотра кода отображается первый экземпляр выделенного кода, созданного для элемента модели. В верхней части представления «Код» цифры, которые отображаются справа от созданных имен файлов, указывают общее количество выделенных строк в каждом файле. На этом рисунке показан результат трассировки блока Unit Delay в модели rtwdemo_hyperlinks.

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