Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

4297

.pdf
Скачиваний:
1
Добавлен:
08.01.2021
Размер:
917.21 Кб
Скачать

31

F2,F3,F4: TextFile; i1:LongInt;

begin if Chart1.Visible=True then Begin if flag2=true then Form1.Caption:='

gamma1='+FloatToStr(opt_gamma1*180/pi) +' град '+ 'a1='+FloatToStr(opt_a1)+' м '+ 'b1='+FloatToStr(opt_b1)+ ' м ';

if key='1' then SeriesChange(1,'Зависимость давления (Па) от времени');

if key='2' then SeriesChange(2,'Зависимость угла фи (град) от времени');

if key='3' then SeriesChange(3,'Зависимость скорости штока (м/с) от времени');

if key='4' then SeriesChange(4,'Зависимость коэффициента Кр от времени');

if (key='g') or (key='G') then Chart1.SaveToMetafile('chart.wmf'); if (key='t') or (key='T') then

Begin

if Series1.Active=true then Begin aaa1:=Series1.XValues; aaa2:=Series1.YValues; End;

if Series2.Active=true then Begin aaa1:=Series2.XValues; aaa2:=Series2.YValues; End;

if Series3.Active=true then Begin aaa1:=Series3.XValues; aaa2:=Series3.YValues; End;

if Series4.Active=true then Begin aaa1:=Series4.XValues; aaa2:=Series4.YValues; End;

{bbb1:=aaa1.Value[0];} AssignFile(F2,'datax.txt'); Rewrite(F2); AssignFile(F3,'datay.txt'); Rewrite(F3); AssignFile(F4,'dataxy.txt'); Rewrite(F4);

for i1:=0 to aaa1.count-1 do Begin bbb1:=aaa1.Value[i1];

bbb2:=aaa2.Value[i1]; Write(F2,FloatToStrF(bbb1,ffGeneral,9,18)+' '); Write(F3,FloatToStrF(bbb2,ffGeneral,9,18)+' '); Write(F4,FloatToStrF(bbb1,ffGeneral,9,18)+':'+

FloatToStrF(bbb2,ffGeneral,9,18)+' '); End;

CloseFile(F2);CloseFile(F3);CloseFile(F4);

End;

End;

if (key='0') and (Button1.Visible=False) then Begin Chart1.Visible:=not Chart1.Visible; Button2.Visible:=not Button2.Visible; Radiobutton1.Visible:=not Radiobutton1.Visible; Radiobutton2.Visible:=not Radiobutton2.Visible; End;

if (Flag2=True) and (key='+') then Begin Flag4:=False; Button2Click(Form1); End; {if (Flag2=True) and (key='-') then Begin Flag4:=True; Button2Click(Form1); End;}

if (flag2=true) and (key='0') then Begin Flag2:=false; Flag4:=False;

FormCreate(Form1);End;

if (Button1.Visible=True) and ((key='r') or (key='R')) then Begin AssignFile(f,'default.set'); Reset(f);

Read(f,q,a1,diam,ay,tn,b1,dtime,jc,m,l,mc,l1,kkr,gam

ma1,delta, fin,fik,time_ost,sn,sk,s_step,proc_time); EditFill; CloseFile(f); key:=#0; End;

if (Button1.Visible=True) and ((key='l') or (key='L')) then Begin AssignFile(f1,'save.set'); Reset(f1);

Read(f1,q,a1,diam,ay,tn,b1,dtime,jc,m,l,mc,l1,kkr,ga

mma1,delta, fin,fik,time_ost,sn,sk,s_step,proc_time); EditFill;

CloseFile(f1); key:=#0; End;

if (Button1.Visible=True) and ((key='s') or (key='S')) then

Begin AssignFile(f1,'save.set'); Rewrite(f1); Write(f1,q,a1,diam,ay,tn,b1,

dtime,jc,m,l,mc,l1,kkr,gamma1,delta,fin,fik,time_ost, sn,sk,s_step,proc_time);

CloseFile(f1); key:=#0; End; end; end.

32

Текст программы «Исследование динамики гидропривода кустореза с инер- ционно-рубящими рабочими органами»

float e=2.718, ay=0.00001569, Jm=0.2, Jel=0, Jpr=0, et0=0.95, etp=0.85, Kp=0.00005,

qn=0.000251, qm=0.000251, wn=160, mel=3, R=0.75, w[5000], wp_ud=0, chislit=0, Mc=0; int Fl=10, udar=0, T=-1, Tgasch=0, Tkorr=0; float wp_nom=1.96; int DN=0; ay=StrToFloat(Edit1->Text)*0.000001; Jm=StrToFloat(Edit2->Text); etp=StrToFloat(Edit3->Text); et0=StrToFloat(Edit4->Text); qn=StrToFloat(Edit5->Text)*0.000001; wn=StrToFloat(Edit6->Text); mel=StrToFloat(Edit7->Text); R=StrToFloat(Edit8->Text); Mc=StrToFloat(Edit9->Text); Kp=StrToFloat(Edit10->Text)*0.000001; ArUdar[0]=StrToInt(Edit11->Text); Jel=mel*pow(R,2);

Jpr=Jm+Jel; chislit=((2*Jpr*M_PI*et0*pow(ay,2))- (4*Kp*etp*qn*qm));

for (int i=0; i<5000; i++) w[i]=0; for (int t=0; t<2000; t++)

{ for (int y=0; y<30; y++) if (ArUdar[y]==t) udar=1;

T=T+1; w[t+Tkorr]=pow(e,(-

ay/(2*Kp)*(T*0.1)))*(sin(sqrt(chislit/(Jpr*M_PI*et0) )/(2*Kp)*(T*0.1))- cos(sqrt(chislit/(Jpr*M_PI*et0))/(2*Kp)*(T*0.1)))+2

;

if (Tgasch>0)

{ Tgasch=Tgasch+1;

if (wp_ud>w[t]) {Tkorr=Tkorr-Tgasch; Tgasch=0;}

}

if (udar==1)

{udar=0;

wp_ud=w[t]+Mc;

for (int k=0; k<T; k++)

{ if (wp_ud>wp_nom) {Tgasch=1; break;} if (w[t-T+k+Tkorr]>=wp_ud) {T=k; break;} if (k==t) T=0;

} } }

//Вывод графика Image1->Canvas->MoveTo(0,400);

StringGrid1->Cells[0][0]="t"; StringGrid1- >Cells[0][1]="w";

StringGrid1->Cells[0][2]="t"; StringGrid1- >Cells[0][3]="w";

for (int t=0; t<200; t++) {Image1->Canvas->LineTo(0+t*5,250-

w[t*5]*(wn/2));

//wn - уроевень угловой скорости на котором происходит стабилизация

}

//Заполнение таблицы for (int t=0; t<50; t++)

{if (t==25) DN=1; StringGrid1->Cells[t+1-DN*25][0+DN*2]=t*5; StringGrid1->Cells[t+1-

DN*25][1+DN*2]=w[t*10]*wn/2;

}}

void __fastcall TForm1::Button2Click(TObject *Sender)

{pBitmap0- >LoadFromFile("C:\\WINDOWS\\Рабочий стол\\Cpp_Leo\\grafik_01\\bmp\\Бел_экр.bmp"); Form1->Image1->Canvas->Draw(0,0,pBitmap0);

}

void __fastcall TForm1::Button3Click(TObject *Sender)

{Form1->Print();

}

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]