RLC开关电路

在本节中,我们将介绍另一个模型。正如本章前面部分介绍的传热模型一样,这个模型里包含时间事件。这次,我们将展示如何能够模拟在第一章中介绍的那个RLC电路的开关行为。在介绍了前面的例子后,这个模型应该不会让大家感到意外。介绍这个例子仅仅是为了在电气模型背景下介绍时间事件。

RLC开关电路模型如下:

model SwitchedRLC "An RLC circuit with a switch"
  type Voltage=Real(unit="V");
  type Current=Real(unit="A");
  type Resistance=Real(unit="Ohm");
  type Capacitance=Real(unit="F");
  type Inductance=Real(unit="H");
  parameter Voltage Vb=24 "Battery voltage";
  parameter Inductance L = 1;
  parameter Resistance R = 100;
  parameter Capacitance C = 1e-3;
  Voltage Vs;
  Voltage V;
  Current i_L;
  Current i_R;
  Current i_C;
equation
  Vs = if time>0.5 then Vb else 0;
  i_R = V/R;
  i_C = C*der(V);
  i_L=i_R+i_C;
  L*der(i_L) = (Vs-V);
end SwitchedRLC;

时间事件在这个模型里是通过if表达式引入的。条件表达式里唯一随着时间变化的量就是time。这意味着条件表达式会触发时间事件。而当底层的数值求解器在对系统公式进行积分时,它可以先验地知道事件的发生时间。

在下图我们可以看到在开关式电压供应下模型的电压响应:

../../../_images/SRLCv.png

此外,从下图我们可以看到电感、电阻和电容等元件的电流响应:

../../../_images/SRLCi.png

希望到这里,读者会对用以产生事件和扰动的基本机制感到直观而熟悉。