Атомарный подграфик является графическим объектом, который помогает вам создать автономные субкомпоненты в графике Stateflow®. Атомарные подграфики поддерживаются только в диаграммах Stateflow в моделях Simulink®. Для получения дополнительной информации смотрите, Создают Допускающие повторное использование Субкомпоненты при помощи Атомарных Подграфиков.
Чтобы гарантировать, что каждая переменная в вашем атомарном подграфике или атомарном поле сопоставляет с правильными данными в основном графике, отредактируйте отображение на вкладке Mappings в диалоговом окне Properties. Для каждой атомарной переменной подграфика, в поле Main chart symbol, можно выбрать имя соответствующего символа из выпадающего списка. В качестве альтернативы можно ввести определение выражения:
Поле структуры Stateflow. Смотрите индекс и Значения Присвоения к Структурам Stateflow.
Элемент вектора или матрицы. Смотрите Поддерживаемые Операции для Векторов и Матриц.
Любая допустимая комбинация полей структуры или матричных индексов, таких как struct.field(1,2)
или struct.field[0][1]
.
Если вы оставляете поле Main chart symbol пустым, то Stateflow пытается сопоставить атомарную переменную подграфика с основной переменной графика с тем же именем.
Можно сопоставить переменную в атомарном подграфике к символу в основном графике, который имеет различный осциллограф. Эта таблица приводит возможные отображения.
Атомарный осциллограф символа подграфика | Основной осциллограф символа графика |
---|---|
Входной параметр | Введите, Выход, локальный, параметр |
Вывод | Выведите, локальный |
Параметр | Параметр |
Память хранилища данных | Память хранилища данных, локальная |
Введите событие | Введите событие |
Когда вы сопоставляете память хранилища данных в атомарном подграфике к локальным данным перечислимого типа, у вас есть две опции для определения начального значения памяти хранилища данных:
В диалоговом окне Data Properties, набор поле Initial value для уровня графика локальные данные.
Чтобы применить значение по умолчанию перечислимого типа, оставьте поле Initial value пустым.
Эта модель содержит два блока Sine wave, которые предоставляют входные сигналы к графику.
График состоит из двух соединенных атомарных подграфиков от той же библиотеки.
Оба атомарных подграфика содержат эти объекты.
Если вы симулируете модель, выход для y2
нуль.
Поскольку символы в атомарном подграфике A имеют то же имя как символы u1
и y1
в основном графике они сопоставляют с правильными переменными. Символы в атомарном подграфике B не сопоставляют с правильными переменными u2
и y2
в основном графике, таким образом, необходимо отредактировать отображение.
Щелкните правой кнопкой по подграфику B и выберите Subchart Mappings.
При Входном Отображении задайте основной символ графика для u1
быть u2
.
При Выходном Отображении задайте основной символ графика для y1
быть y2
.
Нажать ОК.
Когда вы запускаете модель снова, вы получаете эти результаты.
Эта модель содержит два блока Sine wave, которые предоставляют сигналы через шину к графику.
График состоит из двух соединенных атомарных подграфиков от той же библиотеки. Оба атомарных подграфика содержат эти объекты.
Если вы симулируете модель, вы получаете ошибку потому что, в каждом подграфике, входе u1
не сопоставляет ни с какой переменной в основном графике. Отредактировать отображение для u1
в каждом подграфике:
Щелкните правой кнопкой по подграфику A и выберите Subchart Mappings.
При Входном Отображении задайте основной символ графика для u1
быть первым элементом в шине: BusIn.u1
.
Нажать ОК.
Повторитесь для подграфика B, задав основной символ графика для u1
быть вторым элементом в шине: BusIn.u2
.
Когда вы запускаете модель снова, вы получаете эти результаты.
Когда обращение к элементам вектора или матрицы, независимо от языка действия графика, использует:
Индексация на основе одна разграничена круглыми скобками и запятыми. Например, A(4,5)
.
Основанная на нуле индексация разграничена скобками. Например, A[3][4]
.
Индексы могут быть числами или параметрами в графике. Использование других выражений как индексы не поддержано.
Например, эта модель содержит два блока Sine wave, которые предоставляют сигналы через диагональную матрицу к графику.
График состоит из двух соединенных атомарных подграфиков от той же библиотеки. Оба атомарных подграфика содержат эти объекты.
Если вы симулируете модель, вы получаете ошибку потому что, в каждом подграфике, входе u1
не сопоставляет ни с какой переменной в основном графике. Отредактировать отображение для u1
в каждом подграфике:
Щелкните правой кнопкой по подграфику A и выберите Subchart Mappings.
При Входном Отображении задайте основной символ графика для u1
быть верхним левым элементом в матрице. Например, использование основанной на нуле индексации: M[0][0]
.
Нажать ОК.
Повторитесь для подграфика B, задав основной символ графика для u1
быть нижним правым элементом в матрице. Например, использование индексации на основе одной: M(2,2)
.
Когда вы запускаете модель снова, вы получаете эти результаты.
Для атомарных параметров подграфиков можно ввести константное выражение или выражение, которое зависит от одного или нескольких параметров в основном графике.
Например, эта модель содержит два блока Sine wave, которые предоставляют входные сигналы к графику.
График состоит из два, соединил атомарный подграфик от той же библиотеки. Оба атомарных подграфика содержат эти объекты.
Если вы симулируете модель, вы получаете ошибку потому что параметр T
isundefined. Чтобы зафиксировать эту ошибку, задайте выражение для T
оценивать в рабочей области маски основного графика:
Щелкните правой кнопкой по подграфику A и выберите Subchart Mappings.
При Отображении Параметра, как значение для T
, введите -1
.
Нажать ОК.
Повторитесь для подграфика B, задав значение T
как 2
.
Когда вы запускаете модель снова, вы получаете эти результаты.
sf_yoyo
модель содержит блок Mux, который предоставляет входные события к графику.
График содержит две сверхдержавы: Active
и Inactive
. Active
утвердите входные события использования, чтобы охранять переходы между различными подсостояниями.
Преобразовывать Active
утвердите к атомарному подграфику:
Щелкните правой кнопкой по Active
утвердите и выберите Group & Subchart> Atomic Subchart.
Щелкните правой кнопкой по атомарному подграфику и выберите Subchart Mappings.
Под Input Event Mapping каждый атомарный символ подграфика сопоставляет с правильным входным событием в основном графике.
Отображения по умолчанию также следуют правилам использования входных событий в атомарных подграфиках. Для получения дополнительной информации см. Правила для Использования Атомарных Подграфиков
Нажмите OK.
Чтобы использовать экземпляр библиотеки строят диаграмму как атомарный подграфик, но не целый сохраненный набор входных событий, можно отключить входные события.
Щелкните правой кнопкой по атомарному подграфику и выберите Subchart Mappings.
Чтобы отключить входное событие, под Input Event Mapping, выбирают <disabled>
в Main chart symbol выпадающий список.
Нажмите OK.