Атомарный подграфик является графическим объектом, который помогает вам создать автономные субкомпоненты в графике Stateflow®. Атомарные подграфики поддерживаются только в диаграммах Stateflow в моделях Simulink®. Для получения дополнительной информации смотрите, Создают Допускающие повторное использование Субкомпоненты при помощи Атомарных Подграфиков.
Примите, что у вас есть следующая модель, и график имеет два состояния:
Предположим, что вы хотите сгенерировать повторно используемый код так, чтобы можно было выполнить модульное тестирование на состоянии A. Можно преобразовать ту часть графика к атомарному подграфику и затем задать отдельный файл, чтобы сохранить сгенерированный код.
Чтобы преобразовать состояние в атомарный подграфик, щелкните правой кнопкой по состоянию и выберите Group & Subchart> Atomic Subchart. Состояние изменения в атомарном подграфике:
Откройте диалоговое окно свойств для A.
Установите Code generation function packaging на Reusable function
.
Установите Code generation file name options на User specified
.
Для Code generation file name введите saturator
как имя файла.
Нажмите OK.
Откройте диалоговое окно Model Configuration Parameters.
В панели Code Generation, набор System target file к ert.tlc
.
В Code Generation> панель Report, выберите Create code generation report.
Этот шаг автоматически выбирает Open report automatically и Code-to-model.
Выберите Model-to-code.
Нажмите Apply.
В диалоговом окне Model Configuration Parameters перейдите к Code Generation> панель Symbols.
Установите Subsystem methods на схему $R$N$M$F
формата, где:
$R
является корневым именем модели.
$N
является именем блока.
$M
является лексемой искажения.
$F
является типом функции интерфейса для атомарного подграфика.
Для получения дополнительной информации см. методы Подсистемы (Simulink Coder).
Нажмите Apply.
Чтобы сгенерировать код для вашей модели, нажмите Ctrl+B. В отчете генерации кода, который появляется, вы видите отдельный файл, который содержит сгенерированный код для атомарного подграфика.
Чтобы осмотреть код для saturator.c
, кликните по гиперссылке в отчете видеть следующий код:
Строка 28 показывает, что функция during
, сгенерированная для атомарного подграфика, имеет имя ex_reuse_states_A_during
. Это имя следует схеме $R$N$M$F
формата, заданной для Subsystem methods:
$R
является корневым именем модели, ex_reuse_states
.
$N
является именем блока, A
.
$M
является лексемой искажения, которая пуста.
$F
является типом функции интерфейса для атомарного подграфика, during
.
Показанные номера строки могут отличаться от чисел, которые появляются в вашем отчете генерации кода.