Чтобы создать модель System Composer™, можно импортировать информацию о компонентах, портах и связях в предопределенном формате с помощью MATLAB® объекты таблицы. Можно расширить эти таблицы и добавить, что информация как прикладные стереотипы, значения свойств, соединила модели - ссылки, различные компоненты, интерфейсы и ссылки требования.
Точно так же можно экспортировать информацию о компонентах, иерархии компонентов, порты на компонентах, связях между компонентами, соединили модели - ссылки, варианты, стереотипы на элементах, интерфейсах и ссылках требования.
Минимальная необходимая структура для модели System Composer состоит из этих наборов информации:
Таблица Components
Таблица Ports
Таблица Connections
Чтобы импортировать дополнительные элементы, необходимо добавить столбцы в таблицы и добавить определенные значения для этих элементов.
Информация о компонентах передается как значения в таблице MATLAB против предопределенных имен столбцов, где:
Name
имя компонента.
ID
пользовательский ID, используемый, чтобы сопоставить дочерние компоненты и добавить порты в компоненты.
ParentID
родительский ID компонента.
Например, Component_1_1
и Component_1_2
дочерние элементы Component_1
.
Имя | 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
может быть один из Input
вывод
, или Physical
.
ID
пользовательский порт ID, используемый, чтобы сопоставить порты с подключениями порта.
CompID
ID компонента, к которому добавляется порт. Это - компонент, переданный в таблице компонентов.
Имя | Направление | ID | CompID |
---|---|---|---|
Port1 | Output | 1
| 1
|
Port2 | Physical | 2
| 4
|
Port1_1 | Output | 3
| 2
|
Port1_2 | Input | 4
| 3
|
Информация о связях передается как значения в таблице MATLAB против предопределенных имен столбцов, где:
Name
имя подключения.
ID
ID связи, используемый, чтобы проверять, что связи правильно создаются во время процесса импорта.
Kind
вид связи, заданной Data
по умолчанию или Physical
. Kind
столбец является дополнительным и примет значение по умолчанию к Data
если неопределенный.
SourcePortID
ID исходного порта.
DestPortID
ID целевого порта.
PortIDs
список, разделенный запятыми порта IDs для физических портов, которые поддерживают ненаправленные связи.
Имя | Вид | ID | SourcePortID | DestPortID | PortIDs |
---|---|---|---|---|---|
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
функция в формате таблицы, показанном ниже.
Имя | ID | ParentID | Тип данных | Размерности | Модули | Сложность | Минимум | Максимум |
---|---|---|---|---|---|---|---|---|
interface1 | 1
| DataInterface | ||||||
elem1 | 2
| 1
| interface2 | |||||
interface2 | 3
| DataInterface | ||||||
elem2 | 4
| 1
| double | 1
| "" | real | "[]" | "[]" |
elem3 | 5
| 1
| valueType | 3
| cm | real | 0
| 100
|
valueType | 6
| int32 | 3
| cm | real | 0
| 100
| |
interface3 | 7 | PhysicalInterface | ||||||
elec | 8 | 7
| Connection: foundation.electrical.electrical
| |||||
mech | 9 | 7
| Connection: foundation.mechanical.mechanical.rotational |
Данные соединяют интерфейсом с interface1
и interface2
заданы с элементами данных elem1
и elem2
под interface1
. Элемент данных elem2
вводится interface2
, наследование его структуры. Для получения дополнительной информации смотрите Интерфейсы Вложенного множества к Данным о Повторном использовании.
Примечание
Находящиеся в собственности интерфейсы не могут быть вложены. Вы не можете задать находящийся в собственности интерфейс как тип данных элементов данных. Для получения дополнительной информации смотрите, Задают Находящиеся в собственности Интерфейсы, Локальные для Портов.
Этот интерфейс interface1
данных включает элемент данных
elem3
, который вводится типом значения valueType
и наследовал его свойства. Для получения дополнительной информации смотрите, Создают Типы Значения как Интерфейсы.
Этот физический интерфейс interface3
включает физические элементы elec
и mech
, которые вводятся под их соответствующими физическими областями. Для получения дополнительной информации смотрите, Задают Физические Интерфейсы на Портах.
Чтобы сопоставить добавленный интерфейс данных с портами, добавьте столбец InterfaceID
в ports
таблица и задает интерфейс данных, который будет соединен. Например, interface1
сопоставлен с Port1
как показано ниже.
Имя | Направление | ID | CompID | InterfaceID |
---|---|---|---|---|
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
компонента использование компонента вводит
Variant
с выбором Choice1
и Choice2
. Установите Choice2
как активный выбор.
Добавить Simulink, на который ссылаются,® модель, измените тип компонента в Behavior
и укажите, что образец модели называет simulink_model
.
Добавить Stateflow® стройте диаграмму поведения на компоненте, измените тип компонента в StateflowBehavior
. Если System Composer не обнаруживает лицензию или установку Stateflow, Composition
компонент импортируется вместо этого.
Имя | ID | ParentID | ReferenceModelName | ComponentType | ActiveChoice | VariantControl | VariantCondition |
---|---|---|---|---|---|---|---|
root | 0
| ||||||
Component1 | C1 | 0
| simulink_model | Behavior | |||
VarComp | V2 | 0
| Variant | Choice2 | |||
Choice1 | C6 | V2 | petrol | ||||
Choice2 | C7 | V2 | diesel | ||||
Component3 | C3 | 0
| StateflowBehavior | ||||
Component1_1 | C4 | C1 | |||||
Component1_2 | C5 | C1 |
Передайте модифицированный components
таблица наряду с ports
и connections
таблицы к importModel
функция.
Чтобы применить стереотипы на компоненты, порты и связи, добавляют StereotypeNames
столбец к components
таблица. Чтобы установить свойства для стереотипов, добавьте столбец с именем, заданным с помощью имени профиля, стереотипируйте имя и имя свойства. Например, назовите столбец UAVComponent_OnboardElement_Mass
для UAVComponent
профилируйте, OnBoardElement
стереотипируйте, и Mass
свойство.
Вы устанавливаете значения свойств в формате value{units}
. Модули и значения заполняются от значений по умолчанию, заданных в загруженном файле профиля. Для получения дополнительной информации смотрите, Задают Профили и Стереотипы.
Имя | ID | ParentID | StereotypeNames | UAVComponent_OnboardElement_Mass | UAVComponent_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 |
Чтобы присвоить ссылки требования на модель, добавьте requirementLinks
таблица с этими необходимыми столбцами:
Label
имя требования.
ID
ID требования.
SourceID
элемент архитектуры, к которому присоединяется требование.
DestinationType
то, как требования сохранены.
DestinationID
то, где требование расположено.
Type
тип требования.
Для получения дополнительной информации смотрите, Управляют Требованиями.
Метка | ID | SourceID | DestinationType | DestinationID | Ввод |
---|---|---|---|---|---|
rset#1 | 1
| components:1 | linktype_rmi_slreq | C:\Temp\rset.slreqx#1 | Implement |
rset#2 | 2
| components:0 | linktype_rmi_slreq | C:\Temp\rset.slreqx#2 | Implement |
rset#3 | 3
| ports:1 | linktype_rmi_slreq | C:\Temp\rset.slreqx#3 | Implement |
rset#4 | 4
| ports:3 | linktype_rmi_slreq | C:\Temp\rset.slreqx#4 | Implement |
Лицензия Simulink Requirements™ требуется, чтобы импортировать ссылки требования в модель архитектуры System Composer.
В connections
таблица, можно задать различные виды интерфейсных элементов сигнала как исходные элементы или целевые элементы. Связи могут быть сформированы от корневого порта архитектуры до порта компонента от порта компонента до корневого порта архитектуры, или между двумя корневыми портами архитектуры той же архитектуры.
Вложенный интерфейсный элемент mobile.elem
исходный элемент для связи между портом архитектуры и портом компонента. Вложенный элемент mobile.alt
целевой элемент для связи между портом архитектуры и портом компонента. Интерфейсный элемент mobile
и вложенный элемент mobile.alt
исходные элементы для связи между двумя портами архитектуры той же архитектуры.
Для получения дополнительной информации смотрите, Указывают Исходный Элемент или Целевой Элемент для Портов на Связи.
Имя | ID | SourcePortID | DestPortID | SourceElement | DestinationElement |
RootToComp1 | 1
| 5
| 4
| mobile.elem | |
RootToComp2 | 2
| 5
| 1
| mobile.alt | |
Comp1ToRoot | 3
| 2
| 6
| interface | |
Comp2ToRoot | 4
| 3
| 6
| mobile.alt | |
RootToRoot | 5
| 5
| 6
| mobile,mobile.alt |
Чтобы указать, что архитектура, которая будет импортирована, является программной архитектурой, задайте доменное поле структуры импорта как "Software"
. Для получения дополнительной информации смотрите Программные архитектуры Импорта и экспорта.
Чтобы экспортировать модель, передайте имя модели в качестве аргумента к exportModel
функция. Функция возвращает структуру, содержащую пять таблиц: components
, ports
, connections
, portInterfaces
, и requirementLinks
, и поле domain
это - вектор символов, который представляет тип экспортируемой архитектуры. Значение domain
'System'
для моделей архитектуры или 'Software'
для моделей программной архитектуры.
exportedSet = systemcomposer.exportModel(modelName)
Можно экспортировать набор в таблицы MATLAB и затем преобразовать те таблицы во внешние форматы файлов, включая Microsoft® Excel® или базы данных.
Если требования были импортированы в модель с помощью внешнего файла, для того, чтобы экспортировать и повторно импортировать те требования, обновление ссылочные ссылки требования в модели. Можно использовать этот API для ссылок требования, чтобы указать на импортированные требования, на которые ссылаются, вместо внешних документов. Можно использовать systemcomposer.updateLinksToReferenceRequirements
функция, чтобы высказать требование соединяет мнение с импортированными требованиями, на которые ссылаются, вместо внешних документов.
importModel
| exportModel
| systemcomposer.io.ModelBuilder
| systemcomposer.updateLinksToReferenceRequirements