Сгенерируйте отдельный код для атомарной субдиаграммы

В этом примере показано, как использовать атомарные субдиаграммы, чтобы сгенерировать код для отдельных частей графика Stateflow®. Когда вы генерируете код для своего графика, отдельные хранилища файлов код для атомарной субдиаграммы. Атомарные субдиаграммы не поддерживаются в автономных диаграммах Stateflow в MATLAB®. Для получения дополнительной информации смотрите, Создают Допускающие повторное использование Субкомпоненты при помощи Атомарных Субдиаграмм.

Исходная модель без атомарных субдиаграмм

Эта модель содержит два Sine wave (Simulink) блоки: один с частотой 1 радиана в секунду и другим с частотой 2 радианов в секунду.

В графике каждое состояние использует логику сатуратора, чтобы преобразовать входную синусоиду в выходную прямоугольную волну той же частоты.

Поскольку этот пример не использует атомарные субдиаграммы, сгенерированный код для целой модели хранится в одном файле. Чтобы найти код для определенной части графика, необходимо просмотреть целый файл.

В отличие от этого можно преобразовать A состояния к атомарной субдиаграмме и указывают, что код для субдиаграммы появляется в отдельном файле. Этот метод генерации кода включает модульное тестирование на определенную часть графика. Вы стараетесь не перерывать несвязанный код и фокусируетесь только на коде, который интересует вас.

Модель редактирования, чтобы использовать атомарные субдиаграммы

Шаг 1: преобразуйте состояние в атомарную субдиаграмму

Щелкните правой кнопкой по A состояния и выберите Group & Subchart> Atomic Subchart. A состояния изменения в атомарной субдиаграмме и отображениях метка Atomic в верхнем левом углу.

Шаг 2: настройте автономный файл C для атомарной субдиаграммы

  1. Откройте диалоговое окно свойств для субдиаграммы A путем щелчка правой кнопкой по субдиаграмме и выбора Properties.

  2. Установите функцию Генерации кода упаковочное свойство на Reusable function.

  3. Установите свойство опций имени файла Генерации кода на User specified.

  4. В поле имени файла Генерации кода введите saturator как имя файла.

  5. Нажать ОК.

Шаг 3: настройте отчет генерации кода

  1. Во вкладке Modeling нажмите Chart Properties> Model Settings, чтобы открыть диалоговое окно Параметров конфигурации.

  2. Во вкладке Code Generation, набор Системный параметр конечного файла к ert.tlc.

  3. Под Генерацией кода> Отчет, выберите отчет генерации кода Create.

  4. Под Продвинутыми параметрами выберите Model-to-code.

  5. Нажмите 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.

Примечание: номера строки, которые появляются в вашем отчете генерации кода, могут отличаться от показанных чисел.

Смотрите также

(Simulink)

Похожие темы