主要内容

systemcomposer.analysis.Instance

在分析实例中表示模型元素的类

创建

创建一个架构的实例。

=实例化(模型实例。架构,“LatencyProfile”'newinstance'......'功能',@ calculatelatency,'争论''3''严格的',真的,......“NormalizeUnits”,错误的,“方向”'预购'

特性

全部展开

实例名称,指定为字符向量。

例子:'newinstance'

数据类型:字符

对象的功能

getValue 从元素实例获取属性的值
设定值 设置元素实例的属性值
hasValue 查找元素实例是否具有属性值
isArchitecture 查找实例是否是体系结构实例
isComponent. 查找实例是组件实例
IsConnector. 查找实例是连接器实例
isPort 查找实例是端口实例

例子

全部折叠

此示例显示了用于分析其接线中延迟的系统的实例化。所用材料是铜,纤维和WiFi。

使用刻板和属性创建延迟配置文件

使用基本,连接器,组件和端口刻板印象创建系统编写器配置文件。根据分析所需的每个刻板印象添加默认值的属性。

形象= systemcomposer.profile.Profile.createProfile (“LatencyProfile”);添加带有属性的基本原型latencybase = profile.addstereotype(“LatencyBase”);latencybase.addproperty('潜伏'“类型”“双”);latencybase.addproperty('数据速率'“类型”“双”“DefaultValue”'10');%添加连接器刻板印象与属性connlatency = profile.addstereotype(“ConnectorLatency”'父母'......“LatencyProfile。LatencyBase”);connLatency.addProperty (“安全”“类型”'布尔值'“DefaultValue”'真的');connLatency.addProperty ('linkdistance'“类型”“双”);添加带有属性的组件原型nodelatency = profile.addstereotype('nodelatency''父母'......“LatencyProfile。LatencyBase”);nodelatency.addproperty('资源'“类型”“双”“DefaultValue”'1');添加带有属性的端口构造型portlatency = profile.addstereotype('portlatency''父母'......“LatencyProfile。LatencyBase”);portLatency.addProperty ('queuedepth'“类型”“双”“DefaultValue”“4.29”);portLatency.addProperty (“假”“类型”'int32');

使用分析功能实例化

创建一个新模型并应用概要文件。在模型中创建组件、端口和连接。将原型应用于模型元素。最后,使用分析函数实例化。

Model = SystemComposer.createModel(“archModel”,真的);创建新模型arch = model.architecture;model.applyprofile(“LatencyProfile”);%应用配置文件到模型%创建组件,端口和连接组件= addComponent(拱门,{“传感器”'规划''运动'});SensorPorts = Addport(组件(1).Architecture,{'motiondata''sensoldata'}, {'在'“出”});planningPorts = addPort(组件(2)。架构,{'sensoldata''MotionCommand'}, {'在'“出”});MotionPorts = Addport(组件(3).architecture,{'MotionCommand''motiondata'}, {'在'“出”});c_sensordata = connect(arch,组件(1),组件(2));c_motiondata = connect(arch,组件(3),组件(1));c_motioncommand = connect(arch,组件(2),组件(3));%清理画布万博1manbetxsimulink.blockdiagram.ArrangeSystem(“archModel”);%批量将刻板透镜应用于模型元素batchapplystereotype(arch,'成分''latencyprofile.nodelatency');batchapplystereotype(arch,“端口”'latencyprofile.portlatency');batchapplystereotype(arch,'连接器''latencyprofile.connectorLatency');%使用分析函数实例化=实例化(模型实例。架构,“LatencyProfile”'newinstance'......'功能',@ calculatelatency,'争论''3''严格的',真的,......“NormalizeUnits”,错误的,“方向”'预购'
实例=具有属性的体系结构:规范:[1x1 systemcomposer.arch.architecture] isstrict:1标准化:0分析功能:@calculatelatency分析:预购分析:'3'立即扫描:0组件:[1x3 systemposer.analysis.componentinstance]端口:[0x0 systemcomposer.analysis.portInstance]连接器:[1x3 systemcomposer.analysis.connertinstance]名称:'newinstance'

检查组件、端口和连接器实例

从组件、端口和连接器实例获取属性。

defaultResources = instance.Components (1) .getValue (“LatencyProfile.NodeLatency.resources”
DefaulTresources = 1
defaultsecure = instance.connectors(1).getValue('latencyprofile.concurerlatency.secure'
defaultsecure =.逻辑1
defaultueuedepth = instance.components(1).ports(1).getValue('latencyprofile.portlatency.queedepth'
defaultueuedepth = 4.2900.

清理

取消注释以下代码,并运行以清理由本示例创建的工件:

%bdclose('archmodel')% systemcomposer.profile.Profile.closeAll

概述

这个例子展示了如何将一个典型的汽车电气系统建模为一个体系结构模型并进行原语分析。模型中的元素可以宽泛地分组为源或负载。源和加载的各种属性被设置为原型的一部分。示例使用迭代规范API的方法以迭代模型的每个元素并使用刻板印象属性运行分析。

模型的结构

发电机在发动机运转时给蓄电池充电。电池和发电机一起支持车辆中的电气负载,如ECU、无线电和车身控制。万博1manbetx感应负载如电机和其他线圈具有InRushCurrent定义了刻板印象属性。基于每个组件上设置的属性,执行以下分析:

  • 全部的KeyOffLoad

  • 需要的天数KeyOffLoad放电30%的电池。

  • 全部的Crankinginrush.当前的。

  • 全部的起动当前的。

  • 基于电池冷启动安培(CCA)的电池在0°F下启动汽车的能力。放电时间根据Puekert系数(k)计算,该系数描述了放电速率与电池可用容量之间的关系。

加载模型并运行分析

archModel = systemcomposer.openModel (“scExampleAutomotiveElectricalSystemAnalysis”);%实例化电池尺寸类别用于存储的分析功能% 分析结果。objcomputeBatterySizing = computeBatterySizing;%使用迭代器运行分析。archModel.iterate ('自顶向下'、@computeLoad objcomputeBatterySizing);%显示分析结果。objcomputebattersized.displayresults;
总KeyOffload:keyoffload所需的天数为卸货30%的电池:55.789。总曲轴突峰电流:70总曲柄电流:104所指定电池的CCA足以在0 F处启动汽车。

关闭模式

bdclose(“scExampleAutomotiveElectricalSystemAnalysis”);

更多关于

全部展开

在R2019A介绍