exponenta event banner

соединиться

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

Описание

пример

connectors = connect(srcComponent,destComponent) подключает неподключенные выходные порты srcComponent к не подключенным входным портам destComponent на основе совпадающих имен портов и возвращает дескриптор соединителю.

connectors = connect(architecture,[srcComponent,srcComponent,...],[destComponent,destComponent,...]) соединяет массивы компонентов в архитектуре.

connectors = connect(architecture,[],destComponent) соединяет входной порт родительской архитектуры с дочерним компонентом назначения.

connectors = connect(architecture,srcComponent,[]) соединяет исходный дочерний компонент с портом вывода родительской архитектуры.

пример

connectors = connect(srcPort,destPort) соединяет порт источника и порт назначения.

connectors = connect(srcPort,destPort,stereotype) соединяет порт источника и порт назначения и применяет стереотип к соединителю.

пример

connectors = connect(___,Name,Value) указывает параметры, использующие один или несколько аргументов пары имя-значение в дополнение к входным аргументам в предыдущих синтаксисах.

Примеры

свернуть все

Создайте и соедините два компонента.

Создайте архитектурную модель верхнего уровня.

modelName = 'archModel';
arch = systemcomposer.createModel(modelName,true);
rootArch = get(arch,'Architecture');

Создайте два новых компонента.

names = {'Component1','Component2'};
newComponents = addComponent(rootArch,names);

Добавьте порты к компонентам.

outPort1 = addPort(newComponents(1).Architecture,'testSig','out'); 
inPort1 = addPort(newComponents(2).Architecture,'testSig','in');

Подключение компонентов.

conns = connect(newComponents(1),newComponents(2));

Улучшите компоновку модели.

Simulink.BlockDiagram.arrangeSystem(modelName)

Создайте и подключите два порта.

Создайте архитектурную модель верхнего уровня.

modelName = 'archModel';
arch = systemcomposer.createModel(modelName,true);
rootArch = get(arch,'Architecture');                  

Создайте два новых компонента.

names = {'Component1','Component2'};
newComponents = addComponent(rootArch,names);

Добавьте порты к компонентам.

outPort1 = addPort(newComponents(1).Architecture,'testSig','out'); 
inPort1 = addPort(newComponents(2).Architecture,'testSig','in');

Извлеките порты компонента.

srcPort = getPort(newComponents(1),'testSig');
destPort = getPort(newComponents(2),'testSig');

Подключите порты.

conns = connect(srcPort,destPort);

Улучшите компоновку модели.

Simulink.BlockDiagram.arrangeSystem(modelName)

Создание и подключение элемента интерфейса порта целевой архитектуры к компоненту.

Создайте архитектурную модель верхнего уровня.

modelName = 'archModel';
arch = systemcomposer.createModel(modelName,true);
rootArch = get(arch,'Architecture');                  

Создайте новый компонент.

newComponent = addComponent(rootArch,'Component1');

Добавьте порты целевой архитектуры к компоненту и архитектуре.

outPortComp = addPort(newComponent.Architecture,'testSig','out');
outPortArch = addPort(rootArch,'testSig','out');

Извлеките соответствующие объекты порта.

compSrcPort = getPort(newComponent,'testSig');
archDestPort = getPort(rootArch,'testSig');

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

interface = arch.InterfaceDictionary.addInterface('interface');
interface.addElement('x');
archDestPort.setInterface(interface);

Выберите элемент в порту архитектуры и установите соединение.

conns = connect(compSrcPort,archDestPort,'DestinationElement','x');

Улучшите компоновку модели.

Simulink.BlockDiagram.arrangeSystem(modelName)

Входные аргументы

свернуть все

Интерфейс и базовое структурное определение модели или компонента, указанное как systemcomposer.arch.Architecture объект.

Исходный компонент, указанный как systemcomposer.arch.Component объект.

Целевой компонент, указанный как systemcomposer.arch.Component объект.

Исходный порт для подключения, указанный как systemcomposer.arch.ComponentPort или systemcomposer.arch.ArchitecturePort объект.

Порт назначения для подключения, указанный как systemcomposer.arch.ComponentPort или systemcomposer.arch.ArchitecturePort объект.

Стереотип, применяемый к соединению, указанный как полное имя в форме '<profile>.<stereotype>'.

Типы данных: char

Аргументы пары «имя-значение»

Укажите дополнительные пары, разделенные запятыми Name,Value аргументы. Name является именем аргумента и Value - соответствующее значение. Name должен отображаться внутри кавычек. Можно указать несколько аргументов пары имен и значений в любом порядке как Name1,Value1,...,NameN,ValueN.

Пример: connect(archPort,compPort,'SourceElement','a')

Параметр для применения стереотипа к соединителю, заданному как разделенная запятыми пара, состоящая из 'Stereotype' и полное имя в форме '<profile>.<stereotype>'.

Эта пара имя-значение применяется только при соединении компонентов.

Пример: conns = connect(srcComp,destComp,'Stereotype','GeneralProfile.ConnStereotype')

Типы данных: char

Параметр, указывающий правило для соединений, указанное как пара, разделенная запятыми, состоящая из 'Rule' и либо 'name' на основе имени портов или 'interface' на основе имени интерфейса для портов.

Эта пара имя-значение применяется только при соединении компонентов.

Пример: conns = connect([srcComp1,srcComp2],[destComp1,destComp2],'Rule','interface')

Типы данных: char

чтобы разрешить несколько целевых компонентов для одного и того же исходного компонента, указанного как разделенная запятыми пара, состоящая из 'MultipleOutputConnectors' и логический 1 (true) или 0 (false).

Эта пара имя-значение применяется только при соединении компонентов.

Пример: conns = connect(srcComp,[destComp1,destComp2],'MultipleOutputConnectors',true)

Типы данных: logical

Параметр для выбора исходного элемента для соединения, заданного как разделенная запятыми пара, состоящая из 'SourceElement' и символьный вектор имени сигнального элемента.

Эта пара имя-значение применяется только при подключении портов.

Пример: conns = connect(archSrcPort,compDestPort,'SourceElement','x')

Типы данных: char

Параметр для выбора целевого элемента для соединения, указанного как разделенная запятыми пара, состоящая из 'DestinationElement' и символьный вектор имени сигнального элемента.

Эта пара имя-значение применяется только при подключении портов.

Пример: conns = connect(compSrcPort,archDestPort,'DestinationElement','x')

Типы данных: char

Параметр для указания типа автоматической маршрутизации линий, определяемой как разделенная запятыми пара, состоящая из 'Routing' и одно из следующих:

  • 'smart' для автоматической трассировки линий, которая наилучшим образом использует пробелы на холсте и позволяет избежать наложения других линий и меток.

  • 'on' для автоматической маршрутизации линий.

  • 'off' при отсутствии автоматической маршрутизации линий.

Пример: conns = connect(srcPort,destPort,'Routing','on')

Типы данных: char

Выходные аргументы

свернуть все

Созданные соединения, возвращенные в виде массива systemcomposer.arch.Connector объекты.

Подробнее

свернуть все

Определения

ТерминОпределениеПриложениеДополнительные сведения
архитектураАрхитектура System Composer™ представляет собой систему компонентов и их структурное и поведенческое взаимодействие. Можно представлять определенные архитектуры с помощью альтернативных представлений.

Различные типы архитектур описывают различные аспекты систем:

  • Функциональная архитектура описывает поток данных в системе.

  • Логическая архитектура описывает предполагаемую работу системы.

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

Визуальное создание архитектуры
модельМодель System Composer - это файл, содержащий архитектурную информацию, включая компоненты, порты, соединители, интерфейсы и варианты поведения.

Выполните операции с моделью:

  • Извлеките архитектуру корневого уровня, содержащуюся в модели.

  • Применить профили.

  • Словари данных интерфейса связи.

  • Создание экземпляров на основе архитектуры модели.

Модели System Composer хранятся как .slx файлы.

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

Существуют различные типы портов:

  • Порты компонента - это точки взаимодействия компонента с другими компонентами.

  • Порты архитектуры - это порты на границе системы, независимо от того, находится ли граница в пределах компонента или общей модели архитектуры.

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

Представлен в R2019a