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

Атомарный подграфик является графическим объектом, который помогает вам создать автономные субкомпоненты в графике 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. Для получения дополнительной информации смотрите Использование Сильный Ввод Данных с вводом-выводом Simulink.

Широковещательные сообщения события

Состояние или подграфик, который вы хотите преобразовать в атомарный подграфик, не могут относиться к:

  • Локальные события, которые выходят за рамки того состояния или подграфика

  • Выведите события

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

График библиотеки маскированный

Вы не можете использовать график библиотеки маскированный, содержащий параметры маски как атомарный подграфик.

Похожие темы