Реализуйте поведения для симуляции модели архитектуры

Рабочий процесс разработки базовых систем в System Composer™ включает создание системы архитектуры, определение требований, добавление метаданных, выполнение исследований и представление архитектуры посредством представлений. После выполнения этих шагов ваша разработка системы ближе к удовлетворению целям заинтересованной стороны и потребительским потребностям.

Можно также теперь начать проектировать фактические компоненты системы с помощью Simulink®, Stateflow®, и Simscape™. Можно полностью задать, протестировать и анализировать поведение компонента с помощью процесса модельно-ориентированного проектирования.

В этом примере вы выполните эти шаги на модели архитектуры манипулятора.

Модель архитектуры манипулятора

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

Ссылочная модель поведения Simulink в компоненте

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

  1. Щелкните правой кнопкой по Motion компонент и выбирает Create Simulink Behavior. В качестве альтернативы перейдите к Modeling> Component> Create Simulink Behavior.

  2. Из списка Type выберите Model Reference. Предоставьте имени модели MotionSimulink. Имя по умолчанию является именем компонента.

    Create Simulink Behavior dialog with new model name 'Motion Simulink' with options browse, from Simulink template, new data dictionary name, OK, cancel, and help.

  3. Новая модель Simulink с обеспеченным именем создана и соединена с компонентом в модели архитектуры.

    The motion component with referenced Simulink model between chevrons with arrow pointing to what is inside. There is a Simulink base model inside with in-ports and out-ports designated.

Можно также соединиться с существующей моделью поведения Simulink от компонента System Composer, при условии, что компонент уже не соединяется с эталонной архитектурой. Щелкните правой кнопкой по компоненту и выберите Link to Model. Можно ввести или просмотреть имя модели Simulink.

Можно также добавить поведение Подсистемы Simulink в компонент. Новый компонент подсистемы является частью родительской модели архитектуры System Composer. Из списка Type выберите Subsystem.

Create Simulink subsystem behavior dialog.

Компоненты подсистемы требуются, чтобы автор поведения компонента Simscape с физическими портами, связями и блоками.

Добавьте поведение диаграммы Stateflow в компонент

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

Компонент System Composer со стереотипами, интерфейсами, ссылками требования, и портами, сохраняется, когда вы добавляете Stateflow Chart (Stateflow) поведение.

  1. Щелкните правой кнопкой по Sensor компонент и выбирает Create Stateflow Chart Behavior. В качестве альтернативы перейдите к Modeling> Component> Create Stateflow Chart Behavior.

  2. Дважды кликните Sensor, который имеет значок Stateflow. В меню Modeling выберите Design Data, затем нажмите Symbols Pane, чтобы просмотреть символы Stateflow. Входной порт Encoder появляется как входные данные в панели символов и выходном порту SensorData появляется как выходные данные.

    Sensor state chart with symbols.

  3. Выберите SensorData выведите и просмотрите интерфейс в Property Inspector. Можно получить доступ к интерфейсу как сигнал шины Simulink.

    The interface named sensor data is shown as a bus.

Спроектируйте программную архитектуру в компоненте

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

  1. Переименуйте Trajectory Planning компонент к TrajectoryPlanning так, чтобы это было допустимое имя переменной C.

  2. Щелкните правой кнопкой по TrajectoryPlanning компонент и выбирает Create Software Architecture Model, или, перейдите к Modeling> Component> Create Software Architecture Model.

  3. Задайте имя программной архитектуры как TrajectorySoftware. Нажмите OK.

    Create a software architecture model named Trajectory Software from a component.

  4. Модель TrajectorySoftware.slx программной архитектуры ссылается от TrajectoryPlanning компонент.

    Trajectory planning component has a trajectory software architecture model reference.

  5. Дважды кликните TrajectoryPlanning компонент, чтобы взаимодействовать с TrajectorySoftware компонент программного обеспечения.

    Trajectory software component.

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

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

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

The robot arm model with a software architecture, state chart, and Simulink behavior.

  1. Создайте новую диаграмму последовательности путем навигации к Modeling> Views> Architecture Views. Галерея Architecture Views открывается. Чтобы создать новую диаграмму последовательности, нажмитеnew New> Sequence Diagram.

  2. Новая диаграмма последовательности под названием SequenceDiagram1 создается в Браузере Представления, и вкладка Sequence Diagram становится активной. Под Element Properties переименуйте диаграмму последовательности RobotArmSequence.

  3. Выберите Component> Add Lifeline button, чтобы добавить путь выживания. Новый путь выживания без имени создается и обозначается пунктирной линией.

  4. Кликните по стрелке вниз и выберите Sensor. Добавьте второй путь выживания под названием Motion.

  5. Выберите вертикальную пунктирную линию для Sensor путь выживания. Перетащите к Motion путь выживания. В поле To начните вводить Sensordata и выберите SensorData из выпадающего меню. Сообщение создается из SensorData порт на Sensor компонент к SensorData порт на Motion компонент.

  6. Нажмите на сообщение, чтобы видеть, куда поместить условие сообщения. Введите триггерное условие сообщения в форму:

    rising(SensorData.distance1-1)

    Имя сигнала является элементом данных в интерфейсе данных. Сообщение будет распознано в событии пересечения нулем когда значение SensorData.distance1 повышения к 1.

Finished sequence diagram.

Похожие темы

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