Чтобы создать модель System Composer™, можно импортировать информацию о компонентах, портах и связях в использовании предопределенного формата таблицы MATLAB. Можно расширить эти таблицы и добавить, что информация как прикладные стереотипы, значения свойств, соединила модели, на которые ссылаются, различные компоненты и интерфейсы.
Точно так же можно экспортировать информацию о компонентах, иерархии компонентов, порты на компонентах, связях между компонентами, соединили модели, на которые ссылаются, варианты, стереотипы на элементах и интерфейсы.
Минимальная необходимая структура для модели System Composer состоит из этих наборов информации:
Таблица Components
Таблица Ports
Таблица Connections
Чтобы импортировать дополнительные элементы, необходимо добавить столбцы в таблицы и добавить определенные значения для этих элементов.
Информация о компонентах передается как значения в таблице MATLAB против предопределенных имен столбцов, где:
Name
имя компонента.
ID
пользовательский ID, используемый, чтобы сопоставить дочерние компоненты и добавить порты в компоненты.
ParentID
родительский ID компонента.
Имя | ID | ParentID |
---|---|---|
root | 0
| |
Component_1 | 1
| 0
|
Component_1_1 | 2
| 1
|
Component_1_2 | 3
| 1
|
Component_2 | 4
| 0
|
Информация о портах передается как значения в таблице MATLAB против предопределенных имен столбцов, где:
Name
имя порта.
Direction
направление портов ввода или вывода.
ID
пользовательский порт ID, используемый, чтобы сопоставить порты с подключениями порта.
CompID
ID компонента, к которому добавляется порт. Это - компонент, переданный в таблице компонентов.
Имя | Направление | ID | CompID |
---|---|---|---|
Port1 | Output | 1
| 1
|
Port2 | Input | 2
| 4
|
Port1_1 | Output | 3
| 2
|
Port1_2 | Input | 4
| 3
|
Информация о связях передается как значения в таблице MATLAB против предопределенных имен столбцов, где:
Name
имя подключения.
ID
ID связи, используемый, чтобы проверять, что связи правильно создаются во время процесса импорта.
SourcePortID
ID исходного порта.
DestPortID
ID целевого порта.
Имя | ID | SourcePortID | DestPortID |
---|---|---|---|
Conn1 | 1
| 1
| 2
|
Conn2 | 2
| 3
| 4
|
Импортируйте базовую архитектуру из таблиц, составленных выше.
systemcomposer.importModel('importedModel', components, ports, connections)
Модель базовой архитектуры открывается.
Таблицы не включают информацию о визуальной разметке модели. Можно расположить компоненты вручную или использовать Architecture> Arrange> Arrange Automatically.
Можно импортировать другие элементы модели в таблицы базовой структуры.
Импортируйте интерфейсы и сопоставьте порты с интерфейсами
Добавьте различные компоненты и выбор
Примените стереотипы и установите значения свойств на импортированных именах модели
Задать интерфейсы и добавить интерфейс называют в ports
таблица, чтобы сопоставить порты к соответствующему portInterfaces
таблица. Составьте таблицу, похожую на components
, ports
, и connections
. Информация как интерфейсное имя, сопоставленное имя элемента наряду с типом данных, размерностями, модулями, сложностью и минимальными и максимальными значениями передается importModel
функция в формате таблицы, показанном ниже.
Имя | Родительский элемент | Тип данных | Размерности | Модули | Сложность | Минимум | Максимум |
---|---|---|---|---|---|---|---|
interface1 | |||||||
elem1 | interface1 | interface3 | 1
| "" | real | "[]" | "[]" |
interface2 | 1
| 1
| "" | real | "[]" | "[]" | |
elem2 | interface1 | 1
| 1
| "" | real | "[]" | "[]" |
Анонимные интерфейсы не могут быть типом данных элементов.
Чтобы сопоставить добавленный интерфейс с портами, добавьте столбец InterfaceName
в ports
таблица, чтобы задать имя интерфейса, который будет соединен.
Имя | Направление | ID | CompID | 'interfaceName' |
---|---|---|---|---|
Port1 | Output | 1
| 1
| interface1 |
Port2 | Input | 2
| 4
| interface2 |
Port1_1 | Output | 3
| 2
| "" |
Port1_2 | Input | 4
| 3
| interface1 |
Можно добавить различные компоненты точно так же, как любой другой компонент в components
таблица, кроме вас задают имя активного варианта. Добавьте выбор как дочерние компоненты к различным компонентам. Задайте варианты как значения строки в VariantControl
столбец. Можно ввести выражения в VariantCondition
столбец.
Следующий пример показывает, как добавить различный VarComp
компонента с выбором
Choice1
и Choice2
и набор Choice2
как активный выбор.
Имя | ID | ParentID | ReferenceModelName | ComponentType | ActiveChoice | VariantControl | VariantCondition | StereotypeName |
---|---|---|---|---|---|---|---|---|
root | 0
| |||||||
Component1 | C1 | 0
| ||||||
VarComp | V2 | 0
| Variant | Choice2 | ||||
Choice1 | C6 | V2 | petrol | |||||
Choice2 | C7 | V2 | diesel | |||||
Component3 | C3 | 0
| ||||||
Component1_1 | C4 | C1 | ||||||
Component1_2 | C5 | C1 |
Передайте модифицированный components
таблица наряду с портом и таблицы связей к importModel
функция.
Чтобы применить стереотипы на компоненты, порты и связи, добавляют StereotypeNames
столбец к components
таблица. Чтобы установить свойства для стереотипов, добавьте столбец в формате ProfileName_StereotypeName_PropertyName
.
Вы устанавливаете значения свойств в формате value{units}
. Модули и значения заполняются от значений по умолчанию, заданных в загруженном файле профиля.
Имя | ID | ParentID | StereotypeNames | UAVComponent_OnboardElement_Mass | AVComponent_OnboardElement_Power |
---|---|---|---|---|---|
root | 0
| ||||
Component_1 | 1
| 0
| UAVComponent.OnboardElement | 0.93{kg} | 0.65{mW} |
Component_1_1 | 2
| 1
| |||
Component_1_2 | 3
| 1
| UAVComponent.OnboardElement | 0.93{kg} | "" |
Component_2 | 4
| 0 |
Чтобы экспортировать модель, передайте имя модели в качестве аргумента к exportModel
функция. Функция возвращает структуру, содержащую четыре таблицы components
, ports
, connections
, и portInterfaces
.
>> exportedSet = systemcomposer.exportModel(modelName)
Можно экспортировать набор в таблицы MATLAB и затем преобразовать те таблицы во внешние форматы файлов, включая Microsoft® Excel®, базы данных или XMI.