前页 后页

电路仿真实例

在本节中,我们将逐步创建用于简单电路的SysML参数模型,然后使用参数仿真来预测和绘制该电路的行为。

电路原理图

此处显示的要建模的电路使用标准电路符号。

该电路包括通过电线彼此连接的交流电源,地线和电阻器。

创建SysML模型

下表显示了我们如何建立一个完整的SysML模型来表示电路,从最低级别的类型开始,一次建立一个模型。

零件

行动

种类

定义电压,电流和电阻的值类型。单位和数量种类对于仿真而言并不重要,但是如果定义完整的SysML模型,则可以设置。这些类型将从原始类型'Real'泛化。在其他模型中,您可以选择将“值类型”映射到与模型分开的相应模拟类型。

Value Type Blocks in SysML System Simulation in Sparx Systems Enterprise Architect

此外,定义一个称为ChargePort的复合类型,其中包括“电流”和“电压”的属性。这种类型使我们能够表示组件之间的连接器处的电能。

电路:复合类型

积木

在SysML中,电路和每个组件将表示为模块。在块定义图(BDD)中创建电路块。该电路包括三部分:电源,接地和电阻。这些部分属于不同类型,具有不同的行为。为每种零件类型创建一个块。电路块的三个部分通过端口相连,这些端口代表电气引脚。源极和电阻器具有正极和负极引脚。接地只有一个引脚,该引脚为正极。电荷(电荷)通过引脚传输。创建一个带有两个端口(引脚)的抽象块“ TwoPinComponent”。这两个端口分别命名为“ p”(正)和“ n”(负),它们的类型为ChargePort。

该图显示了BDD的外观,包括模块电路,地,TwoPinComponent,源极和电阻。

内部结构

创建电路的内部框图(IBD)。添加源,电阻和接地的属性,按相应的块键入。用连接器连接端口。源极的正极引脚连接到电阻的负极引脚。电阻器的正极引脚连接到源极的负极引脚。地也连接到电源的负极。

注意,它的结构与原始电路图相同,但是每个组件的符号已被我们定义的模块所键入的属性所取代。

约束条件

方程式定义数值属性之间的数学关系。在SysML中,方程式表示为约束块中的约束。约束块的参数对应于块的SimVariables和SimConststants(在此示例中为“ i”,“ v”,“ r”),以及对应于端口类型中存在的SimVariables(“ pv”,“ pi”,“ nv”,“ ni”)。

创建约束块“ TwoPinComponentConstraint”以定义对于源和电阻器通用的参数和方程式。该方程式应说明该组件的电压等于正引脚和负引脚上的电压之差。组件的电流等于流经正极引脚的电流。流过两个引脚的电流之和必须总计为零(一个为另一个的负值)。接地约束表明接地引脚上的电压为零。源约束将电压定义为正弦波,并以当前仿真时间为参数。该图显示了这些约束在BDD中的外观。

绑定

约束参数的值等于具有绑定连接器的变量和常量值。在每个块上创建约束属性(由约束块键入的属性),并将块变量和常量绑定到约束参数,以将约束应用于块。这些图分别显示了接地,源极和电阻的绑定。

对于Ground约束,将gc.pv绑定到pv

对于源约束,请绑定:

  • sc.pi至pi
  • sc.pv到pv
  • v至v
  • 我到我
  • sc.ni至ni和
  • sc.nv到nv

对于电阻器约束,绑定:

  • rc.pi至pi
  • rc.pv到pv
  • rc.v到v
  • rc.i至i
  • rc.ni至ni
  • rc.nv到nv和
  • rc.r至r

配置模拟行为

下表显示了SysMLSim配置的详细步骤。

行动

SysMLSimConfiguration工件

  • 选择“模拟>系统行为> Modelica / Simulink> SysMLSim配置管理器”
  • 在第一个工具栏图标下拉菜单中,选择“创建工件”并创建工件元素
  • 选择拥有此SysML模型的包

在配置管理器中创建根元素

  • 值类型
  • 约束块

ValueType替代

展开ValueType,然后从“值”组合框中为“电流,电阻和电压”中的每一个选择“ SysMLSimReal”。

将属性设置为流

  • 将“块”扩展到ChargePort | FlowProperty | i:当前,然后从“值”组合框中选择“ SimVariable”
  • 对于“ SysMLSimConfiguration”,单击Browse.按钮以打开“元素配置”对话框
  • 将“ isConserved”设置为“ True”

SysMLSimModel

这是我们要模拟的模型:将“电路”块设置为“ SysMLSimModel”。

运行模拟

在“模拟”页面中,选中“ resistor.nv”和“ resistor.pv”复选框以进行绘图,然后单击“求解”按钮。

如图所示,绘制了两个图例“ resistor.nv”和“ resistor.pv”。