作曲家™使用体系结构规范导入系统systemcomposer.io.ModelBuilder
实用程序类。这些架构规范可以定义在一个外部来源,如一个Excel®文件。
在系统作曲家,架构完全由四组信息:
下面的例子使用了systemcomposer.io.ModelBuilder
类通过上述架构信息和导入系统作曲家模型。
在这个例子中,架构信息的小型无人机系统中定义一个Excel电子表格,用于创建一个系统作曲家体系结构模型。
外部源文件
#元素:元素的名称。可以组件或端口名称。父:父元素的名称。#类:可以是组件或端口(端口)的输入/输出方向。#域:映射组件属性。属性配置文件中定义的“制造商”UAVComponent下原型PartDescriptor映射到域值在excel中源文件。#:映射组件属性。属性“ModelName”定义在概要文件UAVComponent刻板印象PartDescriptor映射到值在excel中源文件。# InterfaceName:如果端口类型的类。InterfaceName地图界面与港口的名称。 # ConnectedTo : In case of port type, it specifies the connection to other port defined in format "ComponentName::PortName".
#名称:接口或元素的名称。#父:父接口名称的名字(只适用于元素)。#数据类型:数据类型的元素。可以另一个总线接口格式:InterfaceName #尺寸:尺寸的元素。#单元:单元属性的元素。#最低:最小值的元素。#最大:元素的最大值。
步骤1。实例化ModelBuilder
类
您可以实例化ModelBuilder
类配置文件名称。
指定模型的名称。
指定配置文件的名称。
指定源文件的名字读架构信息。
实例化ModelBuilder
。
步骤2。构建接口数据定义
阅读外部源文件中的信息DataDefinitions.xlsx
构建数据模型的接口。
从Excel创建MATLAB®表源文件。
力readtable
从第二行开始读。
的systemcomposer.io.IdService
类生成唯一的ID
对于一个给定的键。
的接口,接口名称添加到模型构建器。
获得独特的界面ID
。
getID(容器,键)
生成或返回相同(如果键已经存在)值为输入键在容器内。
使用builder.addInterface
添加数据字典的接口。
在一个元素的情况下,阅读的元素属性和元素添加到父接口。
的ElementID
在接口是独一无二的。附加E
在一个的开始ID
均匀性。生成的ID
输入元素的父接口名作为容器内是独一无二的。
设置数据类型,尺寸,单位,最小和最大属性的元素。
确保输入builder效用函数总是一个字符串。
使用builder.addElementInInterface
添加一个元素的属性界面。
步骤3。构建体系结构规范
从Excel架构规范是由MATLAB表源文件。
遍历表中的每一行。
读取Excel文件的每一行和列。
填充的内容表。
的根ID
是默认设置为零。
使用builder.addComponent
添加一个组件。
读取属性值。
使用builder.setComponentProperty
建立原型和属性值。
在这个例子中,连接的端口名和父组件名称作为键为端口生成惟一的id。
港口在根结构,列表
假设是0
。
使用builder.addPort
添加一个端口。
的InterfaceName
指定接口的名称与港口。
接口ID。
getID
将返回相同的id在步骤2中已经生成而添加接口。
使用builder.addInterfaceToPort
接口映射到港口。
读了与
建立组件之间的连接信息。
与
的格式:
(DestinationComponentName:: DestinationPortName)
对于这个示例,考虑当前端口的连接。
得到的端口ID连接端口。
在这个例子中,端口ID是由连接端口名和父组件名称。如果端口ID已经生成,getID
为输入键函数返回相同的ID。
填充表的连接。
使用builder.addConnection
添加连接。
步骤3。导入模型从填充表builder.build
函数
清理工件。
版权2020年MathWorks公司。