Атомарный подграфик является графическим объектом, который помогает вам создать автономные субкомпоненты в графике Stateflow®. Атомарные подграфики поддерживаются только в диаграммах Stateflow в моделях Simulink®. Для получения дополнительной информации смотрите, Создают Допускающие повторное использование Субкомпоненты при помощи Атомарных Подграфиков.
Графики Мура не имеют того же поведения симуляции как Классические диаграммы Stateflow с теми же построениями.
Графики непрерывного времени не поддерживают атомарные подграфики.
Вы получаете предупреждение, когда следующие условия верны:
Свойство диаграммы Execute (enter) Chart At Initialization включено.
Путь к переходу по умолчанию графика достигает атомарного подграфика.
Если entry
действие в атомарном подграфике требует доступа к входу графика или памяти хранилища данных, вы можете получить неточные результаты. Чтобы избежать этого предупреждения, можно отключить Execute (enter) Chart At Initialization или перенаправить путь к переходу по умолчанию далеко от атомарного подграфика.
Для получения дополнительной информации о выполните в инициализации поведение, смотрите Выполнение Графика при Инициализации.
Когда вы используете соединенные атомарные подграфики, проверяете, что ваши настройки для супер семантики шага совпадают с настройками в основном графике. Для получения дополнительной информации смотрите Супер Семантику Шага.
Обязательно задайте данные, которые появляются в атомарном подграфике явным образом в основном графике. Атомарные подграфики могут только получить доступ к основным данным о графике, размер которых, введите, и сложность полностью задана. Для получения дополнительной информации смотрите Set Data Properties.
Когда вы используете соединенные атомарные подграфики, сопоставляете переменные так, чтобы данные в подграфике соответствовали правильным данным в основном графике. Сопоставьте переменные подграфика вручную, если, когда вы добавляете подграфик, переменные не имеют тех же имен как соответствующие символы в основном графике. Для получения дополнительной информации смотрите Переменные Карты для Атомарных Подграфиков и Полей.
Проверьте, что размер, введите, и сложность переменных в подграфике совпадает с настройками соответствующих переменных в основном графике. Для получения дополнительной информации смотрите Переменные Карты для Атомарных Подграфиков и Полей.
Атомарные подграфики не поддерживают массивы переменного размера. Если вы выбираете свойство Variable Size объекта данных подграфика, ошибка происходит, когда вы пытаетесь обновить схему или симулировать модель.
Когда память хранилища данных в атомарном подграфике сопоставляет с уровнем графика локальные данные, свойство First index локальных данных должно остаться нуль. Если вы изменяете First index в ненулевое значение, ошибка происходит, когда вы пытаетесь обновить схему или симулировать модель.
Если атомарный подграфик сопоставляет переменные с переменными на основном уровне графика с различным осциллографом, вы не можете регистрировать сигналы для графика.
Если ваш график содержит атомарные подграфики, не используйте порожденные машиной данные со следующими свойствами:
Импортированный или экспортируемый
2D или выше, или использует фиксированную точку
Порожденные машиной данные с этими свойствами предотвращают повторное использование сгенерированного кода и другой оптимизации кода.
Если параметр в атомарном подграфике совпадает с именем Simulink встроенный параметр подсистемы, единственное отображение допускало тот параметр, Inherited
. Определение любого другого отображения параметра во вкладке Mappings диалогового окна свойств вызывает ошибку. Можно, однако, изменить значение параметров в подсказке MATLAB® так, чтобы все экземпляры того параметра имели то же значение.
Получить список параметров Подсистемы Simulink, введите:
param_list = sort(fieldnames(get_param('built-in/subsystem', 'ObjectParameters')));
Входные события в атомарном подграфике должны все использовать запускаемый фронтом тип, или они должны все использовать тип вызова функции. Это ограничение сопоставимо с поведением для контейнерного графика. Для получения дополнительной информации смотрите Лучшые практики для Использования Событий в диаграммах Stateflow.
Вы не можете использовать исходящие переходы от атомарного подграфика, который использует локальные события в верхнем уровне подграфика. Используя эту настройку вызывает ошибку симуляции.
Каждое входное событие в атомарном подграфике должно сопоставить с входным событием того же триггерного типа в контейнерном графике.
Каждое входное событие в атомарном подграфике должно сопоставить с уникальным входным событием в контейнерном графике. Можно проверить уникальные отображения входных событий путем открытия диалогового окна свойств для атомарного подграфика и проверки раздела Input Event Mapping вкладки Mappings.
Если ваш атомарный подграфик содержит вызов функции к функции уровня графика, этой функции экспорта путем выбора Export Chart Level Functions. Не экспортируйте графические функции из атомарного подграфика, который сопоставляет переменные с переменными на основном уровне графика с различным осциллографом. Для получения дополнительной информации смотрите Экспорт Функции Stateflow для Повторного использования.
Состояние или подграфик, который вы хотите преобразовать в атомарный подграфик, не могут иметь никаких суперпереходов, пересекающих контур.
Чтобы преобразовать состояние или подграфик к атомарному подграфику, доступ к объектам, не порожденным состоянием или подграфиком, должен быть одним из следующего:
Данные уровня графика
Графические функции уровня графика
Введите события
Если состояние или подграфик получают доступ к графической функции уровня графика, график должен экспортировать эту функцию. Для получения дополнительной информации смотрите Экспорт Функции Stateflow для Повторного использования.
Не экспортируйте графические функции из атомарного подграфика, который сопоставляет переменные с переменными на основном уровне графика с различным осциллографом.
Состояние или подграфик, который вы хотите преобразовать в атомарный подграфик, не могут получить доступ к локальным данным, где свойство First index является ненулевым. Для процесса преобразования, чтобы работать, свойство First index локальных данных должно быть нулем, который является значением по умолчанию.
Состояние или подграфик, который вы хотите преобразовать в атомарный подграфик, не могут находиться в графике, который использует порожденные машиной данные со следующими свойствами:
Импортированный или экспортируемый
2D или выше, или использует фиксированную точку
Порожденные машиной данные с этими свойствами предотвращают повторное использование сгенерированного кода и другой оптимизации кода.
Чтобы преобразовать состояние или подграфик к атомарному подграфику, ваш график должен использовать сильный ввод данных с вводами и выводами Simulink. Для получения дополнительной информации смотрите Использование Сильный Ввод Данных с вводом-выводом Simulink.
Состояние или подграфик, который вы хотите преобразовать в атомарный подграфик, не могут относиться к:
Локальные события, которые выходят за рамки того состояния или подграфика
Выведите события
Состояние или подграфик, который вы хотите преобразовать, могут относиться, чтобы ввести события.
Вы не можете использовать график библиотеки маскированный, содержащий параметры маски как атомарный подграфик.