输入和输出端口的组件
一个ComponentPort
对象表示一个系统的输入和输出端口作曲家™组件。这个类继承自systemcomposer.arch.BasePort
。这个类是来自systemcomposer.arch.Element
。
组件端口是由创建架构港口体系结构的组件,然后把组件端口。
addPort (compObj.Architecture“portName”,“在”);compPortObj = getPort (compObj,“portName”);
的名字
- - - - - -港口的名字名称的端口,指定为一个特征向量。
例子:“portName”
数据类型:字符
方向
- - - - - -港口方向“输入”
|“输出”
|“物理”
港口方向,指定为一个特征向量。
数据类型:字符
InterfaceName
- - - - - -接口名称接口与港口相关的名称,指定为一个特征向量。
数据类型:字符
接口
- - - - - -与港口相关接口与港口相关接口,指定为一个systemcomposer.interface.DataInterface
或systemcomposer.ValueType
对象。
连接器
- - - - - -端口连接器连接
- - - - - -端口是否连接真正的
或1|假
或0端口是否连接,指定为一个逻辑。
数据类型:逻辑
父
- - - - - -组件拥有港口组件拥有端口,指定为一个systemcomposer.arch.Architecture
对象。
ArchitecturePort
- - - - - -建筑港口架构端口组件映射到内部端口,指定为一个systemcomposer.arch.ArchitecturePort
对象。
UUID
- - - - - -通用唯一标识符通用唯一标识符为模型组件端口,指定为一个特征向量。
例子:91 d5de2c-b14c-4c76-a5d6-5dd0037c52df
数据类型:字符
ExternalUID
- - - - - -独特的外部标识符独特的外部标识符指定为一个特征向量。外部ID保存寿命模型组件的端口,通过保存的所有操作UUID
。
数据类型:字符
模型
- - - - - -父母模型指定的端口,父系统作曲家模型作为一个systemcomposer.arch.Model
对象。
万博1manbetxSimulinkHandle
- - - - - -万博1manbetx仿真软件处理万博1manbetx®处理的端口,指定为一个双
。这个属性是必需的几个模型相关的工作流程和使用万博1manbetx万博1manbetx仿真软件需求™api。
例子:处理=得到(对象,“SimulinkHan万博1manbetxdle”)
数据类型:双
万博1manbetxSimulinkModelHandle
- - - - - -万博1manbetx仿真软件处理父母模型万博1manbetx仿真软件处理父系统作曲家模型端口,指定为一个双
。这个属性是必需的几个模型相关的工作流程和使用万博1manbetx万博1manbetx仿真软件的需求api。
例子:处理=得到(对象,“SimulinkMod万博1manbetxelHandle”)
数据类型:双
setName |
为港口的名字 |
setInterface |
设置接口端口 |
createInterface |
创建和设置所有接口端口 |
applyStereotype |
应用原型架构模型元素 |
getStereotypes |
得到原型应用于元素的建筑模型 |
removeStereotype |
从模型元素删除刻板印象 |
连接 |
创建架构模型连接 |
setProperty |
设置属性值对应于原型应用于元素 |
getProperty |
得到属性值对应于原型应用于元素 |
getPropertyValue |
建筑的属性值 |
getEvaluatedPropertyValue |
从组件的属性评估值 |
getStereotypeProperties |
让原型属性名的元素 |
hasStereotype |
找到原型应用如果元素 |
hasProperty |
发现如果元素属性 |
getQualifiedName |
得到模型元素的限定名称 |
构建一个架构模型以编程方式使用系统作曲家™。
构建模型
建立一个模型,添加一个数据字典,数据接口,数据元素和值类型,然后添加组件,港口,和连接。分配一个拥有接口端口。模型建立后,您可以创建自定义视图关注具体的注意事项。你也可以查询模型收集不同的模型元素根据您指定的标准。
添加组件、港口、连接和接口
创建一个模型,提取其体系结构。
模型= systemcomposer.createModel (“mobileRobotAPI”);拱= model.Architecture;
创建一个接口数据字典,并添加一个数据接口。添加一个数据元素的数据接口。值类型添加到接口数据字典。赋值类型的数据元素的类型。链接模型的数据字典。
字典= systemcomposer.createDictionary (“SensorInterfaces.sldd”);界面= dictionary.addInterface (“GPSInterface”);元素= interface.addElement (“SignalStrength”);valueType = dictionary.addValueType (“SignalStrengthType”,“单位”,“数据库”,“描述”,GPS信号强度的);element.setType (valueType);linkDictionary(模型,“SensorInterfaces.sldd”);
将更改保存到数据字典的接口。
dictionary.save
在接口编辑器中查看接口。
添加组件、端口和连接。设置数据接口端口,稍后您将连接。
componentSensor = addComponent(拱门,“传感器”);sensorPorts = addPort (componentSensor.Architecture, {“MotionData”,“SensorData”},{“在”,“出”});sensorPorts (2) .setInterface(接口)componentPlanning = addComponent(拱门,“规划”);planningPorts = addPort (componentPlanning.Architecture, {“命令”,“SensorData1”,“MotionCommand”},{“在”,“在”,“出”});planningPorts (2) .setInterface(接口)componentMotion = addComponent(拱门,“运动”);motionPorts = addPort (componentMotion.Architecture, {“MotionCommand”,“MotionData”},{“在”,“出”});
创建一个接口上的所有“MotionData”
端口。添加一个拥有数据元素下的所有数据接口。分配数据元素”旋转”
与单位设置为值类型度
。
ownedInterface = motionPorts (2) .createInterface (“DataInterface”);ownedElement = ownedInterface.addElement (“旋转”);子接口= ownedElement.createOwnedType (“单位”,“度”);
在接口编辑器中查看接口。选择“MotionData”
港口运动
组件。在接口编辑器中,切换字典视图来港口界面视图。
连接组件接口规则和规则默认名称。接口规则连接端口组件共享相同的接口。默认情况下,这个名字规则连接端口组件共享相同的名称。
c_sensorData =连接(拱门,componentSensor componentPlanning,“规则”,“接口”);c_motionData =连接(拱门,componentMotion componentSensor);c_motionCommand =连接(拱门,componentPlanning componentMotion);
添加和连接架构端口
添加一个架构港口体系结构。
archPort = addPort(拱门,“命令”,“在”);
的连接
命令需要一个组件端口作为参数。获取组件的端口,然后连接。
compPort = getPort (componentPlanning,“命令”);c_Command =连接(archPort compPort);
保存模型。
model.save
打开模型。
systemcomposer.openModel (“mobileRobotAPI”);
由pressıng安排布局Ctrl + Shift +一个或者使用这个命令。
万博1manbetxSimulink.BlockDiagram.arrangeSystem (“mobileRobotAPI”);
创建和应用概要文件与刻板印象
概要文件是XML文件,可以应用于任何模型。你可以添加构造型属性配置文件,然后填充属性与特定的值。随着系统作曲家的内置分析功能,刻板印象帮助您优化系统性能,成本和可靠性。
创建概要文件和添加构造型
创建一个概要文件。
形象= systemcomposer.createProfile (“GeneralProfile”);
创建一个原型,它适用于所有的元素类型。
elemSType = addStereotype(概要文件,“projectElement”);
为不同类型的组件创建原型。你可以选择这些类型是基于你的设计需求。
pCompSType = addStereotype(概要文件,“physicalComponent”,“AppliesTo”,“组件”);sCompSType = addStereotype(概要文件,“softwareComponent”,“AppliesTo”,“组件”);
为连接创建一个原型。
sConnSType = addStereotype(概要文件,“standardConn”,“AppliesTo”,“连接器”);
添加属性
将属性添加到刻板印象。您可以使用属性来获取元数据模型元素和分析非功能性需求。这些属性被添加到所有的原型所应用的元素,在任何进口这个概要文件的模型。
addProperty (elemSType“ID”,“类型”,“uint8”);addProperty (elemSType“描述”,“类型”,“字符串”);addProperty (pCompSType“成本”,“类型”,“双”,“单位”,“美元”);addProperty (pCompSType“重量”,“类型”,“双”,“单位”,‘g’);addProperty (sCompSType“develCost”,“类型”,“双”,“单位”,“美元”);addProperty (sCompSType“develTime”,“类型”,“双”,“单位”,“小时”);addProperty (sConnSType“unitCost”,“类型”,“双”,“单位”,“美元”);addProperty (sConnSType“unitWeight”,“类型”,“双”,“单位”,‘g’);addProperty (sConnSType“长度”,“类型”,“双”,“单位”,“米”);
保存配置文件
profile.save;
概要文件应用到模型
这个概要文件应用到模型。
applyProfile(模型,“GeneralProfile”);
对组件应用的刻板印象。一些组件是物理组件,而另一些则软件组件。
applyStereotype (componentPlanning“GeneralProfile.softwareComponent”)applyStereotype (componentSensor“GeneralProfile.physicalComponent”)applyStereotype (componentMotion“GeneralProfile.physicalComponent”)
适用于所有连接的连接器的刻板印象。
batchApplyStereotype(拱,“连接器”,“GeneralProfile.standardConn”);
一般元素原型应用于所有连接器和港口。
batchApplyStereotype(拱,“组件”,“GeneralProfile.projectElement”);batchApplyStereotype(拱,“连接器”,“GeneralProfile.projectElement”);
设置属性为每个组件。
setProperty (componentSensor“GeneralProfile.projectElement.ID”,“001”);setProperty (componentSensor“GeneralProfile.projectElement.Description”,“中央单位对所有传感器”);setProperty (componentSensor“GeneralProfile.physicalComponent.Cost”,“200”);setProperty (componentSensor“GeneralProfile.physicalComponent.Weight”,“450”);setProperty (componentPlanning“GeneralProfile.projectElement.ID”,“002”);setProperty (componentPlanning“GeneralProfile.projectElement.Description”,“电脑”计划);setProperty (componentPlanning“GeneralProfile.softwareComponent.develCost”,“20000”);setProperty (componentPlanning“GeneralProfile.softwareComponent.develTime”,“300”);setProperty (componentMotion“GeneralProfile.projectElement.ID”,“003”);setProperty (componentMotion“GeneralProfile.projectElement.Description”,“马达和电动机控制器”);setProperty (componentMotion“GeneralProfile.physicalComponent.Cost”,“4500”);setProperty (componentMotion“GeneralProfile.physicalComponent.Weight”,“2500”);
设置连接的属性是相同的。
连接= [c_sensorData c_motionData c_motionCommand c_Command];为k = 1:长度(连接)setProperty(连接(k),“GeneralProfile.standardConn.unitCost”,“0.2”);setProperty(连接(k),“GeneralProfile.standardConn.unitWeight”,“100”);setProperty(连接(k),“GeneralProfile.standardConn.length”,“0.3”);结束
添加层次结构
添加两个组件命名控制器
和范围
在运动
组件。定义的端口。将组件连接到架构和彼此,一个连接器原型应用。层次架构图中创建了一个额外的详细级别指定组件内部是如何表现的。
motionArch = componentMotion.Architecture;motionController = motionArch.addComponent (“控制器”);controllerPorts = addPort (motionController.Architecture, {“controlIn”,“controlOut”},{“在”,“出”});controllerCompPortIn = motionController.getPort (“controlIn”);controllerCompPortOut = motionController.getPort (“controlOut”);motionScope = motionArch.addComponent (“范围”);scopePorts = addPort (motionScope.Architecture, {“scopeIn”,“scopeOut”},{“在”,“出”});scopeCompPortIn = motionScope.getPort (“scopeIn”);scopeCompPortOut = motionScope.getPort (“scopeOut”);c_planningController =连接(motionPorts (1) controllerCompPortIn);%外港连接,界面元素必须被指定c_planningScope =连接(scopeCompPortOut motionPorts (2),“DestinationElement”,“旋转”);c_planningConnect =连接(controllerCompPortOut scopeCompPortIn,“GeneralProfile.standardConn”);
保存模型。
model.save
由pressıng安排布局Ctrl + Shift +一个或者使用这个命令。
万博1manbetxSimulink.BlockDiagram.arrangeSystem (“mobileRobotAPI /运动”);
创建模型参考
模型引用可以帮助你组织大型模型层级和定义体系结构或行为一旦你可以重用。当一个组件引用另一个模型,任何现有的端口组件被删除,和港口存在的模型会出现在组件引用。
创建一个新的系统作曲家模型。转换传感器
组件到组件引用新模型的引用。添加额外的端口传感器
组件,您必须更新参考模型“mobileSensor”
。
referenceModel = systemcomposer.createModel (“mobileSensor”);referenceArch = referenceModel.Architecture;newComponents = addComponent (referenceArch,“ElectricSensor”);linkDictionary (referenceModel“SensorInterfaces.sldd”);referenceModel。保存linkToModel (componentSensor,“mobileSensor”);
一个原型应用于参考模型的体系结构和组件关联。
referenceModel.applyProfile (“GeneralProfile”);referenceArch.applyStereotype (“GeneralProfile.softwareComponent”);batchApplyStereotype (referenceArch“组件”,“GeneralProfile.projectElement”)
添加端口和连接组件的引用。
sensorPorts = addPort (componentSensor.Architecture, {“MotionData”,“SensorData”},{“在”,“出”});sensorPorts (2) .setInterface(接口)连接(拱、componentSensor componentPlanning,“规则”,“接口”);连接(拱门,componentMotion componentSensor);
保存模型。
referenceModel。保存model.save
使不同组件
你可以转换规划
组件组件使用一个变体makeVariant
函数。原始组件嵌入组件作为一个变体的选择一个可用的变体。你可以设计变体组件内的其他变体的选择和切换活动的选择。变体组件允许您以编程方式选择行为设计的结构模型来执行研究和分析。
[variantComp, choice1] = makeVariant (componentPlanning);
添加一个额外的变量选择命名PlanningAlt
。第二个参数定义了名称和第三个参数定义了标签。标签标识的选择。主动选择控制的标签。
choice2 = addChoice (variantComp, {“PlanningAlt”},{“PlanningAlt”});
创建必要的端口上PlanningAlt
。
setActiveChoice (variantComp choice2) planningAltPorts = addPort (choice2.Architecture, {“命令”,“SensorData1”,“MotionCommand”},{“在”,“在”,“出”});planningAltPorts (2) .setInterface(接口)
使PlanningAlt
活跃的变体。
setActiveChoice (variantComp“PlanningAlt”)
由pressıng安排布局Ctrl + Shift +一个或者使用这个命令。
万博1manbetxSimulink.BlockDiagram.arrangeSystem (“mobileRobotAPI /规划”);
保存模型。
model.save
清理
取消这个代码并运行它清理的工件由这个例子。
% bdclose (“mobileRobotAPI”)% bdclose (“mobileSensor”)% 万博1manbetxSimulink.data.dictionary.closeAll% systemcomposer.profile.Profile.closeAll%删除(“Profile.xml”)%删除(“SensorInterfaces.sldd”)
术语 | 定义 | 应用程序 | 更多的信息 |
---|---|---|---|
体系结构 | 作曲家系统架构代表了一个系统的组件以及它们如何互相界面结构和行为。您可以使用备用代表特定的架构视图。 | 不同类型的架构描述系统的不同方面:
|
组成建筑视觉 |
模型 | 作曲家模型是系统文件,其中包含建筑信息,包括组件、港口、连接器、接口和行为。 | 执行操作模式:
系统作曲家模型作为基金存储文件。 |
创建一个架构模型和接口要求链接 |
组件 | 一个组件是一个重要的、几乎独立的和可替换的部分系统,实现一个明确的函数在一个架构的背景下。一个组件定义了一个架构元素,比如一个函数,一个系统,硬件,软件,或其他概念实体。组件也可以一个子系统或子功能。 | 表示为一个街区,一个组件是一个体系结构模型的一部分,它可以分为可重用的构件。 | 组件 |
港口 | 港口是一个节点在一个组件或架构,代表一个点的交互环境。一个端口允许信息的流动和其他组件或系统。 | 有不同类型的端口:
|
港口 |
连接器 | 连接器线提供端口之间的连接。连接器描述组件之间的信息流动或架构。 | 一个连接器允许两个组件交互,而不定义相互作用的性质。端口上设置一个接口定义的组件如何交互。 | 连接 |
systemcomposer.arch.ArchitecturePort
|systemcomposer.arch.BasePort
|systemcomposer.arch.Element
|getPort
|addPort
|组件
你点击一个链接对应MATLAB命令:
运行该命令通过输入MATLAB命令窗口。Web浏览器不支持MATLAB命令。万博1manbetx
你也可以从下面的列表中选择一个网站:
选择中国网站(中文或英文)最佳站点的性能。其他MathWorks国家网站不优化的访问你的位置。