В этом примере показано, как использовать атомарные субдиаграммы, чтобы сгенерировать код для отдельных частей графика Stateflow®. Когда вы генерируете код для своего графика, отдельные хранилища файлов код для атомарной субдиаграммы. Атомарные субдиаграммы поддерживаются только в диаграммах Stateflow в моделях Simulink®. Для получения дополнительной информации смотрите, Создают Допускающие повторное использование Субкомпоненты при помощи Атомарных Субдиаграмм.
Эта модель содержит два блока Sine wave: один с частотой 1 радиана в секунду и другим с частотой 2 радианов в секунду.
В графике каждое состояние использует логику сатуратора, чтобы преобразовать входную синусоиду в выходную прямоугольную волну той же частоты.
Поскольку этот пример не использует атомарные субдиаграммы, сгенерированный код для целой модели хранится в одном файле. Чтобы найти код для определенной части графика, необходимо просмотреть целый файл.
В отличие от этого можно преобразовать A
состояния к атомарной субдиаграмме и указывают, что код для субдиаграммы появляется в отдельном файле. Этот метод генерации кода включает модульное тестирование на определенную часть графика. Вы стараетесь не перерывать несвязанный код и фокусируетесь только на коде, который интересует вас.
Шаг 1: преобразуйте состояние в атомарную субдиаграмму
Щелкните правой кнопкой по A
состояния и выберите Group & Subchart> Atomic Subchart.
A
состояния изменения в атомарной субдиаграмме и отображениях метка Atomic в верхнем левом углу.
Шаг 2: настройте автономный файл C для атомарной субдиаграммы
Откройте диалоговое окно свойств для субдиаграммы A
путем щелчка правой кнопкой по субдиаграмме и выбора Properties.
Установите функцию Генерации кода упаковочное свойство на Reusable function
.
Установите свойство опций имени файла Генерации кода на User specified
.
В поле имени файла Генерации кода введите saturator
как имя файла.
Нажать ОК.
Шаг 3: настройте отчет генерации кода
Во вкладке Modeling нажмите Chart Properties> Model Settings, чтобы открыть диалоговое окно Параметров конфигурации.
Во вкладке Code Generation, набор Системный параметр конечного файла к ert.tlc
.
Под Генерацией кода> Отчет, выберите отчет генерации кода Create.
Под Продвинутыми параметрами выберите Model-to-code.
Нажмите Apply.
Шаг 4: настройте сгенерированные имена функций
В диалоговом окне Configuration Parameters, во вкладке Code Generation> Identifiers, устанавливает параметр методов Подсистемы на схему $R$N$M$F
формата, где:
$R
корневое имя модели.
$N
имя блока.
$M
лексема искажения.
$F
тип функции интерфейса для атомарной субдиаграммы.
Чтобы сгенерировать код для вашей модели при помощи Embedded Coder®, нажмите Ctrl+B.
Отчет генерации кода содержит ссылки на код, сгенерированный из графика (Файлы модели) и атомарная субдиаграмма (Файлы подсистемы). Чтобы смотреть код для субдиаграммы, нажмите saturator.c
гиперссылка.
Линия 31 показывает что during
функция, сгенерированная для атомарной субдиаграммы, имеет имя ex_reuse_states_A_during
. Это имя следует схеме $R$N$M$F
формата заданный для методов Подсистемы:
Корневым именем модели является ex_reuse_states
.
Именем блока является A
.
Лексема искажения пуста.
Типом функции интерфейса для атомарной субдиаграммы является during
.
Примечание: номера строки, которые появляются в вашем отчете генерации кода, могут отличаться от показанных чисел.