В этом примере показано, как использовать атомарные субдиаграммы, чтобы сгенерировать код для отдельных частей графика Stateflow®. Когда вы генерируете код для своего графика, отдельные хранилища файлов код для атомарной субдиаграммы. Атомарные субдиаграммы не поддерживаются в автономных диаграммах Stateflow в MATLAB®. Для получения дополнительной информации смотрите, Создают Допускающие повторное использование Субкомпоненты при помощи Атомарных Субдиаграмм.
Эта модель содержит два Sine wave (Simulink) блоки: один с частотой 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.
Примечание: номера строки, которые появляются в вашем отчете генерации кода, могут отличаться от показанных чисел.
Sine Wave (Simulink)