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

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

Чтобы гарантировать, что каждая переменная в вашем атомарном подграфике или атомарном поле сопоставляет с правильными данными в основном графике, отредактируйте отображение на вкладке Mappings в диалоговом окне Properties. Для каждой атомарной переменной подграфика, в поле Main chart symbol, можно выбрать имя соответствующего символа из выпадающего списка. Также можно ввести определение выражения:

Если вы оставляете поле Main chart symbol пустым, то Stateflow пытается сопоставить атомарную переменную подграфика с основной переменной графика с тем же именем.

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

Атомарный осциллограф символа подграфикаОсновной осциллограф символа графика
Входной параметрВведите, Вывод, локальный, параметр
Вывод Выведите, локальный
ПараметрПараметр
Память хранилища данныхПамять хранилища данных, локальная
Введите событиеВведите событие

Когда вы сопоставляете память хранилища данных в атомарном подграфике к локальным данным перечислимого типа, у вас есть две опции для определения начального значения памяти хранилища данных:

  • В диалоговом окне Data Properties, набор поле Initial value для уровня графика локальные данные.

  • Чтобы применить значение по умолчанию перечислимого типа, оставьте поле Initial value пустым.

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

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

График состоит из двух соединенных атомарных подграфиков от той же библиотеки.

Оба атомарных подграфика содержат эти объекты.

Если вы моделируете модель, вывод для y2 является нулем.

Поскольку символы в атомарном подграфике A имеют то же имя как символы u1 и y1 в основном графике, они сопоставляют с правильными переменными. Символы в атомарном подграфике B не сопоставляют с правильными переменными u2 и y2 в основном графике, таким образом, необходимо отредактировать отображение.

  1. Щелкните правой кнопкой по подграфику B и выберите Subchart Mappings.

  2. При Входном Отображении задайте основной символ графика для u1, чтобы быть u2.

  3. При Выходном Отображении задайте основной символ графика для y1, чтобы быть y2.

  4. Нажать ОК.

Когда вы запускаете модель снова, вы получаете эти результаты.

Сопоставьте атомарные переменные подграфика, чтобы соединить шиной элементы

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

График состоит из двух соединенных атомарных подграфиков от той же библиотеки. Оба атомарных подграфика содержат эти объекты.

Если вы моделируете модель, вы получаете ошибку, потому что в каждом подграфике вход u1 не сопоставляет ни с какой переменной в основном графике. Отредактировать отображение для u1 в каждом подграфике:

  1. Щелкните правой кнопкой по подграфику A и выберите Subchart Mappings.

  2. При Входном Отображении задайте основной символ графика для u1, чтобы быть первым элементом в шине: BusIn.u1.

  3. Нажать ОК.

  4. Повторитесь для подграфика B, задав основной символ графика для u1, чтобы быть вторым элементом в шине: BusIn.u2.

Когда вы запускаете модель снова, вы получаете эти результаты.

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

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

  • Индексация на основе одна разграничена круглыми скобками и запятыми. Например, A(4,5).

  • Основанная на нуле индексация разграничена скобками. Например, A[3][4].

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

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

График состоит из двух соединенных атомарных подграфиков от той же библиотеки. Оба атомарных подграфика содержат эти объекты.

Если вы моделируете модель, вы получаете ошибку, потому что в каждом подграфике вход u1 не сопоставляет ни с какой переменной в основном графике. Отредактировать отображение для u1 в каждом подграфике:

  1. Щелкните правой кнопкой по подграфику A и выберите Subchart Mappings.

  2. При Входном Отображении задайте основной символ графика для u1, чтобы быть верхним левым элементом в матрице. Например, использование основанной на нуле индексации: M[0][0].

  3. Нажать ОК.

  4. Повторитесь для подграфика B, задав основной символ графика для u1, чтобы быть нижним правым элементом в матрице. Например, использование индексации на основе одной: M(2,2).

Когда вы запускаете модель снова, вы получаете эти результаты.

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

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

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

График состоит из два, соединил атомарный подграфик от той же библиотеки. Оба атомарных подграфика содержат эти объекты.

Если вы моделируете модель, вы получаете ошибку, потому что параметр T не определен. Чтобы зафиксировать эту ошибку, задайте выражение для T, чтобы оценить в рабочей области маски основного графика:

  1. Щелкните правой кнопкой по подграфику A и выберите Subchart Mappings.

  2. При Отображении Параметра, как значение для T, вводят -1.

  3. Нажать ОК.

  4. Повторитесь для подграфика B, задав значение T как 2.

Когда вы запускаете модель снова, вы получаете эти результаты.

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

Модель sf_yoyo содержит блок Mux, который предоставляет входные события к графику.

График содержит две сверхдержавы: Active и Inactive. Состояние Active использует входные события, чтобы охранять переходы между различными подсостояниями.

Чтобы преобразовать Active утверждают к атомарному подграфику:

  1. Щелкните правой кнопкой по Active, утверждают и выбирают Group & Subchart> Atomic Subchart.

  2. Щелкните правой кнопкой по атомарному подграфику и выберите Subchart Mappings.

    Под Input Event Mapping каждый атомарный символ подграфика сопоставляет с правильным входным событием в основном графике.

    Отображения по умолчанию также следуют правилам использования входных событий в атомарных подграфиках. Для получения дополнительной информации см. Правила для Использования Атомарных Подграфиков

  3. Нажмите OK.

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

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

  1. Щелкните правой кнопкой по атомарному подграфику и выберите Subchart Mappings.

  2. Чтобы отключить входное событие, под Input Event Mapping, выбирают <disabled> в Main chart symbol выпадающий список.

  3. Нажмите OK.

Похожие темы