Как и другие Simulink® блоки, блоки MATLAB Function поддерживают двустороннюю отслеживаемость, но расширяют навигацию до строк исходного кода. То есть можно перемещаться между линией сгенерированного кода и соответствующей ей строкой исходного кода. В других блоках Simulink можно перемещаться между линией сгенерированного кода и соответствующим ей объектом.
В сложение можно выбрать включение исходного кода в качестве комментариев в сгенерированный код. Когда вы выбираете MATLAB source code as comments параметр, MATLAB® исходный код появляется сразу после связанного тега трассируемости. Для получения дополнительной информации смотрите Как включить код MATLAB в качестве комментариев в сгенерированный код.
Для получения информации о том, как работает трассируемость в блоках Simulink, смотрите Проверьте сгенерированный код при помощи трассировки кода (Embedded Coder).
Чтобы включить комментарии трассируемости в коде, вы должны иметь лицензию для Embedded Coder® программное обеспечение. Эти комментарии появляются только в коде, который вы генерируете для Embedded Real-Time (ERT
) цель.
Примечание
Трассируемость не поддерживается для файлов MATLAB, которые вы вызываете из блока MATLAB Function.
В этом примере показано, как проследить между исходным кодом и сгенерированным кодом в блоке MATLAB Function в eml_fire
модель. Выполните следующие действия:
Тип eml_fire
в подсказку MATLAB.
В окне модели Simulink, на вкладке Modeling, нажмите Model Settings.
На панели Code Generation перейдите в раздел Target selection и введите ert.tlc
для системного целевого файла. Затем нажмите Apply. Комментарии Traceability появляются гиперссылками в сгенерированном коде только для встроенного реального времени (ert
) цели.
На панели Code Generation > Report выберите параметр Create code generation report (Simulink Coder), если он еще не выбран.
Это действие автоматически выбирает параметры Открыть отчет автоматически (Simulink Coder), Код-к-модели (Embedded Coder) и Модель-к-коду (Embedded Coder).
Проверьте, что Code-to-model и Model-to-code параметры включены.
На панели Code Generation > Comments выберите исходный код MATLAB в качестве параметров комментариев (Simulink Coder) и комментариев объекта Stateflow (Simulink Coder). Эти параметры управляют различными частями комментария трассируемости. Для получения дополнительной информации см. раздел Расположение комментариев в сгенерированном коде.
Перейдите к панели Code Generation > Interface. В Software environment разделе выберите параметр continuous time. Затем нажмите Apply. Поскольку эта модель примера содержит блок с непрерывным шагом расчета, вы должны выполнить этот шаг перед генерацией кода.
В окне модели нажмите Ctrl+B.
Это действие генерирует исходный код и заголовочные файлы для eml_fire
модель, которая содержит flame
блок. После завершения процесса генерации кода автоматически появляется отчет генерации кода.
Нажмите на eml_fire.c
гиперссылка в отчете.
Прокрутите код вниз, чтобы увидеть комментарии трассируемости, которые появляются как ссылки внутри /*...*/
скобки, как в этом примере.
Нажмите на <S2>:1:19
гиперссылка в этом комментарии трассируемости:
/* '<S2>:1:19' */
Линия 19 функции в исходном коде отображается в редакторе блоков MATLAB function.
Можно проследить линию в функции MATLAB, чтобы линии сгенерированный код. Например, щелкните правой кнопкой мыши по линии 21 вашей функции и выберите Code Generation > Navigate to Code из контекстного меню.
Местоположение кода для линии 21 подсвечивается в eml_fire.c
.
Вы можете проследить линию сгенерированного кода до строки исходного кода в функции MATLAB, используя гиперссылки номера линии в сгенерированном коде.