要构建System Composer™模型,您可以使用MATLAB以预定义的格式导入关于组件、端口和连接的信息®表对象。您可以扩展这些表并添加信息,如应用的原型、属性值、链接的模型引用、变体组件、接口和需求链接。
类似地,您可以导出关于组件、组件层次结构、组件上的端口、组件之间的连接、链接的模型引用、变量、元素上的原型、接口和需求链接的信息。
System Composer模型所需的最小结构由以下几组信息组成:
成分表
港口表
连接表
要导入其他元素,需要向表中添加列,并为这些元素添加特定的值。
有关组件的信息在MATLAB表中以值的形式根据预定义的列名传递,其中:
的名字
是组件名称。
ID
是用于映射子组件和向组件添加端口的用户定义ID。
ParentID
是父组件ID。
例如,Component_1_1
和Component_1_2
你是我的孩子吗Component_1
.
的名字 | ID | ParentID |
---|---|---|
根 |
0 |
|
Component_1 |
1 |
0 |
Component_1_1 |
2 |
1 |
Component_1_2 |
3. |
1 |
Component_2 |
4 |
0 |
关于端口的信息作为MATLAB表中预定义列名的值传递,其中:
的名字
是端口名称。
方向
可以是其中之一输入
,输出
,或物理
.
ID
是用户自定义的端口ID,用于将端口映射到端口连接。
列表
是添加端口的组件的ID。它是在components表中传递的组件。
的名字 | 方向 | ID | 列表 |
---|---|---|---|
端口1 |
输出 |
1 |
1 |
端口2 |
物理 |
2 |
4 |
Port1_1 |
输出 |
3. |
2 |
Port1_2 |
输入 |
4 |
3. |
关于连接的信息作为MATLAB表中预定义列名的值传递,其中:
的名字
是连接名。
ID
是连接ID,用于检查在导入过程中是否正确创建了连接。
友善的
是由指定的连接类型数据
默认情况下或物理
这个友善的
列是可选的,默认为数据
如果未定义。
SourcePortID
为源端口ID。
DestPortID
是目标端口的ID。
PortIDs
是一个以逗号分隔的端口id列表,用于支持非方向连接的物理端口。金宝app
的名字 | 友善的 | ID | SourcePortID | DestPortID | PortIDs |
---|---|---|---|---|---|
Conn1 |
数据 | 1 |
1 |
2 |
|
Conn2 |
物理 | 2 |
3、4 |
将上面创建的表格中的基本架构从MATLAB命令窗口导入到System Composer中。
systemcomposer.importModel(“importedModel”、组件端口,连接)
基本架构模型打开了。
提示
这些表不包括关于模型的可视化布局的信息。您可以手动安排组件或使用体系结构>安排>安排自动.
您可以将其他模型元素导入到基本结构表中。
要定义数据接口,请在中添加接口名称港口
表来关联相应的端口portInterfaces
表格创建一个类似于组件
,港口
,连接
.接口名称、相关元素名称以及数据类型、维度、单元、复杂性、最小值和最大值等信息被传递给importModel
函数的表格式如下所示。
的名字 | ID | ParentID | 数据类型 | 维 | 单位 | 复杂性 | 最低 | 最大限度 |
---|---|---|---|---|---|---|---|---|
interface1 |
1 |
DataInterface |
||||||
elem1 |
2 |
1 |
interface2 |
|||||
interface2 |
3. |
DataInterface |
||||||
elem2 |
4 |
1 |
双 |
1 |
"" |
真正的 |
“[]” |
“[]” |
elem3 |
5 |
1 |
valueType |
3. |
厘米 |
真正的 |
0 |
One hundred. |
valueType |
6 |
int32 |
3. |
厘米 |
真正的 |
0 |
One hundred. |
|
interface3 |
7 | PhysicalInterface |
||||||
电气 |
8 | 7 |
连接:基础电气 |
|||||
机械 |
9 | 7 |
连接:foundation.mechanical.mechanical.rotational |
数据接口interface1
和interface2
是用数据元素定义的吗elem1
和elem2
下interface1
.数据元素elem2
类型是interface2
继承了它的结构。有关更多信息,请参见嵌套接口以重用数据.
请注意
拥有的接口不能嵌套。不能将拥有的接口定义为数据元素的数据类型。有关更多信息,请参见定义端口本地拥有的接口.
这个数据接口interface1
包含一个数据元素elem3
,由值类型进行类型化valueType
并继承它的属性。有关更多信息,请参见创建值类型作为接口.
这个物理接口interface3
包括物理元素电气
和机械
,它们在各自的物理域下键入。有关更多信息,请参阅指定端口上的物理接口.
要将添加的数据接口映射到端口,请添加列InterfaceID
在港口
表,并指定要链接的数据接口。例如,interface1
映射到端口1
如下所示。
的名字 | 方向 | ID | 列表 | InterfaceID |
---|---|---|---|---|
端口1 |
输出 |
1 |
1 |
interface1 |
端口2 |
输入 |
2 |
4 |
interface2 |
Port1_1 |
输出 |
3. |
2 |
"" |
Port1_2 |
输入 |
4 |
3. |
interface1 |
您可以像添加中的任何其他组件一样添加变体组件组件
表,除非指定活动变量的名称。将选择作为子组件添加到变量组件。属性中的字符串值指定变量选择变量控制
列。您可以在变异条件
列。有关更多信息,请参见创建变体.
添加一个变体组件瓦康普
使用组件类型变体
与选择Choice1
和Choice2
设置Choice2
作为主动选择。
添加一个引用的Simulink金宝app®模型,将组件类型更改为行为
并指定引用模型名称金宝appsimulink_model
.
添加一个状态流®图表组件上的行为,将组件类型更改为StateflowBehavior
.如果System Composer没有检测到statflow的许可或安装,则使用作文
而是导入组件。
的名字 | ID | ParentID | ReferenceModelName | 组件类型 | ActiveChoice | 变量控制 | 变异条件 |
---|---|---|---|---|---|---|---|
根 |
0 |
||||||
Component1 |
C1 |
0 |
金宝appsimulink_model |
行为 |
|||
瓦康普 |
V2 |
0 |
变体 |
Choice2 |
|||
Choice1 |
C6 |
V2 |
汽油 |
||||
Choice2 |
C7 |
V2 |
柴油机 |
||||
Component3 |
C3 |
0 |
StateflowBehavior |
||||
Component1_1 |
C4 |
C1 |
|||||
Component1_2 |
C5 |
C1 |
通过修改后的组件
表与港口
和连接
表的importModel
函数。
要在组件、端口和连接上应用原型,请添加stereotypename
列的组件
表格要为原型设置属性,请添加一个列,该列的名称使用概要文件名称、原型名称和属性名称定义。例如,为列命名UAVComponent_OnboardElement_Mass
对于一个UAVComponent
配置文件,OnBoardElement
刻板印象,质量
财产。
您可以按照该格式设置属性值值{单位}
.单元和值由加载的配置文件中定义的默认值填充。有关更多信息,请参见定义概要文件和原型.
的名字 | ID | ParentID | stereotypename | UAVComponent_OnboardElement_Mass | UAVComponent_OnboardElement_Power |
---|---|---|---|---|---|
根 |
0 |
||||
Component_1 |
1 |
0 |
UAVComponent。OnboardElement |
0.93{公斤} |
0.65 {mW} |
Component_1_1 |
2 |
1 |
|||
Component_1_2 |
3. |
1 |
UAVComponent。OnboardElement |
0.93{公斤} |
"" |
Component_2 |
4 |
0 |
要将需求链接分配到模型,添加一个requirementLinks
表与这些所需列:
标签
是需求的名称。
ID
是需求的ID。
SourceID
是附加需求的体系结构元素。
目的型
是如何保存需求的。
DestinationID
是需求所在的位置。
类型
是需求类型。
有关更多信息,请参见管理需求.
标签 | ID | SourceID | 目的型 | DestinationID | 类型 |
---|---|---|---|---|---|
资源集# 1 |
1 |
组件:1 |
链路类型\u rmi\u slreq |
C: \ Temp \ rset.slreqx # 1 |
实现 |
资源集# 2 |
2 |
组件:0 |
链路类型\u rmi\u slreq |
C: \ Temp \ rset.slreqx # 2 |
实现 |
资源集# 3 |
3. |
港口:1 |
链路类型\u rmi\u slreq |
C: \ Temp \ rset.slreqx # 3 |
实现 |
资源集# 4 |
4 |
港口:3 |
链路类型\u rmi\u slreq |
C: \ Temp \ rset.slreqx # 4 |
实现 |
一个金宝app仿真软件需求™将需求链接导入到System Composer体系结构模型中需要许可证。
在连接
表中,可以将不同类型的信号接口元素指定为源元素或目标元素。可以从根体系结构端口到组件端口,从组件端口到根体系结构端口,或在同一体系结构的两个根体系结构端口之间形成连接。
嵌套的接口元素mobile.elem
是架构端口和组件端口之间连接的源元素。嵌套元素mobile.alt
是架构端口和组件端口之间连接的目标元素。界面元素移动
嵌套元素mobile.alt
是同一体系结构的两个体系结构端口之间连接的源元素。
有关更多信息,请参见为连接上的端口指定源元素或目标元素.
的名字 | ID | SourcePortID | DestPortID | SourceElement | DestinationElement |
RootToComp1 |
1 |
5 |
4 |
mobile.elem |
|
RootToComp2 |
2 |
5 |
1 |
mobile.alt |
|
Comp1ToRoot |
3. |
2 |
6 |
接口 |
|
Comp2ToRoot |
4 |
3. |
6 |
mobile.alt |
|
RootToRoot |
5 |
5 |
6 |
移动、mobile.alt |
要指定要导入的体系结构是一个软件体系结构,可以指定导入结构的域字段为“软件”
.有关更多信息,请参见导入和导出软件架构.
要导出模型,请将模型名作为参数传递给exportModel
函数。该函数返回一个包含5个表的结构:组件
,港口
,连接
,portInterfaces
,requirementLinks
,和田野域
这是一个字符向量,表示要导出的架构类型。的价值域
是“系统”
用于体系结构模型或“软件”
用于软件架构模型。
exportedSet=systemcomposer.exportModel(modelName)
您可以将集合导出到MATLAB表,然后将这些表转换为外部文件格式,包括微软®Excel®或数据库。
如果需求使用外部文件导入到模型中,为了导出和重新导入这些需求,请更新模型中的引用需求链接。您可以为需求链接使用此API来指向导入的引用需求,而不是外部文档。你可以使用systemcomposer.updateLinksToReferenceRequirements
函数使需求链接指向导入的引用需求,而不是外部文档。
importModel
|exportModel
|systemcomposer.io.ModelBuilder
|systemcomposer.updateLinksToReferenceRequirements