То, когда вы записываете покрытие для моделей, содержащих, поддержало S-функции C/C++, блоки MATLAB Function, которые вызывают внешний код C/C++, блоки C Caller с кодом C/C++ или графиками Stateflow®, которые интегрируют пользовательский код C/C++ для симуляции, покрытие зарегистрировано для кода C/C++ в S-функциях C/C++, блоках MATLAB Function или диаграммах Stateflow. Результаты покрытия для пользовательского кода могут быть просмотрены в том же отчете как остальная часть модели. Для каждого блока S-Function, блока MATLAB Function или диаграммы Stateflow, отчет соединяется с подробным отчетом покрытия для кода C/C++ в блоке.
Включить покрытие кода для пользовательского кода C/C++ в вашей модели Simulink®:
На панели Simulation Target Параметров конфигурации выберите Import custom code.
На панели Simulation Target Параметров конфигурации выберите Enable custom code analysis.
Simulink Coverage™ записывает покрытие кода для пользовательского кода C/C++ в блоках MATLAB Function, блоках C Caller и диаграммах Stateflow.
Если вы используете legacy_code
функция, блок S-Function Builder или mex
функция, чтобы создать ваши S-функции, адаптируйте свой метод соответственно, чтобы сделать совместимое S-Function с покрытием модели.
Для получения дополнительной информации о трех подходах смотрите Реализацию S-функции C/C++.
S-функция Используя legacy_code
Функция
Инициализируйте структуру MATLAB® полями, которые представляют свойства Legacy Code Tool.
def = legacy_code('initialize')
Чтобы включить покрытие модели, включите опцию def.Options.supportCoverage
.
def.Options.supportCoverageAndDesignVerifier = true;
Используйте структуру def
обычным способом сгенерировать S-функцию. Для примера смотрите Покрытие для S-функций.
S-функция Используя разработчика S-функции
Скопируйте экземпляр блока S-Function Builder из библиотеки User-Defined Functions в Браузере Библиотеки в вашу модель.
Дважды кликните блок, чтобы открыть диалоговое окно S-Function Builder.
На вкладке Build Info выберите Enable support for coverage.
S-функция Используя mex
Функция. Если вы используете mex
функционируйте, чтобы скомпилировать и соединить ваши исходные файлы, использовать slcovmex
функцию вместо этого. slcovmex
функционируйте компилирует ваш исходный код и также делает его совместимым с покрытием.
Эта функция имеет тот же синтаксис и выбирает те же варианты как mex
функция. Кроме того, можно предоставить некоторые возможности, важные для покрытия модели. Для получения дополнительной информации смотрите slcovmex
.
В Редакторе Simulink выберите Model Settings на вкладке Modeling.
На панели Coverage диалогового окна Configuration Parameters выберите C/C++ S-functions.
Когда вы запускаете симуляцию, отчет покрытия содержит метрики покрытия для Блоков s-function C/C++ в вашей модели. Для каждого блока S-Function отчет соединяется с подробным отчетом покрытия для кода C/C++ в блоке.