Чтобы создать модель 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 | 2 |
Component_2 | 4 | 3 |
Информация о портах передается как значения в таблице 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 |
Импортируйте базовую архитектуру из таблиц, составленных выше в System Composer из командной строки MATLAB.
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.
