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

Создайте модель архитектуры манипулятора с помощью System Composer™. Задайте интерфейсы на портах и требования ссылки к компонентам. Simulink® Лицензия Requirements™ требуется, чтобы управлять требованиями. Когда вы завершите шаги, вы создадите завершенную модель.

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

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

Визуально представляйте систему

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

Создайте модель архитектуры

  1. В MATLAB® Командное окно, введите:

    systemcomposer

    Начальная страница Simulink открывается к System Composer.

  2. Нажмите Architecture Model.

    Accessing a new System Composer architecture model from the Simulink start page.

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

    A new untitled architecture model in System Composer.

  3. Дважды кликните заголовок модели архитектуры и измените untitled к Robot. Имя модели обычно отражает систему, архитектуру которой вы создаете.

    Renamed architecture model called 'Robot'.

  4. Сохраните модель.

Чертите компоненты

Спроектируйте мобильную роботизированную руку, где датчик обнаруживает положение, и планирование траектории вычисляет путь к местоположению, что робот должен достигнуть движения использования. Модель архитектуры такой системы могла состоять из трех первичных компонентов: Sensors, Trajectory Planning, и Motion. Можно представлять эти компоненты в System Composer с помощью трех блоков Component.

  1. Перетащите Component из палитры левой стороны.

    Click and drag a component from the left-side palette to add it to the architecture model.

  2. Переименуйте компонент как Sensors.

  3. Добавьте Trajectory Planning и Motion компоненты.

    An architecture model called 'Robot' with three components

Создайте порты и связи

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

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

  1. Создайте выходной порт на нижней стороне компонента Датчиков. Переименуйте его SensorData.

    'Robot' architecture model with a downward facing output port below the 'Sensors' component called 'Sensor Data'.

  2. Перетащите линию от SensorData выходной порт к Motion компонент. Когда вы видите входной порт, созданный в стороне компонента, отпускаете кнопку мыши. По умолчанию этот новый порт имеет то же имя как исходный порт.

  3. Сделайте паузу в углу SensorData линия, пока вы не видите значок ветви. Щелкните правой кнопкой и перетащите ответвление к Trajectory Planning компонент.

    'Robot' architecture model with a 'Sensor Data' connection out-port from the 'Sensors' component connected to two in-ports into the 'Trajectory Planning' and 'Motion' components.

  4. Завершите связи как показано в этом рисунке.

    To the 'Robot' architecture model, add a 'Motion Command' connection from the 'Trajectory Planning' component to the 'Motion' component, and an 'Encoder' connection from the 'Motion' component to the 'Sensors' component.

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

  1. Кликните по левому краю модели архитектуры и введите имя порта TargetPosition.

  2. Соедините порт архитектуры с компонентом путем перетаскивания линии от TargetPosition входной порт к Trajectory Planning компонент. Связи с или от порта архитектуры появляются как теги.

    Final 'Robot' model has an architecture port connected from the 'Trajectory Planning' component to the 'Target Position' input port.

Отредактируйте интерфейсы данных

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

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

Рассмотрите интерфейс данных между Sensors и Motion компоненты. Данные о датчике состоят из:

  • Данные о положении из двух двигателей

  • Данные о близости препятствия из двух датчиков

  • Метка времени, чтобы получить свежесть данных

Данные имеют эти технические требования.

ИмяТип данныхМодуль
метка времени'double'секунды
position1 для моторного 1'double'степени
position2 для моторных 2'double'степени
distance1 для датчика 1'double'метры
direction1 для датчика 1'double'степени
distance2 для датчика 2'double'метры
датчик direction2 2'double'степени
  1. Перейдите к Modeling> Design> Interface Editor, чтобы открыть Интерфейсный Редактор.

  2. Нажмитеadd interface кнопку, чтобы добавить интерфейс данных. Назовите интерфейс sensordata.

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

  3. Нажмите SensorData выходной порт на Sensors компонент. В Интерфейсном Редакторе щелкните правой кнопкой по sensordata и выберите Assign to Selected Port(s).

    Если вы нажимаете sensordata снова, три SensorData порты подсвечены, указав, что порты сопоставлены с тем интерфейсом.

    Model with three 'Sensor Data' ports highlighted in purple.

  4. Добавьте элемент данных в выбранный интерфейс данных. Нажмитеadd data element кнопку, чтобы добавить элемент данных и назвать ее timestamp.

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

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

    Кликните по выпадающему рядом с кнопкой, чтобы сохранить интерфейс данных в словарь данных. Словарь данных позволяет вам коллективно управлять и совместно использовать набор интерфейсов среди моделей. Например, позже в проекте, если вы принимаете решение смоделировать внешний компьютер как отдельную модель архитектуры, затем эту модель и Robot модель может совместно использовать тот же словарь данных. Здесь, словарь сохранен как RobotDD.

    The Robot DD dictionary with interface named 'sensor data' and interface elements named 'time stamp', 'direction 1', direction 2', distance 1', distance 2', 'position 1', and 'position 2.

Анализируйте компоненты

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

  1. Дважды кликните Trajectory Planning компонент. Заголовок или Model Browser указывают на положение компонента в иерархии модели.

    The inside of the 'Trajectory Planning' component shows three architecture ports called 'Target Position, 'Sensor Data', and 'Motion Command'.

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

  2. Добавьте Motion Control и Safety Rules компоненты как часть Trajectory Planning архитектура.

    Перетащите TargetPosition порт к Motion Control компонент. Добавьте Command выходной порт к Motion Control, затем перетащите линию к Safety Rules компонент. Перетащите линии от SensorData порт к Motion Control и Safety Rules компоненты.

    Port connections for the 'Trajectory Planning' component.

Управляйте ссылками требования

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

Чтобы выделить и проследить требования с системными элементами, System Composer полностью объединяется с Simulink Requirements. Чтобы вывести соответствующие требования, необходимо иногда анализировать и задавать свойства (такие как степень) для элементов системы включая компоненты, порты или коннекторы. Например, если общая стоимость системы является беспокойством, unitPrice свойство необходимо.

Управляйте требованиями с точки зрения Требований в System Composer с помощью Simulink Requirements. Перейдите к Apps> Requirements Manager.

Requirements perspective showing requirement list and requirement links on components in the model.

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

Похожие темы