Используйте трассируемость в блоках MATLAB Function

Степень трассируемости в блоках MATLAB function

Как и другие 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

В этом примере показано, как проследить между исходным кодом и сгенерированным кодом в блоке MATLAB Function в eml_fire модель. Выполните следующие действия:

  1. Тип eml_fire в подсказку MATLAB.

  2. В окне модели Simulink, на вкладке Modeling, нажмите Model Settings.

  3. На панели Code Generation перейдите в раздел Target selection и введите ert.tlc для системного целевого файла. Затем нажмите Apply. Комментарии Traceability появляются гиперссылками в сгенерированном коде только для встроенного реального времени (ert) цели.

  4. На панели Code Generation > Report выберите параметр Create code generation report (Simulink Coder), если он еще не выбран.

    Это действие автоматически выбирает параметры Открыть отчет автоматически (Simulink Coder), Код-к-модели (Embedded Coder) и Модель-к-коду (Embedded Coder).

  5. Проверьте, что Code-to-model и Model-to-code параметры включены.

  6. На панели Code Generation > Comments выберите исходный код MATLAB в качестве параметров комментариев (Simulink Coder) и комментариев объекта Stateflow (Simulink Coder). Эти параметры управляют различными частями комментария трассируемости. Для получения дополнительной информации см. раздел Расположение комментариев в сгенерированном коде.

  7. Перейдите к панели Code Generation > Interface. В Software environment разделе выберите параметр continuous time. Затем нажмите Apply. Поскольку эта модель примера содержит блок с непрерывным шагом расчета, вы должны выполнить этот шаг перед генерацией кода.

  8. В окне модели нажмите Ctrl+B.

    Это действие генерирует исходный код и заголовочные файлы для eml_fire модель, которая содержит flame блок. После завершения процесса генерации кода автоматически появляется отчет генерации кода.

  9. Нажмите на eml_fire.c гиперссылка в отчете.

  10. Прокрутите код вниз, чтобы увидеть комментарии трассируемости, которые появляются как ссылки внутри /*...*/ скобки, как в этом примере.

  11. Нажмите на <S2>:1:19 гиперссылка в этом комментарии трассируемости:

    /* '<S2>:1:19' */

    Линия 19 функции в исходном коде отображается в редакторе блоков MATLAB function.

  12. Можно проследить линию в функции MATLAB, чтобы линии сгенерированный код. Например, щелкните правой кнопкой мыши по линии 21 вашей функции и выберите Code Generation > Navigate to Code из контекстного меню.

    Местоположение кода для линии 21 подсвечивается в eml_fire.c.

  13. Вы можете проследить линию сгенерированного кода до строки исходного кода в функции MATLAB, используя гиперссылки номера линии в сгенерированном коде.

Похожие примеры

Подробнее о