exponenta event banner

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

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

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

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

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

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

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

Правка модели для использования атомных вложенных диаграмм

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

Щелкните правой кнопкой мыши состояние A и выберите «Группа и подшаблон» > «Атомарный подшаг». Государство A изменяет атомарную вложенную диаграмму и отображает метку Atomic в левом верхнем углу.

Шаг 2: Настройка автономного файла C для атомной подшарницы

  1. Открытие диалогового окна свойств вложенной диаграммы A щелчком правой кнопкой мыши на вложенной диаграмме и выбором «Свойства».

  2. Задайте для свойства упаковки функции генерации кода значение Reusable function.

  3. Задайте для свойства Параметры имени файла генерации кода значение User specified.

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

  5. Нажмите кнопку ОК.

Шаг 3: Настройка отчета по созданию кода

  1. На вкладке Моделирование (Modeling) щелкните Свойства диаграммы (Chart Properties) > Настройки модели (Model Settings), чтобы открыть диалоговое окно Параметры конфигурации (Configuration parameters).

  2. На вкладке Code Generation установите для параметра System target file значение ert.tlc.

  3. В разделе Создание кода > Отчет выберите Создать отчет о создании кода.

  4. В разделе Дополнительные параметры (Advanced parameters) выберите Модель в код (Model-to-code).

  5. Нажмите кнопку «Применить».

Шаг 4: Настройка сгенерированных имен функций

В диалоговом окне «Параметры конфигурации» на вкладке «Создание кода» > «Идентификаторы» задайте для параметра «Методы подсистемы» схему форматирования. $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)

Связанные темы