Задание: 2
Рисунок 1 – заданная схема. 2
Рисунок 2 – вид нелинейности. 2
Таблица 1 – величины параметров. 2
Построение ПХ процессов в среде Mathlab: 2
Текст m-файла: 2
Рисунок 3 – схема, собранная с использованием библиотеки Simulink. 2
Рисунок 4 – графики ПХ процесса в среде Mathlab. 3
Построение ПХ процессов в среде Delphi7: 4
Рисунок 5 - преобразованная схема. 4
Система уравнений для преобразованной схемы: 4
Рисунок 6 – график ПХ процессов, построенный в Delphi7Текст программы для языка Delphi7: 5
Текст программы для языка Delphi7: 6
U
Un
Ra, Ом |
Ta, с |
Tm, с |
KdF |
Ic,А |
Kнакл |
Ограничение, В |
Kn |
Tn, с |
a,o |
Нечувствит., В |
17 |
0,12 |
0,07 |
0,17 |
15 |
∞ |
400 |
2 |
0,16 |
157 |
25 |
Ra=17; Ta=0.12; Tm=0.07; KdF=0.17;
Ua=220; Ic=15.0; Knakl=10^10; Ogran=400;
Kn=2; Tn=0.16; a=157; nech=25;
Для получения системы уравнений преобразуем заданную схему (Рисунок 1).
U(i)=U(i-1)+(Kn/Tn)*(a-U(i-1)/Kn)*dt;
Если (U(i)≥nech), тогда Un(i)=Ogran, иначе Un(i)=0;
E(i)=w(i-1)*KdF;
Ua(i)=Un(i)-E(i);
Ia(i)=Ia(i-1)+(1/Ra/Ta)*(Ua(i)-Ia(i-1)*Ra)*dt;
w(i)=w(i-1)+(Ra/Tm/KdF)*(Ia(i)-Ic)*dt;
unit Model1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, TeEngine, Series, ExtCtrls, TeeProcs, Chart;
type
TForm1 = class(TForm)
Chart1: TChart;
Series1: TLineSeries;
Series2: TLineSeries;
Series3: TLineSeries;
procedure FormCreate(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
const
Ra=17; Ta=0.12; Tm=0.07; KdF=0.17;
Ogran=400; Kn=2; dt=0.001; nech=25;
Tn=0.16; a=157; t=5000;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.FormCreate(Sender: TObject);
var
i:integer; Ic:real;
U,Un,Ua,Ia,E,w:array[0..t]of double;
begin
Chart1.Series[0].Clear;
U[0]:=0; Un[0]:=0; Ia[0]:=0; w[0]:=0;
for i:=1 to t do
begin
if (i<2000) then Ic:=0 else Ic:=3;
U[i]:=U[i-1]+(Kn/Tn)*(a-U[i-1]/Kn)*dt;
if (U[i]>=nech) then Un[i]:=Ogran else Un[i]:=0;
E[i]:=w[i-1]*KdF;
Ua[i]:=Un[i]-E[i];
Ia[i]:=Ia[i-1]+(1/Ra/Ta)*(Ua[i]-Ia[i-1]*Ra)*dt;
w[i]:=w[i-1]+(Ra/Tm/KdF)*(Ia[i]-Ic)*dt;
Chart1.Series[0].AddXY(i*dt,w[i],'',clRed);
Chart1.Series[1].AddXY(i*dt,U[i],'',clGreen);
Chart1.Series[2].AddXY(i*dt,Ia[i]*50,'',clLime);
end;
end;
end.
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.