Добрый день,я изучаю систему Open Modelica.
Дали задании изменить исходный график RLC-цепи в другой.
Рисунки графиков представлены ниже
Исходный график:
Вот список уравнений, которые я реализую в Open Modelica для 1-го рисунка (рабочий, основной пример в Modelica).
Код:
Код:
model Lab5
extends Modelica.Icons.Example;
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 Modelica.SIunits.Resistance R=100 "Resistance";
parameter Modelica.SIunits.Inductance L=1 "Inductance";
parameter Modelica.SIunits.Voltage Vb=24 "Total DC Voltage";
parameter Modelica.SIunits.Capacitance C=1e-3 "Capacitance";
Voltage V;
Current i_L;
Current i_R;
Current i_C;
equation
V = i_R * R;
C * der(V) = i_C;
L * der(i_L) = Vb - V;
i_L = i_R + i_C;
А это график,который я должен получить в Open Modelica(создан в Scilab)
Для 2-ого рисунка подобрана следующая система уравнений
И данную систему уравнений я перенёс в Open Modelica (не работает и не строит)
Код:
extends Modelica.Icons.Example;
//Объявление переменных,как в первом блоке кода//
Current u_Vx;
Current u_L;
Current u_R;
Current u_C;
Current i_Vx;
Current i_L;
Current i_R;
Current i_C;
equation
i_L=i_C+i_Vx;
i_R=i_L;
u_L=u_R+u_C;
u_Vx=u_L;
C*der(u_C)=i_C;
L*der(i_L)=u_L;
der(i_L)=(u_Vx-R*i_L-u_C)/L;
der(u_C)=(i_L-i_Vx)/C;
Основная ошибка,которая тут кроется -неверное построение алгоритма моделирования, не происходит процесс моделирования цепи.Одну функцию я разбил на 2(что является также ошибкой при построении кода моделирования).
Причина - уход от другой ошибки Open Modelica - несоответствие количеству переменных и количество вычислений(выражений)
ВопросКаким образом мне нужно изменить свою систему уравнений,чтобы после построения строилась цепь,как на рисунке 2?