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

Атомарный подграфик является графическим объектом, который помогает вам создать автономные субкомпоненты в графике Stateflow®. Атомарные подграфики поддерживаются только в диаграммах Stateflow в моделях Simulink®. Для получения дополнительной информации смотрите, Создают Допускающие повторное использование Субкомпоненты при помощи Атомарных Подграфиков.

 Задайте данные в атомарном подграфике явным образом

 Сопоставьте переменные соединенных атомарных подграфиков

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

 Экспортируйте функции уровня графика, если названо из атомарного подграфика

 Не смешивайтесь запускаемый фронтом, и вызов функции ввел события в том же атомарном подграфике

 Не сопоставляйте несколько входных событий в атомарном подграфике к тому же входному событию в контейнерном графике

 Не регистрируйте сигналы из атомарных подграфиков что переменные карты с различными осциллографами

 Совпадайте с триггерным типом когда входные события отображения

 Не используйте атомарные подграфики в непрерывно-разовых диаграммах Stateflow

 Не используйте графики Мура в качестве атомарных подграфиков

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

 Избегайте использования выполняются в инициализации с атомарными подграфиками

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

 Ограничьте использование порожденных машиной данных

 Не изменяйте первый индекс локальных данных к ненулевому значению

 Используйте сопоставимые настройки для семантики супершага

Ограничения для преобразования в атомарные подграфики

Объяснение для ограничений

Атомарные подграфики упрощают повторное использование состояний и подграфиков как автономные объекты.

Данные, графические функции и События

Чтобы преобразовать состояние или подграфик к атомарному подграфику, доступ к объектам, не порожденным состоянием или подграфиком, должен быть одним из следующего:

  • Данные уровня графика

  • Графические функции уровня графика

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

Если состояние или подграфик получают доступ к графической функции уровня графика, график должен экспортировать эту функцию. Для получения дополнительной информации смотрите Экспорт Функции Stateflow для Повторного использования.

Не экспортируйте графические функции из атомарного подграфика, который сопоставляет переменные с переменными на основном уровне графика с различным осциллографом.

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

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

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

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

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

Локальные данные с ненулевым первым индексом

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

Порожденные машиной данные

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

  • Импортированный или экспортируемый

  • 2D или выше, или использует фиксированную точку

Порожденные машиной данные с этими свойствами предотвращают повторное использование сгенерированного кода и другой оптимизации кода.

Сильный ввод данных с вводами и выводами Simulink

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

Задавать сильный ввод данных:

  1. Откройте диалоговое окно Свойств диаграммы.

  2. Выберите Use Strong Data Typing with Simulink I/O. Эта опция появляется только для графиков, которые используют C в качестве языка действия.

  3. Нажмите OK, чтобы закрыть диалоговое окно.

Суперпереходы

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

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

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