Дипломы, курсовые, рефераты, контрольные...
Срочная помощь в учёбе

Заключение. 
Идентификация и синтез системы автоматического управления

РефератПомощь в написанииУзнать стоимостьмоей работы

For i:=0 to 4 do Begin {Условие надписи на оси Y}. X: =x1*1155+3373*x2+4440*x3+3399*x4+1646*x5+503.4*x6+88.06*x7+6.02*x8; For i:=0 to 600 do Begin {Построение графика}. For i:=0 to 600 do Begin {Построение графика}. For i:=1 to 6 do Line (20+60*i, 450,20+60*i, 450−400); For i:=1 to 6 do Line (20+60*i, 450,20+60*i, 450−400); Программа идентификации САУ… Читать ещё >

Заключение. Идентификация и синтез системы автоматического управления (реферат, курсовая, диплом, контрольная)

В данной работе был получен алгоритм идентификации объекта управления по переходной характеристике с помощью ЭВМ и на его основе произведена идентификация объекта и синтез системы автоматического управления им. Метод обладает достаточной точностью, однако предъявляет большие требования к точности вычисления интегральных параметров Ii, т.к. в уравнения для получения коэффициентов F они входят в высокой степени Поэтому для их вычисления необходимо использовать метод высокого порядка и малый шаг.

писок литературы

Автоматическое регулирование двигателей летательных аппаратов. Труды ЦИАМ, № 761, вып. 17, 1977 (стр. 144−154).

Макаров И. И., Менский Б. М. Линейные автоматические системы. М., Машиностроение, 1982 — 504 с.

Смит Дж. М. Математическое и цифровое моделирование для инженеров и исследователей. М., Машиностроение, 1980.

Приложение

Листинг программ

Программа идентификации САУ.

Program TAU;

Uses graph, crt;

Const.

hmax=2;

Var.

sigm, h: array [0.2501] of single;

I1,I2,I3,I4:array [0.2501] of single;

GD, GM: integer;

fj, Ij: array[1.4] of single;

ha:char;

temp, y, x, f, n, i, j:integer;

dt, t: real;

k, b1, a1,a2,a3:single;

s:string[5];

Begin.

Clrscr;

dt:=0.005;

N:=2000;

t:=0;

{randomize;}.

For i:=0 to N do Begin.

t:=i*dt;

h[i+1]: =48*exp (-1/0.4*t)-50*exp (-1/0.3*t)-46.666 666 667*t*exp (-1/0.3*t)+2.

end;

{Вычисляем подинтергальные значения I1, I2,I3,I4}.

For i:=1 to N do sigm[i]: =h[i]/hmax;

t:=0;

for i:=1 to N do Begin.

t:=(i-1)*dt;

I1[i]: =1-sigm[i];

I2[i]: =(1-sigm[i])*t;

I3[i]: =(1-sigm[i])*t*t;

I4[i]: =(1-sigm[i])*t*t*t;

end;

{Вычисление непосредственно самих I1, I2,I3,I4}.

For j:=1 to 4 do Ij[j]: =0;

For i:=1 to N-1 do Begin.

Ij[1]: =Ij[1]+(I1[i]+I1[i+1])/2*dt;

Ij[2]: =Ij[2]+(I2[i]+I2[i+1])/2*dt;

Ij[3]: =Ij[3]+(I3[i]+I3[i+1])/2*dt;

Ij[4]: =Ij[4]+(I4[i]+I4[i+1])/2*dt;

end;

{Находим Fj}.

Fj[1]: =Ij[1];

Fj[2]: =Ij[1]*Ij[1]-Ij[2];

Fj[3]: =Ij[1]*Ij[1]*Ij[1]-2*Ij[1]*Ij[2]+0.5*Ij[3];

Fj[4]: =-Ij[4]/6+0.5*Ij[1]*Ij[3]+Fj[3]*Ij[1]-Fj[2]*Ij[2];

b1:=-Fj[4]/Fj[3];

a1:=b1+Fj[1];

a2:=Fj[2]+b1*Fj[1];

a3:=Fj[3]+b1*Fj[2];

K:=h[N+1];

Writeln ('a1=', a1:6:4,', a2=', a2:6:4,', a3=', a3:6:4,', b1=', b1:6:4,', K=', K:6:4,', n=', n, ', dt=', dt:0:4);

Readkey;

GD:=Detect; GM:=2;

Initgraph (GD, GM,'C:BPBGI');

SetBkColor (White);

j:=1;

Setcolor (9);

For i:=1 to 6 do Line (20+60*i, 450,20+60*i, 450−400);

For i:=0 to 4 do Begin {Условие надписи на оси Y}.

str (i, s);

Setcolor (1);

OuttextXY (10,450−100*i, s);

Setcolor (9);

Line (20,450−100*i, 620,450−100*i);

end;

Setcolor (9);

Line (20,50,20,450);

Line (20,450,620,450);

moveto (20,450);

for i:=0 to 600 do Begin {Построение графика}.

setcolor (4);

y:=round (100*h[j]);

x:=i;

SetLineStyle (0,0,3);

Lineto (x+20,450-y);

SetLineStyle (0,0,1);

j:=j+3;

if (i=0) or (i mod 60 = 0) then Begin {Условие надписи на оси X}.

setcolor (9);

temp:=round (i/60);

str (temp, s);

Line (20+i, 450,20+i, 450−400);

setcolor (1);

Moveto (20+i, 460);

Outtext (s);

setcolor (4);

moveto (20+x, 450-y);

end;

End;

Readkey;

CloseGraph;

end.

Программа, моделирующая САУ по передаточным функциям замкнутой системы.

Program TAU;

Uses graph, crt;

label.

m1;

Const.

hmax=2;

Var.

x:array[1.3000] of real;

x1,x2,x3,x4,x5,x6,x7,x8:real;

temp, y, x111,gd, gm, n, i, j: integer;

g, dt: real;

s:string;

text:string;

c:char;

prosto:boolean;

Begin.

Clrscr;

dt:=0.333;

N:=3000;

{t:=0;}.

x1:=0;x2:=0;x3:=0;x4:=0;x5:=0;x6:=0;x7:=0;x8:=0;

g:=1;

prosto:=true;

For i:=0 to N-1 do Begin.

x1:=x1+dt*x2;

x2:=x2+dt*x3;

x3:=x3+dt*x4;

x4:=x4+dt*x5;

x5:=x5+dt*x6;

x6:=x6+dt*x7;

x7:=x7+dt*x8;

x8:=x8+dt*(-1155*x1−3130*x2−3952*x3−3014*x4−1522*x5−523.6*x6−120.7*x7−16.87*x8+0.7114);

x[i+1]: =x1*1155+3373*x2+4440*x3+3399*x4+1646*x5+503.4*x6+88.06*x7+6.02*x8;

Writeln ('x[', i+1,']=', x[i+1]);

If prosto=true then Begin.

c:=Readkey;

Case c of.

'c':exit;

'r':prosto:=false;

end;

end;

end;

str (x[n]: 6:6,text);

GD:=Detect; GM:=2;

Initgraph (GD, GM,'C:BPBGI');

SetBkColor (White);

j:=1;

Setcolor (9);

For i:=1 to 6 do Line (20+60*i, 450,20+60*i, 450−400);

For i:=0 to 4 do Begin {Условие надписи на оси Y}.

str (i, s);

Setcolor (1);

OuttextXY (10,450−100*i, s);

Setcolor (9);

Line (20,450−100*i, 620,450−100*i);

end;

Setcolor (9);

Line (20,50,20,450);

Line (20,450,620,450);

moveto (20,450);

for i:=0 to 600 do Begin {Построение графика}.

setcolor (4);

y:=round (140*x[j]);

x111:=i;

SetLineStyle (0,0,3);

Lineto (x111+20,450-y);

SetLineStyle (0,0,1);

{If i mod 2=0 then j:=j+1;}.

j:=j+4;

if (i=0) or (i mod 60 = 0) then Begin {Условие надписи на оси X}.

setcolor (9);

temp:=round (i/60);

str (temp, s);

Line (20+i, 450,20+i, 450−400);

setcolor (1);

Moveto (300,240);

Outtext (text);

Moveto (20+i, 460);

Outtext (s);

setcolor (4);

moveto (20+x111,450-y);

end;

End;

Readkey;

CloseGraph;

end.

Показать весь текст
Заполнить форму текущей работой