exponenta event banner

makeVariant

Преобразовать компонент в вариант

Описание

пример

[variantComp,choices] = makeVariant(component) новообращенные component в компонент варианта и возвращает родительский компонент варианта и доступные компоненты варианта.

[variantComp,choices] = makeVariant(component,Name,Value) новообращенные component в компонент варианта с дополнительными опциями и возвращает родительский компонент варианта и доступные компоненты варианта.

Примеры

свернуть все

Создайте два компонента с двумя портами каждый.

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

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

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

newComponent = addComponent(rootArch,'Component');

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

inPort = addPort(newComponent.Architecture,'testSig','in');
outPort = addPort(newComponent.Architecture,'testSig','out');

Преобразование компонента в компонент варианта.

[variantComp,choices] = makeVariant(newComponent)
variantComp = 

  VariantComponent with properties:

           Architecture: [1×1 systemcomposer.arch.Architecture]
                   Name: 'Component'
                 Parent: [1×1 systemcomposer.arch.Architecture]
                  Ports: [1×2 systemcomposer.arch.ComponentPort]
             OwnedPorts: [1×2 systemcomposer.arch.ComponentPort]
      OwnedArchitecture: [1×1 systemcomposer.arch.Architecture]
               Position: [15 13 65 81]
                  Model: [1×1 systemcomposer.arch.Model]
         SimulinkHandle: 69.0001
    SimulinkModelHandle: 1.2207e-04
                   UUID: 'ee705b8f-b383-4230-a1a2-3c69fb081cc5'
            ExternalUID: ''


choices = 

  Component with properties:

     IsAdapterComponent: 0
           Architecture: [1×1 systemcomposer.arch.Architecture]
                   Name: 'Component'
                 Parent: [1×1 systemcomposer.arch.Architecture]
                  Ports: [1×2 systemcomposer.arch.ComponentPort]
             OwnedPorts: [1×2 systemcomposer.arch.ComponentPort]
      OwnedArchitecture: [1×1 systemcomposer.arch.Architecture]
               Position: [50 20 100 76]
                  Model: [1×1 systemcomposer.arch.Model]
         SimulinkHandle: 62.0001
    SimulinkModelHandle: 1.2207e-04
                   UUID: '5ad838ca-f993-4349-aac9-2efca6d2066e'
            ExternalUID: ''

Откройте систему и упорядочьте ее. Сохраните модель.

open(arch)
Simulink.BlockDiagram.arrangeSystem('archModel');
save(arch)

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

свернуть все

Архитектурный компонент, преобразуемый в компонент выбора варианта, указанный как systemcomposer.arch.Component объект.

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

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

Пример: [variantComp,choices] = makeVariant(newComponent,'Name','NewVariantComponent','Label','NewVariantChoice','Choices',{'NewVariantChoiceA','NewVariantChoiceB','NewVariantChoiceC'},'ChoiceLabels',{'Choice A','Choice B','Choice C'})

Имя компонента варианта, указанного как разделенная запятыми пара, состоящая из 'Name' и вектор символов.

Пример: [variantComp,choices] = makeVariant(newComponent,'Name','NewVariantComponent')

Метка варианта выбора из преобразованного компонента, указанная как разделенная запятыми пара, состоящая из 'Label' и вектор символов.

Пример: [variantComp,choices] = makeVariant(newComponent,'Name','NewVariantComponent','Label','NewVariantChoice')

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

Пример: [variantComp,choices] = makeVariant(newComponent,'Choices',{'NewVariantChoiceA','NewVariantChoiceB','NewVariantChoiceC'})

Метки вариантов, указанные как пара, разделенная запятыми, состоящая из 'ChoiceLabels' и клеточный массив символьных векторов.

Пример: [variantComp,choices] = makeVariant(newComponent,'Choices',{'NewVariantChoiceA','NewVariantChoiceB','NewVariantChoiceC'},'ChoiceLabels',{'Choice A','Choice B','Choice C'})

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

свернуть все

Компонент Variant, возвращенный как systemcomposer.arch.VariantComponent объект.

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

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

Подробнее

свернуть все

Определения

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

ТерминОпределениеПриложениеДополнительные сведения
вариантВариант является одним из многих структурных или поведенческих вариантов в компоненте варианта.Используйте варианты для быстрой замены различных архитектурных проектов для компонента при выполнении анализа.Создание вариантов
управление вариантамиЭлемент управления исполнениями - это строка, управляющая активным выбором исполнения.Установите элемент управления исполнениями для программного управления активным вариантом.Задать условие

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