Как другие блоки Simulink®, блоки MATLAB function поддерживают двустороннюю отслеживаемость, но расширяют навигацию к строкам исходного кода. Таким образом, можно перейти между строкой сгенерированного кода и его соответствующей строкой исходного кода. В других блоках Simulink можно перейти между строкой сгенерированного кода и его соответствующим объектом.
Кроме того, можно выбрать, чтобы включать исходный код как комментарии в сгенерированном коде. Когда вы выбираете параметр MATLAB source code as comments, исходный код MATLAB® сразу появляется после связанного тега трассируемости. Для получения дополнительной информации смотрите, Как Включать код MATLAB как Комментарии в Сгенерированном коде.
Для получения информации о том, как трассируемость работает в блоках Simulink, смотрите, Проверяют Сгенерированный код при помощи Кода, Прослеживающего (Embedded Coder).
Чтобы включить комментарии трассируемости в вашем коде, у вас должна быть лицензия на программное обеспечение Embedded Coder®. Эти комментарии появляются только в коде, что вы генерируете для Встроенного В реальном времени (ERT
) цель.
Трассируемость не поддержана для файлов MATLAB, которые вы вызываете от блока MATLAB function.
Этот пример показывает, как проследить между исходным кодом и сгенерированным кодом в блоке MATLAB function в модели eml_fire
. Выполните эти шаги:
Введите eml_fire
в посдказке MATLAB.
В окне модели Simulink выберите Simulation> Model Configuration Parameters.
В панели Code Generation перейдите к разделу Target selection и введите ert.tlc
для системного конечного файла. Затем нажмите Apply.Traceability, комментарии кажутся связанными гиперссылками в сгенерированном коде только для встроенного, в реальном времени (ert
) цели.
В панели Code Generation > Report выберите Create code generation report (Simulink Coder) параметр, если не уже выбранный.
Это действие автоматически выбирает Открытый отчет автоматически (Simulink Coder), Код к модели (Simulink Coder) и Модель к коду (Simulink 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 с помощью гиперссылок номера строки в сгенерированном коде.