В этом примере показано, как использовать связанные атомарные субдиаграммы, чтобы разбить график Stateflow ® на подкомпоненты, чтобы несколько людей могли работать с различными частями графика. Атомарные субдиаграммы поддерживаются только в диаграммах Stateflow в моделях Simulink ®. Для получения дополнительной информации смотрите Создание переиспользуемых подкомпонентов при помощи атомарных субдиаграмм.
Эта модель содержит два блока Sine Wave (Simulink): один с частотой 1 радиан в секунду, и другой с частотой 2 радиана в секунду.
На графике каждое состояние использует логику сатуратора, чтобы преобразовать вход синусоиды в выход квадратную волну с той же частотой.
Поскольку этот пример не использует атомарные субдиаграммы, только один человек за раз может редактировать модель. Если вы редактируете состояние A
в то время как кто-то другой редактирует состояние B
необходимо объединить эти изменения во время отправки.
Напротив, можно хранить различные части этого примера как связанные атомарные субдиаграммы. Поскольку атомарные субдиаграммы ведут себя как независимые объекты, различные люди могут работать с различными частями графика, не затрагивая другие части графика. Во время отправки слияние не требуется, потому что изменения существуют в отдельных моделях.
Шаг 1. Преобразование состояния в атомарную субдиаграмму
Щелкните правой кнопкой мыши состояние A
и выберите Group & Subchart > Atomic Subchart. Конечные A
изменяется на атомарной субдиаграмме и отображает метку Atomic в левом верхнем углу.
Шаг 2: Создайте библиотеку для атомарной субдиаграммы
Создайте новую модель библиотеки.
Скопируйте атомарную субдиаграмму и вставьте его в модель библиотеки.
Сохраните модель библиотеки.
В модели библиотеки атомарная субдиаграмма появляется как независимая диаграмма с входом портом и выходом портом.
Шаг 3: Замените состояние на связанную атомарную субдиаграмму
Удалите A состояния
на графике.
Скопируйте атомарную субдиаграмму в библиотеку и вставьте его в график.
Связанная атомарная субдиаграмма появляется непрозрачным и содержит метку ссылка в левом верхнем углу.
Предположим, что в библиотечном графике вы редактируете переход от Pos
на Neg
.
Это изменение распространяется на связанную атомарную субдиаграмму на основном графике. Если кто-то еще редактирует основной график, изменения объединяются автоматически.
Sine Wave (Simulink)