主要内容

分析架构

在System Composer™体系结构上执行静态分析,以评估系统的特征。分析是一种对体系结构的某些特性进行定量评价的方法。静态分析使用分析功能和系统模型中捕获的属性参数值。使用分析来计算系统的总体可靠性、质量卷升、性能或热特性,或执行SWaP分析。

编写基于元素属性的静态分析,执行数据驱动的贸易研究并验证系统需求。考虑一个机电系统,其中有成本和重量之间的权衡,更轻的组件往往成本更高。决策过程包括基于系统元素的属性分析系统的总体成本和权重,并对这些属性进行迭代,以得到一个从成本和权重角度都可以接受的解决方案。

分析工作流包括以下步骤:

  1. 定义一个包含一组描述一些可分析属性(例如,成本和权重)的原型的概要文件。

  2. 将配置文件应用于架构模型,并将其从该配置文件添加到模型的元素(组件,端口或连接器)的构造型。

  3. 为这些元素的属性指定值。

  4. 创建体系结构模型的实例,它是一个元素树,对应于模型层次结构,其中包含扩展的所有共享体系结构和应用变体配置。

  5. 写一个分析函数来计算研究所需的值。这是一个静态约束求解器,用于获取系统模型中相关属性的参数和值。

  6. 运行分析函数,然后在analysis Viewer中查看分析计算和结果。

设置分析的属性

这个例子展示了如何通过向模型元素添加原型和设置属性值来支持分析。该模型为机器人系统简单体系结构模型中各部件总成本与权重之间的权衡提供了依据。

打开模型

打开systemwithprops.建筑模型。

导入配置文件

通过首先导入概要文件来启用属性分析。在工具栏中,导航到建模>配置文件>进口并浏览到配置文件以导入它。

应用原型到模型元素

将构造型应用到作为分析一部分的所有模型元素。使用将原型应用于特定类型的所有元素的菜单项。选择应用刻板印象>适用于然后组件>这一层.如果要计算累积值,请确保将原型应用到顶层组件。

设置属性值

在属性检查器中为每个模型元素设置属性值。要打开属性检查器,导航到建模>设计>属性检查器

  1. 选择模型元素。

  2. 在属性检查器中,展开属性的原型名称和类型值。

机器人组件从名为物理组件的物理检查器显示的机器人组成刻板印象:单位成本3000美元,卷0米立方,重量20千克。

为分析创建一个模型实例

创建一个可以用于分析的体系结构模型实例。一个实例是体系结构模型元素在给定时间点的出现。实例冻结实例模型中组件的活动变量或模型引用。

一个实例模型是实例的集合。您可以使用对模型的更改来更新实例模型,但是实例模型不会使用活动变体或模型引用中的更改来更新。您可以使用实例模型,保存在.MAT文件,用于分析的System Composer体系结构模型。

导航到建模>的观点>分析模型要打开“实例化架构模型”对话框。指定创建和查看分析模型所需的所有参数。

实例化体系结构模型窗口,在左边列出原型,在右边配置分析功能,迭代顺序自底向上,实例模型名称系统与道具。选项是取消或实例化。

选择的刻板印象Tree列出了在当前会话中加载的所有概要文件的原型,并允许您选择那些在实例模型中应该可用的属性。此时,您可以浏览分析函数、创建新的分析函数或跳过分析。如果分析功能需要的输入不是模型中的元素(比如计算成本的汇率),那么就输入它函数参数.例如,选择用于迭代模型元素的模式,例如,自下而上从树叶移动到树根。

请注意

严格模式确保实例仅在实例的规范中应用了刻板印象,只能获得属性。

要查看实例,请单击实例化并启动分析查看器。Analysis Viewer在第一列中显示所有组件。其他列是为该实例选择的所有原型的属性。如果属性不是应用于元素的原型的一部分,那么该字段将变为灰色。您可以使用Filter按钮来隐藏特定原型的属性。当您选择一个元素时,Instance Properties会显示它的原型和属性值。您可以将实例保存到mat文件中,并在Analysis Viewer中再次打开它。

在“分析”查看器中选择一个元素,以查看更新以更新元素的下拉选项。

如果在实例打开时在模型中进行更改,则可以使用模型同步实例。更新将更改从实例从模型推动到模型。刷新从模型中更新实例。未同步的更改以不同的颜色显示。选择单个元素可以选择更新元素

写分析功能

编写一个函数来使用实例分析体系结构模型。分析功能对体系结构的某些特性进行定量评估。一个分析功能MATLAB是一种®使用模型实例中的每个元素的属性计算评估架构所需的值的函数。使用分析功能来计算分析结果。

您可以在设置分析实例模型时添加分析功能。选择感兴趣的原型后,通过单击创建一个模板函数旁边的分析功能字段。生成的m文件包括从所有要分析的构造型中获取所有属性值的代码。分析函数对单个元素进行操作——当您从analysis Viewer运行分析时,通过在模型中的所有元素上迭代此函数,将生成聚合值。

功能变长度输入宗量systemWithProps_1(实例)如果instance.isComponent ()如果instance.hasValue (“SystemProfile.PhysicalElement.unitCost”)syscomponent_unitprice = instance.getValue(“SystemProfile.PhysicalElement.unitCost”);结束child = instance.components comp_price = child.getValue(“SystemProfile.PhysicalElement.unitCost”);syscomponent_unitprice = syscomponent_unitprice + comp_price;结束instance.setValue(“SystemProfile.PhysicalElement.unitCost”, sysComponent_unitPrice);结束

在生成的文件中,实例当前运行分析函数的元素的实例。您可以执行以下分析操作:

  • 访问实例的属性:instance.getValue(“<文件>。<刻板印象>。<属性> ')

  • 设置一个实例的属性:instance.setValue(“<文件>。<刻板印象>。< >属性”,值)

  • 访问组件的子组件:实例。组件

  • 访问组件中的连接器:实例。连接器

getValue函数在属性不存在时生成错误。您可以使用hasValue在获取值之前查询模型中的元素是否具有属性。

例如,这段代码将组件的权重计算为其子组件的权重之和。

如果instance.isComponent ()如果instance.hasValue (“SystemProfile.PhysicalElement.weight”)权重= instance.getValue(“SystemProfile.PhysicalElement.weight”);结束孩子=实例。组件subcomp_weight = child.getValue(“SystemProfile.PhysicalElement.weight”);重量=重量+ subcomp_peight;结束instance.setValue(“SystemProfile.PhysicalElement.weight”、重量)结束

一旦分析功能完成,将其添加到分析功能盒子。分析函数可以接受额外的输入参数,例如,如果权重在不同的构造型中以不同的单位表示,则转换常量。当这段代码对所有组件递归运行时,从层次结构中最深层的组件到最高层的组件,系统的总体权重被分配给重量属性的顶层组件。

运行分析功能

使用分析查看器运行分析函数。

  1. 属性选择或更改分析功能分析菜单。

  2. 选择迭代方法。

    • 预购-从顶层开始,移动到一个子组件,在移动到兄弟组件之前递归地处理该组件的子组件。

    • 自顶向下-像预购,但在移动到子组件之前处理所有的兄弟组件。

    • 后序-从没有子组件的组件开始,处理每个兄弟组件,然后移动到父组件。

    • 自下而上-类似于post-order,但在移动到父组件之前以相同的深度处理所有子组件。

    迭代方法取决于要运行的分析类型。例如,对于组件权重是其组件权重之和的分析,您必须确保先计算子组件权重,因此迭代方法必须是自下而上的。

  3. 点击分析按钮。

系统作曲家在每个模型元素上运行分析功能并计算结果。计算的属性在分析查看器中突出显示黄色。

单位成本用黄色表示。

这里,系统的总成本是25500美元总重量是55千克

另请参阅

|||||||||||

相关话题