预订演示
前页 后页

电路仿真示例

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

图表

我们将要学习的电路模型(此处显示)使用标准电路符号。

该电路包括交流电源、源和电阻器,通过电线相互连接。

创建 SysML模型

这张表显示了我们如何构建一个完整的完成模型来表示电路,从最低级别的类型开始,一步一步地构建模型。

部件

行动

类型

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

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

此外,定义一个名为 ChargePort 的复合类型 (块),其中包括电流和电压属性。这种类型允许我们表示组件之间连接器处的电能。

在 SysML 中,电路和每个组件都将表示为块。

在块定义图 (图表) 中,创建一个电路块。该电路由三部分组成:源、地和电阻。这些部分属于不同的类型,具有不同的行为。

为每个零件类型创建一个块。电路块的三个部分通过端口连接,代表电气引脚。源和电阻有一个正极和一个负极引脚。地只有一个引脚,它是正极。电流(电荷)通过引脚传输。创建一个带有两个端口(引脚)的抽象块“TwoPinComponent”。这两个端口分别命名为“p”(正)和“n”(负),它们的类型为 ChargePort.

此图显示了 BDD,包括电路块、接地、TwoPinComponent、源和电阻器。

内部结构

为电路创建一个内部块图(图表)。为源、电阻和接地添加属性,由相应的块键入。用连接器连接端口。源的正极引脚连接到电阻器的负极引脚。 Resistor 的正极引脚连接到源的负极引脚。地也连接到源的负极引脚。

请注意,这遵循与原始电路图相同的结构,但每个组件的符号已替换为由我们定义的块键入的属性。

约束

方程定义数值属性之间的数学关系。在 SysML 中,方程表示为 ConstraintBlocks 中的约束。 ConstraintBlocks 的参数对应于块的 PhSVariables 和 PhSConstants(本例中为'i'、'v'、'r'),以及端口类型中存在的端口('pv'、'pi'、'nv ',在本例中为 'ni')。

创建一个 ConstraintBlock 'TwoPinComponentConstraint' 来定义源和电阻器共有的参数和方程。该等式应状态组件的电压等于正负引脚电压之差。组件的电流等于通过正极引脚的电流。通过两个引脚的电流之和必须加起来为零(一个是另一个的负数)。接地约束表明接地引脚上的电压为零。源约束将电压定义为sine ,以当前仿真时间为参数。此图显示了这些约束如何在 BDD 中呈现。

绑定

约束参数的值等同于具有绑定连接器的可变值和常数值。在每个块上创建约束属性(属性类型为 ConstraintBlocks),并将块变量和常量绑定到参数,以将约束约束块。这些图分别显示了接地、源和电阻的绑定。

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

对于源约束,绑定:

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

对于电阻器约束,绑定:

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

配置仿真行为

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

行动

工件适合

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

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

  • 值类型
  • 约束块

值类型替换

展开 ValueType 并为 Current、Resistance 和 Voltage 中的每一个从“Value”组合框中选择“SysMLSimReal”。

将属性设置为流

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

SysMLSimModel

这就是我们要模拟的模型:将块'Circuit'设置为'SysMLSimModel'。

运行仿真

在“仿真”页面中,选中“resistor.n”和“resistor.p”复选框进行绘图,然后单击“求解”按钮。

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