Создайте блок-схемы при помощи Pattern Wizard

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

  • Генерирует шаблоны итерационного цикла и общая логика.

  • Продвигает непротиворечивость в геометрии и размещении через шаблоны.

  • Упрощает хранение и многократное использование шаблонов от центрального расположения.

  • Позволяет вставлять шаблоны в существующую блок-схему.

Pattern Wizard генерирует блок-схемы, геометрия которых и размещение выполняют инструкции из MathWorks Automotive Advisory Board (MAAB). Можно настроить блок-схему путем изменения условий и действий или путем вставки дополнительных логических шаблонов. Можно также сохранить блок-схему как пользовательский шаблон в Pattern Wizard для более позднего повторного использования.

Например, предположите, что вы хотите использовать Pattern Wizard, чтобы создать графическую функцию для итерации по верхнему треугольнику двумерной матрицы. Функция состоит из двух вложенных циклов for, в которых индекс строки i всегда меньше чем или равен индексу столбца j. При помощи Pattern Wizard вы можете:

  1. Создайте блок-схему для внешнего цикла, который выполняет итерации по индексу строки i.

  2. Расширьте блок-схему путем вставки внутреннего цикла, который выполняет итерации по индексу столбца j.

  3. Сохраните блок-схему как пользовательский шаблон в Pattern Wizard.

  4. Снова используйте пользовательский шаблон в графической функции.

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

Чтобы создать блок-схему, выберите шаблон из меню Chart> Add Pattern in Chart. Выборы шаблона включают:

  • Decision: if, if-else и вложенные шаблоны решения if.

  • Loop: for, while и do-while шаблоны цикла.

  • Switch: шаблоны switch максимум с четырьмя случаями.

  • Custom: пользовательские шаблоны, что вы сохраненный для более позднего повторного использования.

Диалоговое окно Stateflow® Patterns предлагает вам условия и действия, характерные для шаблона, который вы выбираете. Для получения дополнительной информации о шаблонах блок-схемы смотрите MAAB-совместимые Шаблоны от Pattern Wizard.

Например, чтобы создать внешний цикл for в верхнем треугольном шаблоне итератора:

  1. В редакторе Stateflow выберите Chart> Add Pattern in Chart> Loop> For.

  2. В диалоговом окне Stateflow Patterns задайте инициализатор, тест цикла и подсчет выражений для итерации через первую размерность матрицы:

  3. Нажмите OK. Pattern Wizard генерирует эту блок-схему.

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

Вставьте логические шаблоны в существующие блок-схемы

Используйте Pattern Wizard, чтобы добавить цикл или расширения логики решения существующей блок-схемы. Выберите имеющий право вертикальный переход и выберите шаблон из меню Chart> Insert Pattern on Selection. Доступные шаблоны включают Decision, Loop и Switch. Диалоговое окно Stateflow Patterns предлагает вам условия и действия, характерные для шаблона, который вы выбираете.

Например, чтобы добавить второй цикл в верхнем треугольном шаблоне итератора:

  1. В редакторе Stateflow, от внешнего шаблона цикла for, выбор вертикальный переход маркировал {action1}.

  2. Выберите Chart> Insert Pattern on Selection> Loop> For.

  3. В диалоговом окне Stateflow Patterns задайте инициализатор, тест цикла и подсчет выражений для итерации через второе измерение матрицы. Выражение инициализатора гарантирует, что i никогда не превышает j. Также начните действия, которые получают каждый элемент в верхнем треугольнике матрицы.

  4. Нажмите OK. Pattern Wizard добавляет второй цикл в блок-схему.

  5. Сохраните модель, содержащую шаблон.

Инструкции для вставки логических шаблонов

Когда вы создаете логические расширения:

  • Можно выбрать только один переход, чтобы расширить за один раз. Выбранный переход должен быть точно вертикальным и иметь целевое соединение.

  • Можно расширить только блок-схемы, созданные Pattern Wizard.

  • Диаграмма Stateflow, содержащая блок-схему, может содержать только соединения и переходы. График не может содержать другие объекты, такие как состояния, функции или таблицы истинности.

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

  • Вы не можете выбрать пользовательский шаблон в качестве расширения.

Если ваш выбор не имеет право на вставку, когда вы выбираете Chart> Insert Pattern on Selection, вы видите сообщение вместо опций шаблона.

СообщениеПроблема
Выберите вертикальный переходВы не выбрали вертикальный переход.
Выбранный переход должен быть точно вертикальнымВы выбрали переход, но это не вертикально.
Выберите только один вертикальный переходВы выбрали больше чем один переход.
Редактор должен содержать только переходы и соединенияСуществуют другие объекты, такие как состояния, функции или таблицы истинности, в графике.

Сохраните пользовательские шаблоны блок-схемы

Используйте Pattern Wizard, чтобы сохранить шаблоны блок-схемы в центральной части, и затем легко получить их для повторного использования в графических функциях и графиках. Выберите блок-схему с шаблоном, что вы хотите сохранить и выбрать Chart> Save Pattern.

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

  1. Создайте папку для хранения ваших пользовательских шаблонов. См. Инструкции для Создания Пользовательской Папки Шаблона.

  2. В редакторе Stateflow выберите верхнюю треугольную блок-схему итератора.

  3. Выберите Chart> Save Pattern.

  4. Если вы не определяли пользовательскую папку шаблона, Pattern Wizard предлагает вам выбирать папку. Выберите папку, которую вы создали, и нажмите Select Folder.

  5. В подсказке назовите свой шаблон UpperTriangleIterator и нажмите Save. Pattern Wizard сохраняет ваш шаблон как образцовый файл UpperTriangleIterator.slx в пользовательской папке шаблона.

Примечание

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

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

Pattern Wizard использует одну, плоскую папку для сохранения и получения шаблонов блок-схемы.

  • Сохраните все блок-схемы в верхнем уровне пользовательской папки шаблона. Не создавайте подпапки.

  • Убедитесь, что все файлы блок-схемы имеют расширение .slx или .mdl.

Измените свою пользовательскую папку шаблона

Pattern Wizard помнит ваш выбор пользовательской папки шаблона для будущих сеансов. Чтобы выбрать различную папку, переименуйте свою существующую пользовательскую папку шаблона и выполните одно из следующих действий:

  • Сохраните новый пользовательский шаблон в Pattern Wizard.

  • Снова используйте существующий пользовательский шаблон от Pattern Wizard.

Pattern Wizard предлагает вам выбирать новую папку.

Повторное использование пользовательские шаблоны блок-схемы

Pattern Wizard хранит ваши блок-схемы как образцовые файлы в пользовательской папке шаблона. Шаблоны, которые вы сохраняете в этой папке, появляются в выпадающем списке, когда вы выбираете Chart> Add Pattern in Chart> Custom. Можно добавить пользовательский шаблон непосредственно в график или в графическую функцию подотмеченную на диаграмме в графике.

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

  1. От объектной палитры добавьте, что графическая функция к вашему графику, как описано в Задает Графическую функцию.

  2. Введите эту функциональную подпись:

    function y = ut_iterator(u, numrow, numcol)
    Функция берет три входных параметров.

    Входной параметрОписание
    u2D матрица
    numrowКоличество строк в матрице
    numcolКоличество столбцов в матрице

  3. Щелкните правой кнопкой в функции и выберите Group & Subchart> Subchart. Функция появляется как непрозрачное поле.

  4. Дважды кликните графическую функцию подотмеченную на диаграмме, чтобы открыть его.

  5. Выберите Chart> Add Pattern in Function> Custom. Диалоговое окно открывается, перечисляя все шаблоны, которые вы имеете сохраненный в вашей пользовательской папке шаблона.

  6. Выберите верхний треугольный шаблон итератора и нажмите OK. Pattern Wizard добавляет ваш пользовательский шаблон в графическую функцию.

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

MAAB-совместимые шаблоны от Pattern Wizard

Pattern Wizard генерирует блок-схемы, геометрия которых и размещение выполняют инструкции из MathWorks Automotive Advisory Board (MAAB).

Шаблоны логики решения

 if

 if-else

 if-elseif

 если, elseif, еще

 if-elseif-elseif-else

 Вложенный if

Шаблоны итерационного цикла

 for

 while

 do-while

Переключите шаблоны

 switch с двумя случаями и значением по умолчанию

 switch с тремя случаями и значением по умолчанию

 switch с четырьмя случаями и значением по умолчанию

Похожие темы