Атомарный подграфик является графическим объектом, который помогает вам создать автономные субкомпоненты в графике Stateflow®. Атомарные подграфики поддерживаются только в диаграммах Stateflow в моделях Simulink®. Для получения дополнительной информации смотрите, Создают Допускающие повторное использование Субкомпоненты при помощи Атомарных Подграфиков.
Рассмотрите эту модель:
Главный блок Sine Wave использует частоту 1 радиана в секунду, и нижний блок Sine Wave использует частоту 2 радианов в секунду. Блоки используют ту же амплитуду (1) и сдвиг фазы (0).
В графике каждое состояние использует логику сатуратора, чтобы преобразовать входную синусоиду в выходную прямоугольную волну той же частоты. Состояния выполняют те же действия и отличаются только по именам входных и выходных данных:
Когда вы запускаете модель, вы получаете следующие результаты:
Предположим, что вы хотите снова использовать содержимое состояния в графике. Можно преобразовать то состояние в атомарный подграфик и затем использовать несколько соединенных экземпляров того подграфика в графике.
Разделы, которые следуют, описывают, как заменить состояния в вашем графике с атомарными подграфиками. Эта процедура включает повторное использование того же объекта в вашей модели при сохранении тех же результатов симуляции.
Шаг | Задача | Ссылка |
---|---|---|
1 | Измените одно из состояний в атомарный подграфик. | Преобразуйте состояние в атомарный подграфик |
2 | Создайте библиотеку, которая содержит этот атомарный подграфик. | Создайте библиотеку для атомарного подграфика |
3 | Замените состояния в своем графике с соединенными атомарными подграфиками. | Замените состояния на соединенные атомарные подграфики |
4 | Отредактируйте отображение переменных ввода и вывода в случае необходимости. | Отредактируйте отображение переменных ввода и вывода |
Можно пропустить шаги преобразования и получить доступ к новой модели непосредственно.
Чтобы преобразовать состояние в атомарный подграфик, щелкните правой кнопкой по состоянию и выберите Group & Subchart> Atomic Subchart. Состояние изменения в атомарном подграфике:
Чтобы включить повторное использование атомарного подграфика, вы создали в Преобразовании состояние к Атомарному Подграфику, сохраните атомарный подграфик в библиотеке:
Создайте новую модель библиотеки.
Скопируйте атомарный подграфик и вставку в вашей библиотеке.
Атомарный подграфик появляется как автономный график с входом и выводом. Это автономное свойство позволяет вам снова использовать содержимое атомарного подграфика.
Сохраните свою модель библиотеки.
Заменять состояния в вашем графике с соединенными атомарными подграфиками:
Удалите оба состояния из графика.
Скопируйте атомарный подграфик в своей библиотеке и вставку в вашем графике дважды.
Переименуйте второй экземпляр как B.
Каждый соединенный атомарный подграфик кажется непрозрачным и содержит метку Link в верхнем левом углу.
Если вы моделируете модель теперь, вывод для y2
является нулем:
Вы также видите предупреждения о неиспользованных данных. Эти предупреждения появляются, потому что атомарный подграфик B использует u1
и y1
вместо u2
и y2
. Чтобы зафиксировать эти предупреждения, необходимо отредактировать отображение переменных ввода и вывода:
Откройте диалоговое окно свойств для B.
Кликните по вкладке Mappings.
Под Input Mapping выберите u2
из выпадающего списка.
Входная переменная в вашем атомарном подграфике теперь сопоставляет с правильной входной переменной в основном графике.
Под Output Mapping выберите y2
из выпадающего списка.
Выходная переменная в вашем атомарном подграфике теперь сопоставляет с правильной выходной переменной в основном графике.
Нажмите OK.
Когда вы моделируете новую модель, результаты совпадают с теми из первоначального проекта.
Предположим, что вы редактируете переход от Pos
до Neg
в графике библиотеки:
Это изменение распространяет ко всем соединенным атомарным подграфикам в вашем основном графике. Вы не должны обновлять каждое состояние индивидуально.