При записи покрытия для моделей, содержащих поддерживаемые C/C + + S-функции, функциональные блоки MATLAB, которые вызывают внешний код C/C + +, блоки вызывающего абонента C с кодом C/C + + или диаграммы Stateflow ®, которые интегрируют пользовательский код C/C + + для моделирования, покрытие записывается для кода C/C + + в C/ Результаты покрытия для пользовательского кода можно просмотреть в том же отчете, что и остальная часть модели. Для каждого блока S-Function, блока MATLAB Function или диаграммы Stateflow отчет связан с подробным отчетом покрытия для кода C/C + + в блоке.
Чтобы включить покрытие кода для пользовательского кода C/C + + в модели Simulink ®:
На панели Цель моделирования (Simulation Target) окна Параметры конфигурации (Configuration Parameters) выберите Импорт пользовательского кода (Import custom code).
На панели Цель моделирования (Simulation Target) окна Параметры конфигурации (Configuration Parameters) выберите Включить пользовательский анализ кода (Enable custom code analysis).
Simulink Coverage™ записывает покрытие кода для пользовательского кода C/C + + в функциональных блоках MATLAB, блоках Caller и диаграммах Stateflow.
Если вы используете legacy_code функция, блок S-Function Builder или mex чтобы создать S-функции, адаптируйте метод соответствующим образом, чтобы сделать S-функцию совместимой с покрытием модели.
Для получения дополнительной информации о трех подходах см. Внедрение C/C + + S-функций.
S-функция с использованием legacy_code Функция
Инициализируйте структуру MATLAB ® с полями, представляющими свойства устаревшего инструмента кода.
def = legacy_code('initialize')Чтобы включить покрытие модели, включите опцию def.Options.supportCoverage.
def.Options.supportCoverageAndDesignVerifier = true;
Использовать структуру def обычным способом генерации S-функции. Пример см. в разделе Покрытие S-функций.
S-функция с помощью построителя S-функций
Скопируйте экземпляр блока S-Function Builder из библиотеки пользовательских функций в браузере библиотеки в модель.
Дважды щелкните блок, чтобы открыть диалоговое окно S-Function Builder.
На вкладке Сведения о сборке выберите Включить поддержку покрытия.
S-функция с использованием mex Функция. Если вы используете mex для компиляции и связывания исходных файлов используйте slcovmex вместо этого функция. slcovmex функция компилирует исходный код и делает его совместимым с покрытием.
Эта функция имеет тот же синтаксис и принимает те же параметры, что и mex функция. Кроме того, можно предоставить некоторые опции, релевантные для покрытия модели. Дополнительные сведения см. в разделе slcovmex.
В редакторе Simulink выберите «Параметры модели» на вкладке «Моделирование».
На панели «Покрытие» диалогового окна «Параметры конфигурации» выберите C/C + + S-функции.
При выполнении моделирования отчет о покрытии содержит метрики покрытия для C/C + + S-функциональных блоков в модели. Для каждого S-функционального блока отчет связан с подробным отчетом о покрытии для кода C/C + + в блоке.