前页 | 后页 |
电路仿真实例
在本节中,我们将逐步创建用于简单电路的SysML参数模型,然后使用参数仿真来预测和绘制该电路的行为。
电路原理图
此处显示的要建模的电路使用标准电路符号。
该电路包括通过电线彼此连接的交流电源,地线和电阻器。
创建SysML模型
下表显示了我们如何建立一个完整的SysML模型来表示电路,从最低级别的类型开始,一次建立一个模型。
零件 |
行动 |
---|---|
种类 |
定义电压,电流和电阻的值类型。单位和数量种类对于仿真而言并不重要,但是如果定义完整的SysML模型,则可以设置。这些类型将从原始类型'Real'泛化。在其他模型中,您可以选择将“值类型”映射到与模型分开的相应模拟类型。
此外,定义一个称为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
对于源约束,请绑定:
对于电阻器约束,绑定:
|
配置模拟行为
下表显示了SysMLSim配置的详细步骤。
步 |
行动 |
---|---|
SysMLSimConfiguration工件 |
|
在配置管理器中创建根元素 |
|
ValueType替代 |
展开ValueType,然后从“值”组合框中为“电流,电阻和电压”中的每一个选择“ SysMLSimReal”。 |
将属性设置为流 |
|
SysMLSimModel |
这是我们要模拟的模型:将“电路”块设置为“ SysMLSimModel”。 |
运行模拟
在“模拟”页面中,选中“ resistor.nv”和“ resistor.pv”复选框以进行绘图,然后单击“求解”按钮。
如图所示,绘制了两个图例“ resistor.nv”和“ resistor.pv”。