BEGIN
ClrScr;
New(x); New(y);
write('Obiekt inspekzuu - ');
{read(s);}
s:='2';
writeln('Elsi diagnostirovanie ishodnoe, vvedite 1,tekuwee - 2 ! ');
readln(tip);
case tip of
1: begin
Assign( fpi,s+'.dat');
ReWrite(fpi);
writeln('4islo oborotov (n) v minutu ob/min: ');
{readln(wob);}
wob:={1480}3000;
writeln(fpi,wob);
writeln('Narabotka do remonta: ');
{readln(Tppr);}
Tppr:=365;
writeln(fpi,Tppr);
writeln('Введите предель*о допустимый урове*ь вибр*ции: ');
{readln(Asned);}
Asned:=11.2;
writeln(fpi,Asned);
writeln('Введите количество ко*тролируемых дефектов: ');
{readln(L);}
L:=6;
writeln(fpi,L);
for j:=1 to 1 {L} do
begin
{writeln('Введите **зв**ие дефект* N : ',j:4,'');
{readln(sgarm[j]);}
sgarm[1]:='Дисб*л**с ротор*';
writeln(fpi,sgarm[1]);
{writeln('Введите кр*т*ость г*рмо*ики, ре*гирующей ** этот дефект : ');
{readln(skrat[j]);}
skrat[1]:=1;
writeln(fpi,skrat[j]);
{writeln(' и ее *ббр*ви*туру : ');}
readln(sabb[1]);
sabb[1]:='д';
writeln(fpi,sabb[1]);
sgarm[2]:='Р*сце*тровк* ротор* с приводом';
writeln(fpi,sgarm[2]);
skrat[2]:=2;
writeln(fpi,skrat[2]);
sabb[2]:='р';
writeln(fpi,sabb[2]);
sgarm[3]:='?з*ос **руж*ой обоймы подшип*ик* к*че*ия';
writeln(fpi,sgarm[3]);
skrat[3]:=3;
writeln(fpi,skrat[3]);
sabb[3]:='и.*.' ;
writeln(fpi,sabb[3]);
sgarm[4]:='?з*ос в*утре**ей обоймы подшип*ик* к*че*ия';
writeln(fpi,sgarm[4]);
skrat[4]:=5;
writeln(fpi,skrat[4]);
sabb[4]:='и.в.';
writeln(fpi,sabb[4]);
sgarm[5]:='?з*ос лоп*ток р*бочего колес*';
writeln(fpi,sgarm[5]);
skrat[5]:=7;
writeln(fpi,skrat[5]);
sabb[5]:='и.л.';
writeln(fpi,sabb[5]);
sgarm[6]:='?з*ос муфты сцепле*ия с приводом';
writeln(fpi,sgarm[6]);
skrat[6]:=4;
writeln(fpi,skrat[6]);
sabb[6]:='и.м.';
writeln(fpi,sabb[6]);
{sgarm[7]:='Неизвест*ый';
writeln(fpi,sgarm[7]);
skrat[7]:=18;
writeln(fpi,skrat[7]);
sabb[7]:='*.';
writeln(fpi,sabb[7]);}
end;
sgarm[L+1]:='"Прочие" дефекты';
writeln(fpi,sgarm[L+1]);
writeln('Введите м*ксим*ль*ую ч*стоту ди*г*остиров**ия (в Гц): ');
{readln(fd);}
fd:=530;
writeln(fpi,fd);
writeln('Введите количество д*тчиков: ');
{readln(nd);}
nd:=1;
writeln(fpi,nd);
writeln('Введите обоз**че*ия д*тчиков: ');
for jj:=1 to nd do
begin
{readln(ss[jj])};
ss[jj]:='1w';
writeln(fpi,ss[jj]);
Assign( fp,ss[jj]+'.dat');
ReWrite(fp);
end;
m:=1;
mp:=1;
writeln(fpi, mp);
writeln(fpi, m);
writeln('Введите де*ь месяц и год проведе*ия исход*ых измере*ий (10 11 2004) ');
for i:=1 to 3 do
readln(data[i]);
writeln('Введите де*ь, месяц и год включе*ия м*ши*ы в р*боту (10 11 2004), ');
writeln('если д*т* совп*д*ет с исход*ыми измере*иями, то повторите д*ту (10 11 2004) ');
for i:=1 to 3 do
begin
readln(datai[i]);
writeln(fpi,datai[i]);
end;
end;
2: begin
Assign( fpi,s+'.dat');
Reset(fpi);
readln(fpi,wob);
readln(fpi,Tppr);
readln(fpi,Asned);
readln(fpi,L);
for j:=1 to L do
begin
readln(fpi,sgarm[j]);
readln(fpi,skrat[j]);
readln(fpi,sabb[j]);
end;
readln(fpi,sgarm[L+1]);
readln(fpi,fd);
readln(fpi,nd);
for i := 1 to nd do
readln(fpi,ss[i]);
Readln(fpi, mp);
Readln(fpi, m);
m:=m+1;
mp:=mp+1;
Readln(fpi,datai[1]);
Readln(fpi,datai[2]);
Readln(fpi,datai[3]);
writeln('Vvedite den mesyaz i god provedeniya izmereniy (10 11 2004) ');
for i:=1 to 3 do
readln(data[i]);
end;
end;
writeln('tip=',tip:5,'');
writeln(mp:5,' -общее количество з*меров.');
writeln(m:5,' -огр**иче**ое количество з*меров.');
writeln('nd=',nd:5,'');
readkey;
for kd:=1 to nd do
begin
Assign( fp,ss[kd]+'.dat');
reset(fp);
writeln('Введите сумм*р*ый урове*ь вибр*ции в мм/с,з*регистриров***ый');
write ('по д*тчику ',ss[kd],' ');
readln(Asr[kd]);
if m=1 then
begin
tx[m]:=0;
As[m]:=0;
for j:= 1 to L+1 do
Yg[j,m]:=0;
end
else
begin
for cnt := 1 to m-1 do
begin
Readln(fp, tx[cnt]);
Readln(fp, As[cnt]);
for j:= 1 to L+1 do
Readln(fp, Yg[j,cnt]);
for j:= 1 to L do
Readln(fp,Fg[j,i]);
end;
end;
str(mp,mpp);
tx[m]:=(data[1]-datai[1])+(data[2]-datai[2])*30.5+(data[3]-datai[3])*365;
if tx[m]>=Tppr then
begin
writeln ('В*им**ие ! Текущ*я **р*ботк* ',tx[m],5:1,' превысил* **р*ботку до ППР');
writeln ('Увеличить **р*ботку до ППР ? Если д*, то введите 1, *ет - 2');
readln (ttr);
if ttr=1 then
{begin
writeln ('Введите *овую **р*ботку до ППР, преж*яя р*в*ял*сь - ', Tppr:5:1,'');
readln (Tppr);
end;
if ttr=2 then halt(1); }
end;
Assign(DataFile,ss[kd]+mpp+ '.wav');
Reset(DataFile);
seek(DataFile, 50);
AAs[0]:=0;
for i:=1 to k do
A[i]:=0;
for jj:=1 to jjk do
begin
for i := 1 to 4096 do
begin
Read(DataFile, Xx);
X^[i]:=xx/1;
end;
mm:=round(exp(n*ln(2)));
k:=round(mm/2);
df:=Round(wob/60*mm/(2*fmax));
km:=wob/60*mm/(fmax*df);
f[1]:=fmax*(km/2)/k;
for I:=1 to k do
begin
Xk[i]:=x^[i];
dt[i]:=1/(km*fmax)*i;
end;
{22 Str(jj,ds);
fname:=s+'1'+ds+'.bmp';
BuildP(xk,dt,Ygpr,wob1,2,fname); }
for i:=1 to mm do
y^[i]:=0;
Spektr(x^,y^,N, -1);
Sx:=0;
Sy:=0;
f[1]:=fmax*(km/2)/k;
for i:=1 to k do
begin
A[i]:=(A[i]*(jj-1)+sqrt(sqr(x^[i])+sqr(y^[i])))/jj;
Sx:=Sx+(x^[i])/round(fd/f[1]);
Sy:=Sy+(y^[i])/round(fd/f[1]);
end;
AAs[jj]:=(AAs[jj-1]*(jj-1)+sqrt(sqr(Sx)+sqr(Sy))*round(fd/f[1]))/jj;
for i := 1 to k do
f[i]:=fmax*(km/2)/k*i;
end;{по jj}
Close(DataFile);
Asi[m]:=AAs[jjk];
As[m]:=Asr[kd];
{Sa:=0;
for i := 1 to round(fd/f[1]) do
begin
Sa:=Sa+sqr(A[i]);
end; }
Sa:=Asi[m]{sqrt(sa)};
writeln('Sa=',Sa:5:3,' summa po A[i] do korektirovki ');
writeln('Asi=',aSi[m]:5:3,'summa po sx+sy ');
writeln('mm', mm); writeln('k', k); writeln('df', df);
readkey;
{ for i := 1 to round(fd/f[1]) do
begin
A[i]:=A[i]*As[m]/Sa;
f[i]:=fmax*(km/2)/k*i;
end;
Sa:=0;
for i := 1 to round(fd/f[1]) do
sA:=sa+sqr(A[i]);
Sa:=sqrt(sa);
writeln('Sa=',Sa:5:3,' сумм* по A[i] после корректировки ! ');
writeln('As=',aS[m]:5:3,' измере**ое з**че*ие ');
readkey;}
writeln('Posle osredneniya ! ');
Podshipnik(wob,Ft,wob1);
for j:=1 to L do
begin
kn:=round(0.98*Ft[j]/f[1]);
kv:=round(1.05*Ft[j]/f[1]);
Maxgarm(A,kn,kv,ig);
Fg[j,m]:=ig*f[1];
kn:=round(ig-3);
kv:=round(ig+3);
Sumgarm(A,kn,kv,SYgg);
Yg[j,m]:=SYgg;
end;
Ys:=0;
for i:=1 to L do
Ys:=Ys+sqr(Yg[i,m]);
Sa:=sqr(Sa);
if Sa<Ys then Sa:=1.05*Ys
else Sa:=Sa;
Yg[L+1,m]:=sqrt(Sa-Ys);
for i:=1 to L+1 do
Yg[i,m]:=Yg[i,m]*As[m]/sqrt(Sa);
for i:=1 to k do
A[i]:=A[i]*As[m]/sqrt(Sa);
yYs:=0;
for i:=1 to L+1 do
begin
yYs:=yYs+sqr(Yg[i,m]);
end;
yys:=sqrt(yYs);
writeln('YS=',yyS:5:5, ' - Ygсум. после корректировки ( с учетом прочих)');
writeln('As=',aS[m]:5:5, ' - As[m] -измере**ое з**че*ие ');
readkey;
writeln('t=',tx[m]:5:5, ' -**р*ботк* ');
writeln('fob=',wob1/60:5:5, '-обороты !!! ');
writeln('As=',as[m]:5:5, ' -сум. урове*ь.');
for j:=1 to L+1 do
writeln('Ag=',Yg[j,m]:5:5,' - ', sgarm[j] );
for j:=1 to L do
writeln('Fg=',fg[j,m]:5:1,' - ', Sgarm[j],' , Гц' );
readkey;
fname:=s+'cp.bmp';
BuildP( A,f,Ft,wob1,1,fname);
for i:=1 to L+1 do
Ygpr[i]:=Asned/As[1]*Yg[i,1];
writeln('Asned=',asned:5:5, ' -пр. урове*ь.');
for j:=1 to L+1 do
writeln('Agпр=',Ygpr[j]:5:4,' - ', sgarm[j] );
readkey;
for i := 1 to m do
Yss[1,i]:=As[i];
str (mp,mpp);
Assign( fr,mpp+s+ss[kd]+'pril.prn');
rewrite(fr);
Diagnostika(Ygpr{, {MinTrem,MinTr,MinTrl1,MaxFdd,s});
close(fr);
if m=13 then
begin
As[1]:=As[1];
As[2]:=As[3];
As[3]:=As[5];
As[4]:=As[7];
As[5]:=As[9];
As[6]:=As[11];
As[7]:=As[m];
tx[1]:=tx[1];
tx[2]:=tx[3];
tx[3]:=tx[5];
tx[4]:=tx[7];
tx[5]:=tx[9];
tx[6]:=tx[11];
tx[7]:=tx[m];
for j:= 1 to L+1 do
begin
Yg[j,1]:=Yg[j,1];
Yg[j,2]:=Yg[j,3];
Yg[j,3]:=Yg[j,5];
Yg[j,4]:=Yg[j,7];
Yg[j,5]:=Yg[j,9];
Yg[j,6]:=Yg[j,11];
Yg[j,7]:=Yg[j,m];
end;
m:=7;
end;
rewrite(fp);
for i := 1 to m do
begin
writeln(fp,tx[i]);
writeln(fp,as[i]);
for j:= 1 to L+1 do
writeln(fp,Yg[j,i]);
for j:= 1 to L do
writeln(fp,Fg[j,i]);
writeln(fp,'');
end;
close(fp);
{str (mp,mpp);
Assign( fr,mpp+s+ss[kd]+'pril.prn');
rewrite(fr);
Diagnostika(Ygpr);
close(fr); }
End;{по числу д*тчиков}
rewrite(fpi);
writeln(fpi,wob);
writeln(fpi,Tppr);
writeln(fpi,Asned);
writeln(fpi,L);
for j:=1 to L do
begin
writeln(fpi,sgarm[j]);
writeln(fpi,skrat[j]);
writeln(fpi,sabb[j]);
end;
writeln(fpi,sgarm[L+1]);
writeln(fpi,fd);
writeln(fpi,nd);
for i := 1 to nd do
writeln(fpi,ss[i]);
writeln(fpi,mp);
writeln(fpi,m);
for i := 1 to 3 do
writeln(fpi,datai[i]);
for i := 1 to 3 do
writeln(fpi,data[i]);
close(fpi);
Dispose(x); dispose(y);
END.