Студопедия — Программа PotyagAS
Студопедия Главная Случайная страница Обратная связь

Разделы: Автомобили Астрономия Биология География Дом и сад Другие языки Другое Информатика История Культура Литература Логика Математика Медицина Металлургия Механика Образование Охрана труда Педагогика Политика Право Психология Религия Риторика Социология Спорт Строительство Технология Туризм Физика Философия Финансы Химия Черчение Экология Экономика Электроника

Программа PotyagAS






 

PROGRAM POTYAG; {$M $4000,0,0}

USES DOS,CRT,GRAPH;

CONST NN=25;

LABEL 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22;

TYPE Dl=ARRAY [1..NN] OF INTEGER;

Uk=ARRAY [1..NN] OF REAL;

Rds=ARRAY [1..NN] OF INTEGER;

DlRez=ARRAY [1..NN] OF INTEGER;

UkRez=ARRAY [1..NN] OF REAL;

DRd=ARRAY [1..NN] OF INTEGER;

PUk=ARRAY [1..NN] OF REAL;

VAR FV:text;

FO:text;

FC:text;

FR:text;

FD:text;

FK:text;

FT:text;

FL:text;

FE:text;

FA:text;

NAME:string;

S,st1,st2,st3:String;

i,j,k,n,m,z,d,di,x1,y1,x2,y2,amax,amin,Vrem,kk,Pr,Kdv,

p,Ns,Nr,m1,Wvf,ObKolVag,Vag4,Vag6,Vag8,ftek,kkk,vv,g:integer;

LM:Word;

bmin,bmax,

OsudsoVa,Put,Skor,SkorPr,UdSopLoc,UdSopSos,SopLoc,SopSos,SopPo,

UdSopPo,Tyag,UdTyag,SilOs,Ksi,LocMas,MasSos,MasPoez,DlSos,DlLoc,

DlPoez,Kob,kppr,Kst,RasEner,TyagaPr,SkorZad,UklUch,Usk,UskZad,

delta,Tyaga,DlinOb,PutProm,UdSopTor,TorSila,SkorTor,PrUkl,TorDel,

TorSilaUd,UklOb,PutTek,Prom,mu,Inf,Pnd,fn,kpd,cofi,lsras,Dsr,rs,

rrp,Unl,X0,Xs,Xrp,MasSosPr,Tau,Tau1,Tau2,f1,f2,U,Un,UnStr,sn,

alpha,betta,bettak,Kgen,bs,cs,ds,es,Mk,Mm,chis1,chis2,znam1,znam2,

Potok,Bd,Bz,Hd,kmu,Fdel,SumF,Imu,Irp,Idv,Mn,Kper,n2,Ptep,Kred,Dk,

delf,f2k,f2n,Kdelta,bzub,Md,Pst,PotokN,Krrp,f1max,Idv2,Ia,Ix,Itep,

TyagaTor,EnRec,LTor,Uw,LTMex,Ipr,Itep1,U1,U2,U3,U4,U5,I1,I2,I3,I4,

I5,Mp,delfx,Ux,f1x,Udv,Ptep2,Ptep1,Ptep3,Ptep4,Ptep5,Ptep6,Ptep7,

obkol,obkol2,obkol3,obkol4,obkol5,obkol6,topcikl,RasTop,Pdiz,Igen,

Itep2,Skor1,Skor2,zz,Mx,Md5,Md4,Md3,Md2,Md1,tyaga5,tyaga4,tyaga3,

tyaga2,tyaga1,Pte5,Pte4,Pte3,Pte2,Pte1,I11,I12,I13,I14,I15,Pte,

tyagav,Udvv,Ite2,Itep2v,PteS:real;

L:Dl;

Ukl:Uk;

Rad:Rds;

RezL:DlRez;

RezUkl:UkRez;

DlRds:DRd;

PrUklRez:PUk;

c:char;

{ Информационное окно }

PROCEDURE okno1;

Const

LU=#201;

RU=#187;

LD=#200;

RD=#188;

H=#205;

V=#186;

Var

k:integer;

begin

X1:=2; Y1:=2; X2:=78; Y2:=17;

TextBackground(LightBlue);

TextColor(Yellow);

Window(X1,Y1,X2,Y2);

Write(LU);

For k:=X1+1 to X2-1 do Write(H);

Write(RU);

For k:=Y1+1 to Y2-1 do

begin

GotoXY(1,k-Y1+1);

Write(V);

GotoXY(X2-X1+1,WhereY);

Write(V);

end;

Write(LD);

Window(X1,Y1,X2,Y2+1);

GotoXY(2,Y2-Y1+1);

For k:=X1+1 to X2-1 do Write(H);

Write(RD);

Window(X1+1,Y1+1,X2-1,Y2-1);

ClrScr;

end;

{ Диалоговое окно }

PROCEDURE okno2;

Const

LU=#201;

RU=#187;

LD=#200;

RD=#188;

H=#205;

V=#186;

Var

k:integer;

begin

X1:=2; Y1:=19; X2:=78; Y2:=24;

TextBackground(Cyan);

TextColor(Blue);

Window(X1,Y1,X2,Y2);

Write(LU);

For k:=X1+1 to X2-1 do Write(H);

Write(RU);

For k:=Y1+1 to Y2-1 do

begin

GotoXY(1,k-Y1+1);

Write(V);

GotoXY(X2-X1+1,WhereY);

Write(V);

end;

Write(LD);

Window(X1,Y1,X2,Y2+1);

GotoXY(2,Y2-Y1+1);

For k:=X1+1 to X2-1 do Write(H);

Write(RD);

Window(X1+1,Y1+1,X2-1,Y2-1);

ClrScr;

end;

{ Процедура диалога при вводе данных }

Procedure Okna(var s1,s2,s3:string);

begin

Okno2;

Writeln(s1);

Writeln(s2);

Writeln(s3);

Okno1;

end;

{ Процедура расчета параметров двигателя }

Procedure Raschet(Var U,f1,Skor,n2,betta:real);

begin

{ if (f1>fn) and (Skor<SkorZad-5) then begin f1:=f1+delf; U:=U+Un/5; end;}

if U>Un then U:=Un;

{ if (RezUkl[i]<0) and (Skor>SkorZad-2) then U:=U-Un/20;}

if U<=10 then U:=10;

U5:=U4;

U4:=U3;

U3:=U2;

U2:=U1;

U1:=U;

U:=(U1+U2+U3+U4+U5)/5;

(* write({FX,}f1:4:2,' ',U:5:2,' ',Skor:3:2,' ',Put:7:2,' ');*)

Potok:=0.96*U/(4.44*f1*Wvf*Kob);

Bd:=0.7073*p*Potok/(Dsr*lsras);

Bz:=3.1417*Bd*Dsr/(bzub*Ns*Kst);

if Bz>1.6 then

Hd:=-85650+38000*Bz

else

if (Bz>=1.2) and (Bz<=1.6) then

Hd:=Bz/(0.002982*Bz*Bz-0.00109*Bz*Bz*Bz-0.00037*Bz*Bz*Bz*Bz)

else

Hd:=610*Bz;

kmu:=Hd/(610*Bz);

Fdel:=0.8*Bd*delta*Kdelta*1000;

SumF:=2*Fdel*kmu;

Imu:=m1*SumF/(0.9*p*Wvf*Kob);

if f1>fn then

Md:=Potok*Potok*m1*4.44*4.44*Wvf*Wvf*Kob*Kob*fn*(Rrp/betta)/

(6.2834*(Xrp*Xrp+Rrp*Rrp/(betta*betta))) else Md:=Mn;

if U<=10 then Md:=50;

if RezUkl[i]<0 then Md:=50;

Irp:=1.4142*Md/(p*m1*Wvf*Kob*Potok*0.985);

Ia:=Pst*(Potok/PotokN)*(Potok/PotokN)*(f1/fn)*sqrt(f1/fn)/(m1*Un)+Irp*0.985;

Ix:=Imu+Irp*0.174;

Idv:=sqrt(Ia*Ia+Ix*Ix);

if (RezUkl[i]<0) and (Skor>SkorZad-2) then Idv:=10;

cofi:=Ia/Idv;

Itep:=m1*Idv*Kdv{10}/(2*cofi*Krrp);

{ Itep2:=(Ipr+Itep)/4;}

if Itep2>10000 then Itep2:=10000;

Ipr:=Itep2;

Itep2:=(Ipr+Itep)/4;

if Itep2<0 then Itep2:=0;

PteS:=U*Itep2/(Kgen*1000);

Tyaga:=mu*Kdv*2{*10}*Md/Dk;

UdTyag:=Tyaga/(LocMas+MasSos);

UdSopLoc:=19.64+0.098*Skor+0.0029*Skor*Skor;

OsUdSoVa:=(6.87+(29.43+0.98*Skor+0.0245*Skor*Skor)/21.4)*

Vag4/ObKolVag+(6.87+(78.48+0.9*Skor+0.0206*Skor*Skor)/21.4)

*Vag6/ObKolVag+(6.87+(58.9+0.373*Skor+0.0206*Skor*Skor)/

21.4)*Vag8/ObKolVag;

SopLoc:=UdSopLoc*LocMas;

SopSos:=OsUdSoVa*MasSos;

SopPo:=SopLoc+SopSos;

UdSopPo:=SopPo/(LocMas+MasSos);

ksi:=0.28+3/(50+20*Skor)-0.0007*Skor;

TyagaPr:=ksi*LocMas*9810/(LocMas+MasSos);

SkorPr:=Skor;

if Idv>15*Inf then Skor:=SkorPr

else

Skor:=Skor+0.0034*(UdTyag-UdSopPo-9.81*RezUkl[i]-PrUklRez[i]*9.81+

TyagaTor);

Put:=Put+(SkorPr+Skor)*10/(2*36);

n2:=Skor*mu/(0.188*Dk);

if n2<=0 then n2:=0;

if Skor<=0 then Skor:=0;

f2:=f1-n2*p/60;

bettak:=rrp*(1+Tau1)/(Xs*(1+Tau2)+Xrp);

f2k:=bettak*fn;

betta:=f2/fn;

Ptep:=PteS/2;

case g of

100: begin

if Itep<0 then Ptep:=200; if Ptep>2000 then Ptep:=2000;

Ptep2:=Ptep*Ptep; Ptep3:=Ptep*Ptep2; Ptep4:=Ptep*Ptep3;

Ptep5:=Ptep*Ptep4; Ptep6:=Ptep*Ptep5; Ptep7:=Ptep*Ptep6;

obkol:=3.6606e-19*Ptep7-2.9586e-15*Ptep6+9.7182e-12*Ptep5-

1.6666e-8*Ptep4+1.5933e-5*Ptep3-0.0083656*Ptep2+

2.4169*Ptep+157.01;

if obkol<200 then begin Ptep:=200; obkol:=200; end;

obkol2:=obkol*obkol; obkol3:=obkol*obkol2;

obkol4:=obkol*obkol3; obkol5:=obkol*obkol4;

topcikl:=(-1.4498e-12*obkol5+4.6782e-9*obkol4-5.792e-6

*obkol3+0.0034975*obkol2-1.1101*obkol+322.85)/3600;

if topcikl<0 then topcikl:=0;

end;

200: begin

if Itep2<0 then Ptep:=150; if Ptep>1350 then Ptep:=1350;

Ptep2:=Ptep*Ptep; Ptep3:=Ptep*Ptep2; Ptep4:=Ptep*Ptep3;

Ptep5:=Ptep*Ptep4; Ptep6:=Ptep*Ptep5; Ptep7:=Ptep*Ptep6;

obkol:=2.5808e-18*Ptep7-1.5114e-14*Ptep6+3.655e-11*Ptep5-

4.7202e-8*Ptep4+3.5151e-5*Ptep3-0.01518*Ptep2+

3.8756*Ptep-19.226;

if obkol<300 then begin Ptep:=150; obkol:=300; end;

obkol2:=obkol*obkol; obkol3:=obkol*obkol2;

obkol4:=obkol*obkol3; obkol5:=obkol*obkol4;

obkol6:=obkol*obkol5;

topcikl:=(3.4165e-17*obkol6-1.1263e-13*obkol5+1.7834e-9*obkol4-

4.1611e-6*obkol3+0.004023*obkol2-1.8692*obkol+501.01)/3600;

if topcikl<0 then topcikl:=0;

end;

300: begin

if Itep2<0 then Ptep:=100; if Ptep>909 then Ptep:=909;

Ptep2:=Ptep*Ptep; Ptep3:=Ptep*Ptep2; Ptep4:=Ptep*Ptep3;

Ptep5:=Ptep*Ptep4; Ptep6:=Ptep*Ptep5; Ptep7:=Ptep*Ptep6;

obkol:=-2.2502e-12*Ptep5+6.3453e-9*Ptep4-6.3992e-6*Ptep3+

0.002872*Ptep2-0.053651*Ptep+295.97;

if obkol<200 then begin Ptep:=100; obkol:=200; end;

obkol2:=obkol*obkol; obkol3:=obkol*obkol2;

obkol4:=obkol*obkol3; obkol5:=obkol*obkol4;

topcikl:=(-2.9687e-12*obkol5+8.6719e-9*obkol4-1.0107e-5*obkol3

+0.0060552*obkol2-1.9864*obkol+528.22)/3600;

if topcikl<0 then topcikl:=0;

end;

400: begin

if Itep2<0 then Ptep:=100; if Ptep>588 then Ptep:=588;

Ptep2:=Ptep*Ptep; Ptep3:=Ptep*Ptep2; Ptep4:=Ptep*Ptep3;

Ptep5:=Ptep*Ptep4; Ptep6:=Ptep*Ptep5; Ptep7:=Ptep*Ptep6;

obkol:=3.2615e-15*Ptep7-8.1075e-12*Ptep6+8.2991e-9*Ptep5-

4.5065e-6*Ptep4+0.0013916*Ptep3-0.24249*Ptep2+

23.171*Ptep-516.12;

if obkol<300 then begin Ptep:=100; obkol:=300; end;

obkol2:=obkol*obkol; obkol3:=obkol*obkol2;

obkol4:=obkol*obkol3; obkol5:=obkol*obkol4;

topcikl:=(9.779e-13*obkol5-3.3931e-9*obkol4+4.2183e-6*obkol3

-0.0020784*obkol2+0.16168*obkol+263.43)/3600;

if topcikl<0 then topcikl:=0;

end;

end;

(* writeln({FX,}f2:4:2,' ',cofi:2:4,' ',Potok:2:4,' ',Bd:2:4,' ',Bz:2:4,' ',

kmu:2:4,' ',Imu:5:2,' ',Irp:5:2,' ',Idv:6:2,' ',Iel:7:2,' ',

Md:6:2,' ',UdTyag:5:2,' ',UdSopPo:5:2,' ',f2k:3:2,' ',

n2:4:2,' ',TyagaPr:5:2);

writeln(' U=',U:7:2); readln;*)

 

end;

 

{ Основная программа }

BEGIN

TextBackGround(Black);

LM:=LastMode;

21: ClrScr;

{ Считывание данных поезда }

assign(fc,'C:\PoDizAs\DanPoezd.dat');

reset(fc);

readln(fc,ObKolVag,Vag8,Vag6,Vag4);

readln(fc,MasSos,SkorZad,UskZad);

Close(fc);

{ Считывание данных электровоза }

assign(fe,'C:\PoDizAs\Electra.dat');

reset(fe);

readln(fe,mu,Kdv,DlLoc,LocMas);

close(fe);

{ Считывание данных электродвигателя }

assign(fa,'C:\PoDizAs\ElDvig.dat');

reset(fa);

readln(fa,Unl,Inf,Pnd,fn,p,Ns,Dk,sn);

readln(fa,kpd,cofi,lsras,Dsr,bzub,rs,rrp);

readln(fa,Xrp,m1,delta,Wvf,Xs,X0,f2n,Mn);

{ Определение длины поезда }

DlSos:=20.5*Vag8+17*Vag6+14.6*Vag4;

DlPoez:=DlLoc+DlSos;

{ Считывание профиля пути }

st1:=' Нажмите клавишу, чтобы осуществить движение: ';

st2:=' <Y> - по неспрямленному профилю пути; ';

st3:=' <N> - по спрямленному профилю пути';

Okna(st1,st2,st3);

{ Открытие файла профиля пути }

repeat

c:=readkey

until (c in ['y','Y','n','N']);

case c of

'y','Y': begin

assign(fv,'C:\PoDizAs\profil.dat');

reset(fv);

readln(fv,m);

i:=1; kkk:=1;

while not EOF(fv) and (i<=m) do

begin

readln(fv,l[i],rad[i],DlRds[i],ukl[i]);

RezL[i]:=l[i]; RezUkl[i]:=Ukl[i];

If DlRds[i]<=0

then PrUklRez[i]:=0.0

else

if DlPoez<=DlRds[i]

then PrUklRez[i]:=700/rad[i]

else

PrUklRez[i]:=(700/Rad[i]*DlRds[i])/DlPoez;

inc(i)

end;

close(fv);

end;

'n','N': begin

assign(fo,'C:\PoDizAs\SprProfA.dat');

reset(fo);

readln(fo,m);

i:=1; kkk:=0;

while not EOF(fo) and (i<=m+1) do

begin

readln(fo,RezL[i],RezUkl[i],PrUklRez[i]);

inc(i)

end;

close(fo);

end;

end;

Okno2;

Writeln(' Укажите мощность используемого дизеля ');

Writeln(' Для этого нажмите: 1 - для выбора дизеля 1Д80Б ');

Writeln(' 2 - 4Д80Д, 3 - 4Д80Б, 4 - 10Д80А ');

repeat c:=readkey

until (c in ['1','2','3','4']);

case c of

'1': begin

writeln(' Выбран дизель типа 1Д80Б ');

writeln(' Номинальная мощность дизеля 2080 кВт ');

writeln(' Максимальные обороты коленчатого вала 850 об/мин ');

g:=100;

end;

'2': begin

writeln(' Выбран дизель типа 4Д80Д ');

writeln(' Номинальная мощность дизеля 1390 кВт ');

writeln(' Максимальные обороты коленчатого вала 750 об/мин ');

g:=200;

end;

'3': begin

writeln(' Выбран дизель типа 4Д80Б ');

writeln(' Номинальная мощность дизеля 909 кВт ');

writeln(' Максимальные обороты коленчатого вала 750 об/мин ');

g:=300;

end;

'4': begin

writeln(' Выбран дизель типа 10Д80А ');

writeln(' Номинальная мощность дизеля 588 кВт ');

writeln(' Максимальные обороты коленчатого вала 1000 об/мин ');

g:=400;

end;

end;

readln;

{ Расчет скорости, пути и времени движения }

Writeln;

Writeln(' Результаты расчета');

Writeln(' Для прекращения счета и выхода в программу',

' нажмите клавишу ВВОД');

Readln;

Okno1;

kk:=0;

20: If kk=0 then

begin

Assign(FD,'C:\PoDizAs\RezPoezA.dat');

Assign(FR,'C:\PoDizAs\rezulta.dat');

Rewrite(FD);

Rewrite(FR);

Okno2;

Writeln;

Writeln(' Расчет параметров',

' движения');

Writeln(' Движение поезда от',

' станции А');

Okno1;

{ end

else

begin

Close(FD);

Close(FR);

Assign(FK,'C:\PoDizAs\RezPoezB.dat');

Assign(FT,'C:\PoDizAs\rezultb.dat');

Assign(FL,'C:\PoDizAs\sprprofb.dat');

Rewrite(FK);

Rewrite(FT);

Rewrite(FL);

for i:=1 to m div 2 do

begin

Pr:=RezL[i]; RezL[i]:=RezL[m+1-i];

RezL[m+1-i]:=Pr; Prom:=RezUkl[i];

RezUkl[i]:=-RezUkl[m+1-i];

RezUkl[m+1-i]:=-Prom; Prom:=PrUklRez[i];

PrUklRez[i]:=PrUklRez[m+1-i];

PrUklRez[m+1-i]:=Prom;

end;

if ((m) mod 2)<>0 then

RezUkl[((m) div 2)+1]:=-RezUkl[((m) div 2)+1];

writeln(FL,m);

For i:=1 to m do

writeln(FL,RezL[i]:12,RezUkl[i]:10:2,

PrUklRez[i]:10:2);

Okno2;

Writeln;

Writeln(' Расчет параметров',

' движения');

Writeln(' Движение поезда от',

' подстанции Б');

Okno1; }

end;

Vrem:=0; Put:=0; Skor:=0.01; SilOs:=17.5; Tyaga:=0; RasEner:=0; U:=0;

EnRec:=0.0; DlinOb:=0; UklOb:=0; UklUch:=50; Put:=0.0; Ipr:=0.0; vv:=0;

For i:=1 to m+2 do DlinOb:=DlinOb+RezL[i]; Md:=0; f1:=0; TyagaTor:=0;

i:=1;

PutProm:=RezL[i];

{ Обмоточный коэффициент }

Kob:=0.91;

{ Кпд генератора }

Kgen:=0.93;

{ Кпд преобразователя частоты }

Krrp:=0.9;

{ Фазное напряжение двигателя }

Un:=Unl/1.73205;

{ Номинальный магнитный поток двигателя }

PotokN:=0.109;

{ Коэффициент заполнения стали }

Kst:=0.95;

{ Коэффициент Картера }

Kdelta:=1.38;

{ Потери в стали статора }

Pst:=900;

{ Предельная масса состава }

MasSosPr:=15000;

{ Расчет вспомогательных переменных }

Tau1:=Xs/X0;

Tau2:=Xrp/X0;

Tau:=Tau1+Tau2+Tau1*Tau2;

bs:=rs*(1+Tau2);

cs:=X0*Tau;

ds:=rs/X0;

es:=1+Tau1;

chis1:=cs*cs*sn/rrp+es*es*rrp/sn;

znam1:=(bs*bs+cs*cs)*sn/rrp+(ds*ds+es*es)*rrp/sn+2*rs;

UnStr:=Un*sqrt(chis1/znam1);

Skor:=0.02;

UdSopLoc:=19.64+0.098*Skor+0.0029*Skor*Skor;

OsUdSoVa:=(6.87+(29.43+0.98*Skor+0.0245*Skor*Skor)/21.4)*

Vag4/ObKolVag+(6.87+(78.48+0.9*Skor+0.0206*Skor*Skor)/21.4)

*Vag6/ObKolVag+(6.87+(58.9+0.373*Skor+0.0206*Skor*Skor)/

21.4)*Vag8/ObKolVag;

SopLoc:=UdSopLoc*LocMas;

SopSos:=OsUdSoVa*MasSosPr;

SopPo:=SopLoc+SopSos;

Md:=SopPo*Dk/(16*2*mu);

f1:=0.2;

Idv:=8000;

While Idv>2.5*Inf do

begin

alpha:=f1/fn; Mp:=Mn; Md:=Mn;

betta:=alpha;

chis2:=(bs*bs+cs*cs*alpha*alpha)*betta/rrp+

(ds*ds+es*es*alpha*alpha)*rrp/betta+2*rs*alpha;

znam2:=(bs*bs+cs*cs)*betta/rrp+(ds*ds+es*es)*rrp/betta+2*rs;

U:=UnStr*sqrt((chis2/znam2)*Md/Mp);

f2:=betta*fn;

Raschet(U,f1,Skor,n2,betta);

Mp:=Mp-Mp/8;

f1:=f1+0.1;

Skor:=0;

end;

LTor:=2000{0.006*SkorZad*(LocMas+MasSos)*8/6.5Kdv};

Repeat

if (DlinOb-LTor)>Put then

begin

If Put>PutProm then

begin

i:=i+1;

PutProm:=PutProm+RezL[i];

UklUch:=UklOb;

end;

PutTek:=Put+RezL[i]-PutProm;

UklOb:=UklUch+RezUkl[i]*PutTek/1000;

ClrScr;

if f1<=fn then

begin

delf:=0.957*UskZad*mu/Dk;

if Skor>1 then

begin

Md:=Md+Mn/5;

if Md>Mn then Md:=Mn;

end else Md:=Mn;

Ux:=U; f1x:=f1; delfx:=delf;

if Skor>SkorZad+2 then

begin

delfx:=delf;

delf:=0;

Ux:=U; f1x:=f1; vv:=0;

Skor2:=Skor1;

Skor1:=Skor;

if Skor2>Skor1 then

begin

zz:=zz+10;

Md:=Md/zz;

Mx:=Md;

end

else

begin

zz:=zz-10;

if zz<=1 then zz:=1;

Md:=Mx/zz;

end;

{ Md5:=Md4;

Md4:=Md3;

Md3:=Md2;

Md2:=Md1;

Md1:=Md;

Md:=(Md5+Md4+Md3+Md2+Md1)/5; }

if Skor>SkorZad+3 then

begin

TorDel:=PutProm-Put;

if TorDel>1010 then TorDel:=1000;

if TorDel<900 then TorDel:=1000;

TyagaTor:=-TyagaTor-abs((-40.85*(Skor*Skor-SkorZad*SkorZad)/TorDel

-(UdSopPo+PrUklRez[i]*9.81+RezUkl[i]*9.81)));

end;

end

else

begin

if vv=0 then begin U:=Ux; f1:=f1x; delf:=delfx; end;

vv:=vv+1;

if delf>2*f2n then delf:=2*f2n;

f1:=n2*p/60+delf;

TyagaTor:=0;

end;

alpha:=f1/fn;

betta:=f2/fn;

chis2:=abs((bs*bs+cs*cs*alpha*alpha)*betta/rrp+

(ds*ds+es*es*alpha*alpha)*rrp/betta+2*rs*alpha);

znam2:=abs((bs*bs+cs*cs)*betta/rrp+(ds*ds+es*es)*rrp/betta+2*rs);

U:=UnStr*sqrt(chis2/znam2)*sqrt(abs(Md/Mn));

if U>Un then U:=Un;

Raschet(U,f1,Skor,n2,betta);

end

else

begin

delf:=0.957*UskZad*mu/Dk;

{ Md:=Potok*Potok*m1*4.44*4.44*Wvf*Wvf*Kob*Kob*fn*(Rrp/betta)/

(6.2834*(Xrp*Xrp+Rrp*Rrp/(betta*betta)));}

if Skor>SkorZad+2 then

begin

delfx:=delf;

delf:=0;

Ux:=U; f1x:=f1; vv:=1;

Skor2:=Skor1;

Skor1:=Skor;

if Skor2>Skor1 then

begin

zz:=zz+10;

Md:=Md/zz;

Mx:=Md;

end

else

begin

zz:=zz-10;

if zz<=1 then zz:=1;

Md:=Mx/zz;

end;

{ Md5:=Md4;

Md4:=Md3;

Md3:=Md2;

Md2:=Md1;

Md1:=Md;

Md:=(Md5+Md4+Md3+Md2+Md1)/5;

if (RezUkl[i]<0) and (Iel2<0) then U:=U+Un/10;}

if Skor>SkorZad+5 then

begin

TorDel:=PutProm-Put;

if TorDel>1010 then TorDel:=1000;

if TorDel<900 then TorDel:=1000;

TyagaTor:=-TyagaTor-abs((-40.85*(Skor*Skor-SkorZad*SkorZad)/TorDel

-(UdSopPo+PrUklRez[i]*9.81+RezUkl[i]

*9.81)));

end;

end

else

begin

if vv=0 then begin U:=Ux; f1:=f1x; delf:=0.957*UskZad*mu/Dk; end

else delf:=0.957*UskZad*mu/Dk;

vv:=vv+1;

delf:=0.957*UskZad*mu/Dk;

if delf>{2*}f2k{n} then delf:={2*}f2k{n};

f1:=n2*p/60+{3*}delf;

TyagaTor:=0;

if Skor<SkorZad-5 then begin U:=U+Un/10; delf:=0.957*UskZad*mu/Dk; end;

if U>Un then U:=Un;

end;

if UdTyag>0.95*TyagaPr then delf:=-delf/6;

if Md>Mn then Md:=Mn;

alpha:=f1/fn;

betta:=f2/fn;

bettak:=rrp*sqrt((ds*ds+es*es*alpha*alpha)/(bs*bs+cs*cs*alpha*alpha));

f2k:=bettak*fn;

if Ptep>2100 then f1:=f1-delf else f1:=f1+delf;

Raschet(U,f1,Skor,n2,betta);

end;

Okno1;

Writeln(#10);

write(' Время движения ');

TextColor(LightGray);

Writeln(Vrem+1:6,' c;');

TextColor(Yellow);

Write(' Движение по ');

TextColor(LightGray);

Write(i);

TextColor(Yellow);

If kkk>=1 then

Write(' участку общей длиной ')

else

Write(' спрямленному участку общей длиной ');

TextColor(LightGray);

Writeln(PutProm:6:2,' м');

TextColor(Yellow);

Write(' Путь пройденный поездом ');

TextColor(LightGray);

Writeln(Put:8:2,' м;');

TextColor(Yellow);

Write(' Скорость ');

TextColor(LightGray);

Writeln(Skor:4:1,' км/ч;');

TextColor(Yellow);

U5:=U4;

U4:=U3;

U3:=U2;

U2:=U1;

U1:=U;

Udvv:=(U1+U2+U3+U4+U5)/5;

Write(' Напряжение на электродвигателе ');

TextColor(LightGray);

Writeln(Udvv:4:2,' B;');

TextColor(Yellow);

Write(' Частота тока статора ');

TextColor(LightGray);

Writeln(f1:4:2,' Гц;');

TextColor(Yellow);

if Ptes>4400 then PteS:=4400;

Pte5:=Pte4;

Pte4:=Pte3;

Pte3:=Pte2;

Pte2:=Pte1;

Pte1:=PteS;

Pte:=(Pte5+Pte4+Pte3+Pte2+Pte1)/5;

if Pte<=50 then Pte:=50;

Write(' Мощность дизеля тепловоза ');

TextColor(LightGray);

writeln(Pte:4:2,' кВт');

TextColor(Yellow);

if Itep2>5000 then Itep2:=5000;

I5:=I4;

I4:=I3;

I3:=I2;

I2:=I1;

I1:=Itep2;

Itep2v:=(I1+I2+I3+I4+I5)/10;

if Itep2v<=0 then Itep2v:=0;

{ if Itep2v>2000 then Itep2v:=2000;}

if Itep2v>5000 then Itep2v:=5000 else Itep2v:=Itep2;

Write(' Ток тягового генератора ');

TextColor(LightGray);

Writeln(Itep2v:8:0,' A');

TextColor(Yellow);

Write(' Цикловая подача топлива ');

TextColor(LightGray);

Writeln(topcikl:2:6,' г/КВт с');

TextColor(Yellow);

RasTop:=RasTop+topcikl*Ptep;

Write(' Расход топлива дизелем тепловоза ');

TextColor(LightGray);

Writeln(RasTop/1000:12:2,' кг');

TextColor(Yellow);

Write(' Обороты коленчатого вала дизеля тепловоза ');

TextColor(LightGray);

Writeln(obkol:12:2,' об/мин');

TextColor(Yellow);

Vrem:=Vrem+1;

if tyaga<20 then tyaga:=20;

tyaga5:=tyaga4;

tyaga4:=tyaga3;

tyaga3:=tyaga2;

tyaga2:=tyaga1;

tyaga1:=tyaga;

tyagav:=(tyaga5+tyaga4+tyaga3+tyaga2+tyaga1)/5;

If kk=0 then

begin

Writeln(FD,Vrem:7,Itep2:15:2,Put:16:2);

Delay(50);

Writeln(FR,Vrem:7,Skor*35:16:2,Put*0.1:16:2,UklOb*20:16:2,

Itep2v*2:16:2,Pte*1.8:16:2,tyagav/42:16:2,RasTop/16:16:2);

Delay(50);

{ end

else

begin

Writeln(FD,Vrem:7,IEl2:15:2,Put:16:2);

Delay(50);

Writeln(FR,Vrem:7,Skor*35:16:2,Put*0.1:16:2,UklOb*20:16:2,

Itep2v*5:16:2,Pte*1.8:16:2,tyaga/42:16:2,RasTop/16:16:2);

Delay(50); }

end;

if Skor<=0 then Skor:=0.02;

If Skor<=0.0 then

begin

Okno2;

Writeln;

Writeln(' Состав данной массы не может',

' проследовать ');

Writeln(' по данному перегону ');

Readln;

Okno1;

Goto 17;

end;

end

else

begin

Okno2;

Writeln;

Writeln(' Торможение ');

Okno1;

SkorTor:=Skor;

LTMex:=SkorTor;

Repeat

SkorPr:=SkorTor;

UdSopLoc:=23.54+0.108*SkorTor+0.0034*SkorTor*SkorTor+9.81*

RezUkl[i];

OsUdSoVa:=(6.87+(29.43+0.98*SkorTor+0.0245*SkorTor*SkorTor)

/21.4+9.81*RezUkl[i])*Vag4/ObKolVag+(6.87+(78.48+

0.9*SkorTor+0.0245*SkorTor*SkorTor)/21.4+9.81*

RezUkl[i])*Vag6/ObKolVag+(6.87+(58.9+0.373*

SkorTor+0.0206*SkorTor*SkorTor)/21.4+9.81*

RezUkl[i])*Vag8/ObKolVag;

UdSopTor:=(UdSopLoc*LocMas+OsUdSoVa*MasSos)/(LocMas+MasSos);

TorSilaUd:=-(40.85*SkorTor*SkorTor/(DlinOb-Put)+UdSopTor);

TorSila:=TorSilaUd*(LocMas+MasSos);

SkorTor:=SkorTor-0.0034*abs(UdSopTor+abs(TorSilaUd));

If SkorTor<0 then SkorTor:=0; { writeln(TorSilaUd:4:4,' ',UdSopTor:4:4); readln;}

Put:=Put+(SkorPr+SkorTor)*10/(2*36);

Usk:=(SkorTor-SkorPr)/3.6;

Itep2:=0;

ClrScr;

Writeln(#10);

TextColor(Yellow);

Write(' Время движения ');

TextColor(LightGray);

Writeln(Vrem,' c');

TextColor(Yellow);

Write(' Скорость ');

TextColor(LightGray);

Writeln(SkorTor:4:1,' км/ч;');

TextColor(Yellow);

Write(' Путь ');

TextColor(LightGray);

Writeln(Put:8:2,' м;');

TextColor(Yellow);

Write(' Ток генератора тепловоза ');

TextColor(LightGray);

Writeln(Itep2:12:2,' А ');

TextColor(Yellow);

Write(' Расход топлива на движение ');

TextColor(LightGray);

Writeln(RasTop/1000:12:2,' кг');

TextColor(Yellow);

Vrem:=Vrem+1;

Writeln;

Ptep:=100; tyaga:=0;

If kk=0 then

begin

Writeln(FD,Vrem:7,Itep2:15:2,Put:16:2);

Delay(50);

Writeln(FR,Vrem:7,SkorTor*35:16:2,Put*0.1:16:2,UklOb*20:16:2,

Itep2:16:2,Ptep*3.5:16:2,tyaga/42:16:2,RasTop/16:16:2);

Delay(50);

{ end

else

begin

Writeln(FD,Vrem:7,IEl2:15:2,Put:16:2);

Delay(50);

Writeln(FR,Vrem:7,SkorTor*35:16:2,Put*0.1:16:2,UklOb*20:16:2,

Itep2:16:2,Ptep*3.5:16:2,tyaga/42:16:2,RasTop/16:16:2);

Delay(50); }

end;

until (SkorTor<=0) or KeyPressed;

If SkorTor<=0 then

begin

Okno2;

Writeln;

Writeln(' Поезд прибыл на конечную',

' станцию ');

Writeln(' Для продолжения нажмите',

' клавишу ВВОД');

Readln;

Okno1;

Goto 17;

end;

end;

until (Put>DlinOb) or KeyPressed;

17: { kk:=kk+1;

If kk<=1 then begin U:=0; Md:=Mn; Put:=0.0; Skor:=0.02; goto 20; end;}

Close(FD);

Close(FR);

TextMode(LM);

END.

 







Дата добавления: 2015-09-04; просмотров: 392. Нарушение авторских прав; Мы поможем в написании вашей работы!



Вычисление основной дактилоскопической формулы Вычислением основной дактоформулы обычно занимается следователь. Для этого все десять пальцев разбиваются на пять пар...

Расчетные и графические задания Равновесный объем - это объем, определяемый равенством спроса и предложения...

Кардиналистский и ординалистский подходы Кардиналистский (количественный подход) к анализу полезности основан на представлении о возможности измерения различных благ в условных единицах полезности...

Обзор компонентов Multisim Компоненты – это основа любой схемы, это все элементы, из которых она состоит. Multisim оперирует с двумя категориями...

Особенности массовой коммуникации Развитие средств связи и информации привело к возникновению явления массовой коммуникации...

Тема: Изучение приспособленности организмов к среде обитания Цель:выяснить механизм образования приспособлений к среде обитания и их относительный характер, сделать вывод о том, что приспособленность – результат действия естественного отбора...

Тема: Изучение фенотипов местных сортов растений Цель: расширить знания о задачах современной селекции. Оборудование:пакетики семян различных сортов томатов...

Неисправности автосцепки, с которыми запрещается постановка вагонов в поезд. Причины саморасцепов ЗАПРЕЩАЕТСЯ: постановка в поезда и следование в них вагонов, у которых автосцепное устройство имеет хотя бы одну из следующих неисправностей: - трещину в корпусе автосцепки, излом деталей механизма...

Понятие метода в психологии. Классификация методов психологии и их характеристика Метод – это путь, способ познания, посредством которого познается предмет науки (С...

ЛЕКАРСТВЕННЫЕ ФОРМЫ ДЛЯ ИНЪЕКЦИЙ К лекарственным формам для инъекций относятся водные, спиртовые и масляные растворы, суспензии, эмульсии, ново­галеновые препараты, жидкие органопрепараты и жидкие экс­тракты, а также порошки и таблетки для имплантации...

Studopedia.info - Студопедия - 2014-2024 год . (0.011 сек.) русская версия | украинская версия