Объедините переходы и соединения, чтобы создать переходящие пути

connective junction представляет момент принятия решения в пути к переходу. Можно объединить переходы и соединительные соединения, чтобы создать пути от общего источника до нескольких мест назначения или от многочисленных источников до общего места назначения. Для получения дополнительной информации о семантике переходящих путей смотрите, Представляют Разнообразные пути при помощи Коннектив-Джанкшнс.

Добавьте соединительное соединение

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

В качестве альтернативы добавить изолированное соединение в график:

  1. В палитре объектов кликните по значку Соединения.

  2. На холсте графика кликните по местоположению для нового соединительного соединения.

Измените соединительные свойства соединения

Изменить размер одного или нескольких соединительных соединений:

  1. Выберите соединительные соединения.

  2. Щелкните правой кнопкой по одному из выбранных соединений и выберите Junction Size.

  3. Из выпадающего списка выберите размер соединения.

Чтобы изменить другие свойства соединительного соединения, щелкните правой кнопкой по соединительному соединению и выберите Properties. Диалоговое окно Connective Junction отображается эти свойства:

  • Parent — Родительское состояние соединительного соединения. Чтобы принести родительский элемент к переднему плану, кликните по гипертекстовой ссылке. Это свойство доступно только для чтения.

  • Описание Текстовое описание соединения. Можно ввести краткое описание и комментарии.

  • Document link — Соединитесь с онлайн-документацией для соединения. Можно ввести веб-адрес URL или MATLAB® команда, которая отображает документацию в подходящем онлайн-формате, таком как файл HTML или текст в командном окне MATLAB. Когда вы кликаете по гиперссылке Document link, Stateflow оценивает ссылку и отображает документацию.

Примеры путей к переходу с соединительными соединениями

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

  • if-then-else шаблоны решения

  • for шаблоны цикла

  • while шаблоны цикла

Чтобы уменьшать время создания этих шаблонов, используйте Pattern Wizard. Для получения дополнительной информации смотрите, Создают Блок-схемы при помощи Pattern Wizard.

If-then-else Шаблон со всеми заданными условиями

В этом примере, Checked_in состояния имеет путь к переходу по умолчанию с тремя соединительными соединениями. Каждую ветвь пути охраняет условие.

Если Front_desk состояния активно, событие check_in инициировал выполнение перехода по умолчанию в Checked_in. Результат перехода по умолчанию зависит от значения room_type:

  • Если room_type 1, Executive_suite подсостояния становится активным.

  • Если room_type 2, Family_suite подсостояния становится активным.

  • Если room_type 3, Single_room подсостояния становится активным.

  • Если ни одно из этих условий не верно, путь к переходу по умолчанию не допустим и Front_desk остается активным.

Для получения дополнительной информации об этом графике, смотрите, Как Объекты Stateflow Взаимодействуют Во время Выполнения.

If-then-else Шаблон с безусловным переходом

В этом примере, переходе от Start состояния имеет три соединительных соединения. Первые две ветви пути охраняет условие. Последняя ветвь пути является безусловной.

График использует временную логику, чтобы определить когда вход u равняется 1:

  • Если u равняется 1 перед временем$t=2$, Fast состояния становится активным.

  • Если u равняется 1 между$t=2$ и$t=5$, Good состояния становится активным.

  • Если u равняется 1 после$t=5$, Slow состояния становится активным.

Для получения дополнительной информации об этом графике, смотрите, Обнаруживают Прошедшее время.

For Шаблон цикла

В этом примере блок-схема использует комбинацию переходов и соединительных соединений, чтобы создать for цикл.

Как значение встречного i увеличения от 1 до 10, блок-схема задает элементы массива output. Цикл в этой блок-схеме эквивалентен этому отрывку кода MATLAB:

for i = 1:10
    output(i) = 2*i;
end

While Шаблон цикла

В этом примере блок-схема комбинирует переходы и соединительные соединения, чтобы создать while цикл, который вычисляет наибольший общий делитель входных параметров.

Цикл в этой блок-схеме эквивалентен этому отрывку кода С:

while(q > 0) {
    r = fmod(p,q);
    p = q;
    q = r;
}

Похожие темы