То, когда вы записываете покрытие для моделей, содержащих, поддержало S-функции C/C++, блоки MATLAB function, которые вызывают внешний код C/C++, C блоки Вызывающей стороны с кодом 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 блоки Вызывающей стороны и диаграммы Stateflow.
Если вы используете функцию legacy_code
, блок S-Function Builder или функцию mex
, чтобы создать ваши S-функции, адаптируете ваш метод соответственно, чтобы сделать совместимое S-Function с покрытием модели.
Для получения дополнительной информации о трех подходах смотрите Реализацию S-функции C/C++ (Simulink).
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
.
Выберите Analysis> Coverage> Settings.
На панели Coverage диалогового окна Configuration Parameters выберите C/C++ S-functions.
Когда вы запускаете симуляцию, отчет покрытия содержит метрики покрытия для Блоков s-function C/C++ в вашей модели. Для каждого Блока s-function отчет соединяется с подробным отчетом покрытия для кода C/C++ в блоке.