体系结构模型中的所有连接器
A.基本连接器
无法构造对象。请创建systemcomposer.arch.Connector
或者一个systemcomposer.arch.PhysicalConnector
反对systemcomposer.arch.BaseConnector
类派生自systemcomposer.arch.Element
.
名称
—连接器的名称连接器的名称,指定为字符向量。
例子:“newConnector”
数据类型:字符
父母亲
—拥有连接器的体系结构拥有连接器的体系结构,指定为systemcomposer.arch.Architecture
对象。
港口
—连接端口UUID
—通用唯一标识符模型连接器的通用唯一标识符,指定为字符向量。
例子:“91d5de2c-b14c-4c76-a5d6-5dd0037c52df”
数据类型:字符
外部液体
—唯一外部标识符唯一的外部标识符,指定为字符向量。外部ID将在模型连接器的整个生命周期和所有保存UUID
.
数据类型:字符
模型
—父母模型父系统编写器™ 连接器的型号,指定为systemcomposer.arch.Model
对象。
金宝appSimulinkHandle
—金宝app仿真软件处理金宝app®连接器的句柄,指定为双
。此属性对于多个与Simulink相关的工作流和使用金宝app金宝app模拟链路要求™API。
例子:handle=get(对象,'Simuli金宝appnkHandle')
数据类型:双
金宝appSimulinkModelHandle
—金宝app父模型的Simulink句柄金宝appSimulink的父系统Composer模型的连接器句柄,指定为双
。此属性对于多个与Simulink相关的工作流和使用金宝app金宝app仿真软件的需求API。
例子:handle=get(对象,'Simuli金宝appnkModelHandle')
数据类型:双
applyStereotype |
将原型应用到架构模型元素 |
getStereotypes |
获取应用于架构模型元素的原型 |
脱模 |
从模型元素中删除原型 |
getProperty |
获取应用于元素的原型对应的属性值 |
setProperty |
设置与应用于元素的原型相对应的属性值 |
getPropertyValue |
获得建筑产权的价值 |
getEvaluatedPropertyValue |
从组件获取属性的评估值 |
获取模板属性 |
获取元素上的构造型属性名称 |
getDestinationElement |
获取在用于连接的目标端口上选择的数据元素 |
getSourceElement |
获取在源端口上为连接选择的数据元素 |
hasStereotype |
查找元素是否应用了原型 |
hasProperty |
查找元素是否具有属性 |
摧毁 |
删除模型元素 |
使用System Composer™以编程方式构建体系结构模型。
构建模型
要构建模型,请添加具有数据接口、数据元素和值类型的数据字典,然后添加组件、端口和连接。为端口分配一个拥有的接口。在构建模型之后,您可以创建自定义视图来关注特定的注意事项。您还可以查询模型,根据您指定的条件收集不同的模型元素。
添加组件、端口、连接和接口
创建模型并提取其架构。
model=systemcomposer.createModel(“mobileRobotAPI”);arch=模型。架构;
创建接口数据字典并添加数据接口。向数据接口添加数据元素。向接口数据字典添加值类型。将数据元素的类型指定给值类型。将数据字典链接到模型。
字典= systemcomposer.createDictionary (“SensorInterfaces.sldd”);界面= dictionary.addInterface (“GPSInterface”);元素= interface.addElement (“信号强度”);valueType = dictionary.addValueType (“信号强度类型”,“单位”,“dB”,“说明”,“GPS信号强度”); element.setType(valueType);链接字典(模型,“SensorInterfaces.sldd”);
将更改保存到接口数据字典。
dictionary.save
在“接口编辑器”中查看接口。
添加组件、端口和连接。将数据接口设置为端口,稍后再连接。
componentSensor = addComponent(拱门,“传感器”);sensorPorts = addPort (componentSensor。架构,{“MotionData”,“传感器数据”},{“在”,“出”});传感器端口(2)。设置接口(接口)组件规划=添加组件(arch,“规划”);planningport=addPort(componentPlanning.Architecture{“命令”,“传感器数据1”,“运动命令”},{“在”,“在”,“出”});planingports (2).setInterface(interface) = addComponent(arch,“运动”);motionPorts=addPort(componentMotion.Architecture{“运动命令”,“MotionData”},{“在”,“出”});
在服务器上创建一个拥有的接口“MotionData”
端口。在拥有的数据接口下添加拥有的数据元素。分配数据元素"轮换“
为单位设置为的值类型度
.
ownedInterface = motionPorts (2) .createInterface (“数据接口”);ownedElement=ownedInterface.addElement(“轮换”);子接口= ownedElement.createOwnedType (“单位”,“学位”);
在“接口编辑器”中查看接口。选择“MotionData”
港口运动
在接口编辑器中,从字典视图到端口接口视图.
使用接口规则和默认名称规则连接组件。接口规则连接共享相同接口的组件上的端口。默认情况下,名称规则连接共享相同名称的组件上的端口。
c_传感器数据=连接(拱、部件传感器、部件规划、,“规则”,“接口”);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 +一个或使用此命令。
金宝appSimulink.BlockDiagram.arrangeSystem(“mobileRobotAPI”);
用原型创建和应用概要文件
概要文件是可以应用于任何模型的XML文件。您可以将带有属性的原型添加到概要文件中,然后用特定的值填充属性。与System Composer的内置分析功能一起,构造型帮助您优化系统的性能、成本和可靠性。
创建配置文件并添加原型
创建一个概要文件。
profile=systemcomposer.createProfile(“GeneralProfile”);
创建一个应用于所有元素类型的原型。
elemSType=addStereotype(profile,“projectElement”);
为不同类型的组件创建原型。您可以根据设计需要选择这些类型。
pCompSType=addStereotype(profile,“物理组件”,“AppliesTo”,“组件”);sCompSType = addStereotype(概要文件,“softwareComponent”,“AppliesTo”,“组件”);
为连接创建一个原型。
sConnSType=addStereotype(profile,“standardConn”,“AppliesTo”,“连接器”);
添加属性
向原型添加属性。您可以使用属性来捕获模型元素的元数据,并分析非功能性需求。在导入概要文件的任何模型中,这些属性被添加到应用原型的所有元素中。
addProperty (elemSType“ID”,“类型”,“uint8”);addProperty (elemSType“说明”,“类型”,“字符串”);addProperty (pCompSType“成本”,“类型”,“双”,“单位”,“美元”);addProperty (pCompSType“重量”,“类型”,“双”,“单位”,‘g’);添加属性(sCompSType,“develCost”,“类型”,“双”,“单位”,“美元”);添加属性(sCompSType,“开发时间”,“类型”,“双”,“单位”,“小时”);addProperty (sConnSType“unitCost”,“类型”,“双”,“单位”,“美元”);addProperty (sConnSType“单位重量”,“类型”,“双”,“单位”,‘g’);addProperty (sConnSType“长度”,“类型”,“双”,“单位”,“米”);
保存配置文件
profile.save;
将概要文件应用于模型
将概要文件应用到模型。
applyProfile(型号,“GeneralProfile”);
将原型应用于组件。有些组件是物理组件,有些则是软件组件。
applyStereotype(组件规划、,“GeneralProfile.softwareComponent”) applyStereotype (componentSensor“GeneralProfile.physicalComponent”)applyStereotype(组件运动,“GeneralProfile.physicalComponent”)
将连接器原型应用于所有连接。
batchApplyStereotype(arch,“连接器”,“通用配置文件.标准连接”);
将通用元素原型应用于所有连接器和端口。
batchApplyStereotype(arch,“组件”,“GeneralProfile.projectElement”); batchApplyStereotype(arch,“连接器”,“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(组件规划、,'GeneralProfile.projectElement.ID','002');setProperty(组件规划、,'GeneralProfile.projectElement.Description',“电脑”计划);setProperty(组件规划、,'GeneralProfile.softwareComponent.develCost',“20000”);setProperty(组件规划、,'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_传感器数据c_运动数据c_运动命令c_命令];对于k=1:length(connections)setProperty(connections(k)),“GeneralProfile.standardConn.unitCost”,“0.2”);设置属性(连接(k),“GeneralProfile.standardConn.unitWeight”,'100');设置属性(连接(k),'通用配置文件.标准连接长度',“0.3”);终止
添加层次结构
添加两个组件控制器
和范围
内部运动
组件。定义的端口。应用连接器构造型将组件连接到体系结构,并相互连接。体系结构图中的层次结构创建了额外的详细级别,指定组件在内部的行为方式。
motionArch=componentMotion.Architecture;motionController=motionArch.addComponent(“控制器”);controllerport=addPort(motionController.Architecture{“控制”,“控制输出”},{“在”,“出”});controllerCompPortIn = motionController.getPort (“控制”);controllercomportout=motionController.getPort(“控制输出”);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,运动端口(2),“目的元素”,“轮换”);c_planningConnect=connect(控制器端口、范围端口、,“通用配置文件。标准连接”);
保存模型。
model.save
通过pressıng安排布局Ctrl + Shift +一个或使用此命令。
金宝appSimulink.BlockDiagram.arrangeSystem(“mobileRobotAPI /运动”);
创建模型引用
模型引用可以帮助您分层组织大型模型,并定义架构或行为,然后您可以重用。当一个组件引用另一个模型时,该组件上的任何现有端口都将被删除,被引用模型上存在的端口将出现在该组件上。
创建一个新的System Composer模型。转换传感器
组件转换为引用组件以引用新模型。要在传感器
组件时,您必须更新所引用的模型“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”);BatchApplyStereType(referenceArch,“组件”,“GeneralProfile.projectElement”)
向参考组件添加端口和连接。
sensorPorts = addPort (componentSensor。架构,{“MotionData”,“传感器数据”},{“在”,“出”});sensorPorts (2) .setInterface(接口)连接(拱、componentSensor componentPlanning,“规则”,“接口”); 连接(拱、组件运动、组件传感器);
保存模型。
referenceModel.save model.save
制造变型部件
您可以将计划
组件转换为变量组件制造变量
功能。原始组件作为可用的变量选项之一嵌入到变量组件中。您可以在变量组件中设计其他变量选项并切换活动选项。变量组件允许您在架构模型中以编程方式选择行为设计,以执行权衡研究和分析。
[variantComp, choice1] = makeVariant (componentPlanning);
添加一个名为PlanningAlt
。第二个参数定义名称,第三个参数定义标签。标签标识选项。活动选项由标签控制。
choice2=addChoice(variantComp{“PlanningAlt”},{“PlanningAlt”});
创建所需的端口PlanningAlt
.
setActiveChoice(variantComp,choice2)架构,{“命令”,“传感器数据1”,“运动命令”},{“在”,“在”,“出”});planningAltPorts (2) .setInterface(接口)
制作PlanningAlt
活性变异体。
setActiveChoice (variantComp“PlanningAlt”)
通过pressıng安排布局Ctrl + Shift +一个或使用此命令。
金宝appSimulink.BlockDiagram.arrangeSystem(“mobileRobotAPI/规划”);
保存模型。
model.save
清理
取消对该代码的注释并运行它来清理由该示例创建的工件。
% bdclose(“mobileRobotAPI”)%bdclose(‘移动传感器’)%S金宝appimulink.data.dictionary.closeAll% systemcomposer.profile.Profile.closeAll%删除(“Profile.xml”)%删除(“SensorInterfaces.sldd”)
学期 | 定义 | 应用程序 | 更多信息 |
---|---|---|---|
体系结构 | 一个System Composer体系结构代表了一个由组件组成的系统,以及它们如何在结构上和行为上相互接口。您可以使用备用视图来表示特定的体系结构。 | 不同类型的体系结构描述了系统的不同方面:
|
可视化地构建体系结构 |
模型 | System Composer模型是包含架构信息的文件,包括组件、端口、连接器、接口和行为。 | 对模型执行操作:
System Composer模型存储为SLX文件。 |
创建具有接口和需求链接的体系结构模型 |
组成部分 | 组件是系统中一个重要的、几乎独立的、可替换的部分,在体系结构的上下文中实现明确的功能。组件定义了体系结构元素,如功能、系统、硬件、软件或其他概念实体。组件也可以是子系统或子功能。 | 组件表示为一个块,它是体系结构模型的一部分,可以划分为可重用的构件。 | 组件 |
港口城市 | 端口是组件或体系结构上的节点,表示与其环境的交互点。端口允许与其他组件或系统之间的信息流。 | 有不同类型的端口:
|
港口 |
连接器 | 连接器是在端口之间提供连接的线路。连接器描述了信息如何在组件或体系结构之间流动。 | 连接器允许两个组件在不定义交互性质的情况下进行交互。在端口上设置接口以定义组件如何交互。 | 连接 |
学期 | 定义 | 应用程序 | 更多信息 |
---|---|---|---|
物理子系统 | 物理子系统是具有Simscape™连接的Simuli金宝appnk子系统。 | 具有Simscape连接的物理子系统使用一种物理网络方法,这种方法适合用真实的物理组件模拟系统,并表示一个数学模型。 | 使用Simscape描述组件行为 |
物理端口 | 物理端口表示Simscape物理建模连接器端口,称为连接端口(Simscape). | 使用物理端口连接架构模型中的组件或启用Simulink子系统中的物理系统。金宝app | 定义组件的物理端口 |
物理连接器 | 物理连接器可以表示特定物理域的无方向守恒连接。连接器也可以表示物理信号。 |
使用物理连接器连接表示系统特性的物理组件以进行数学模拟。 | 具有Simscape行为的直流电机结构模型 |
物理接口 | 物理接口定义了流经物理端口的信息类型。一个接口可以分配给多个端口。一个物理接口是一个复合接口,相当于一个 |
使用物理接口捆绑物理元素,以描述使用至少一个物理域的物理模型。 | 指定端口上的物理接口 |
物理元素 | 物理元素描述物理接口的分解。物理元素相当于 |
定义类型 将物理元素作为物理域,以便在物理模型中使用该域。 |
使用Simscape描述组件行为 |
systemcomposer.arch.Element
|systemcomposer.arch.Connector
|systemcomposer.arch.PhysicalConnector
|组成部分
您单击了与此MATLAB命令对应的链接:
通过在MATLAB命令窗口中输入命令来运行该命令。Web浏览器不支持MATLAB命令。金宝app
你也可以从以下列表中选择一个网站:
选择中国站点(中文或英文)以获得最佳站点性能。其他MathWorks国家/地区站点不适合您所在位置的访问。