4297
.pdf21
nм – частота вращения насоса, указана на приводном электродвигателе.
Рис. 5.1 Принципиальная схема гидропривода лабораторного стенда.1 – насос с рабочим объемом qн1 = 80 см3/об.; 2 – насос с рабочим объемом qн2 = 60 см3/об.; 3 – предохранительный клапан; 4 – фильтр; 5 – гидрораспределитель; 6 – манометр; 7 - тензометрический датчик давления рабочей жидкости; 8 – гидромотор; 9 – рабочий орган; 10 – индукционный датчик частоты вращения; 11 – тахометр.
5.3.6 Определить рабочий КПД гидропередачи
η = nм (ф) , (5.2) nм ( р)
5.3.7Включить тензоаппаратуру и записать переходный процесс разгона гидромотора без нагрузки и при резании древесины.
5.3.8Обработать осциллограммы, установить время разгона, величину давления рабочей жидкости и интенсивность ее нарастания при различных скоростных режимах и различных породах древесины.
5.3.9Определить усилие и скорость резания
Р |
|
= |
2М |
кр |
= |
2 |
рq |
м |
; |
(5.3) |
|
|
|
|
|
||||||
рез |
Dф |
|
Dф |
|
||||||
|
|
|
|
|
|
|
||||
|
|
|
|
|
|
|
|
22
V = ω |
Dф |
= |
|
πnм Dф |
. |
(5.4) |
|
2 |
2 |
||||||
рез |
|
|
|
||||
|
|
|
|
|
|
5.3.10 По заданному крутящему моменту Мкр и давление рабочей жидкости р для проектирования машины определить конкретный рабочий объем гидромотора и набрать его по ГОСТу[3].
q |
|
= |
Мкр |
. |
(5.5) |
м |
|
||||
|
|
р |
|
||
|
|
|
|
5.4 Составление отчета.
5.4.1Начертить принципиальную гидравлическую схему стенда и в масштабе схему рабочего органа с установкой ножа и направление скорости резания в момент встречи ножа с образцом древесины.
5.4.2Расчеты частоты вращения гидромотора, объемного КПД гидропередачи для заданного варианта включения насосной станции.
5.4.3Обработка осциллограммы разгона гидромотора и построение графика переходного процесса и сравнить его с другими вариантами.
23
ЗАНЯТИЕ №6. ИССЛЕДОВАНИЕ ДИНАМИКИ ГИДРОПРИВОДА ЛЕСНЫХ МАШИН С ПРИМЕНЕНИЕМ ЭВМ
6.1 Цель работы.
Получить навыки исследования динамики гидпропривода и обоснование его параметров при проектировании лесных машин с применением ЭВМ.
6.2Оборудование и приборы. ЭВМ, чертежные инструменты.
6.3Исходные данные.
6.3.1Принципиальная гидравлическая схема проектируемой машины.
6.3.2Экспериментальные данные о параметрах гидропривода лабораторного стенда.
6.4 Расчетные зависимости.
Движение рабочего органа можно описать дифференциальным уравне-
нием
|
J |
|
dω |
= M |
|
|
− M |
|
, |
(6.1) |
|
|
пр |
dt |
д |
c |
|||||||
|
|
|
|
|
|
|
|||||
|
|
|
|
|
|
|
|
|
|
|
|
где |
Jпр –приведенный момент инерции вращающихся масс к валу гидромо- |
||||||||||
|
тора; |
|
|
|
|
|
|
|
|
|
|
|
ω – угловая скорость вала гидромотора; |
|
|
|
|||||||
|
Мд – движущий момент, развиваемый гидромотором, |
|
|||||||||
|
|
|
М = |
qм рηn |
, |
(6.2) |
|||||
|
|
|
|
||||||||
|
|
|
|
д |
|
|
2πη0 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
где |
qм – рабочий объем гидромотора; |
|
|
|
|
|
|
|
р– давление рабочей жидкости;
ηn – полный КПД гидромотора;
η0 – объемный КПД гидромотора;
Мс – момент сопротивления резанию, в период разгона вхолостую Мс = 0, при резании.
24
|
|
|
|
|
|
|
|
|
|
|
М = |
Ррез Dф |
, |
|
|
|
|
(6.3) |
|||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
с |
|
|
|
2 |
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
где |
Dф – диаметр размаха рабочего органа; |
|
|
|
|
|
|
|
|||||||||||||||||
|
Ррез – сила сопротивления резанию. |
|
|
|
|
|
|
|
|
|
|
||||||||||||||
|
Для исследования динамических процессов в гиддросистеме рассмат- |
||||||||||||||||||||||||
ривается дополнительно управление расходов рабочей жидкости: |
|
||||||||||||||||||||||||
|
|
|
|
q |
n |
|
= q |
ω + а |
|
р + К |
|
|
dp |
, |
(6.4) |
||||||||||
|
|
|
|
н |
у |
( р) |
|
||||||||||||||||||
|
|
|
|
|
|
н |
|
|
|
|
н |
|
|
|
|
|
|
|
dt |
|
|||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
где |
qн, qм – рабочий объем насоса и частота вращения; |
|
|||||||||||||||||||||||
|
ау – коэффициент утечек; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||
|
К(р) – коэффициент податливости упругих элементов гидропривода. |
||||||||||||||||||||||||
|
Рассматривается система дифференциальных уравнений, преобразо- |
||||||||||||||||||||||||
ванная к виду |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
|
dp |
= |
1 |
|
|
(q n − q ω − а р); |
|
||||||||||||||||||
|
|
|
|
K( p) |
|
||||||||||||||||||||
|
|
|
н |
|
н |
|
|
м |
|
|
|
у |
|
|
|
||||||||||
|
dt |
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
(6.5) |
|||||||||
|
dω |
|
1 |
|
|
η |
q |
|
p |
|
Ррез Dф |
|
|
|
|
||||||||||
|
|
|
м |
|
|
|
|
|
|||||||||||||||||
|
|
|
= |
|
|
|
|
|
|
п |
|
|
|
− |
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
. |
|
|
|
||||
|
|
|
Jпр |
2πη0 |
|
|
|
2 |
|
|
|
|
|
|
|||||||||||
|
dt |
|
|
|
|
|
|
|
|
|
|
6.5 Порядок выполнения работы.
6.5.1Введите фамилию и номер группы студента.
6.5.2Введите по заданию преподавателя в качестве исходных данных в программу «Исследование динамики гидропривода кустореза с инерционнорубящими рабочими органами», текст которой представлен в Приложении 3, следующие параметры:
Коэффициент утечек, ау |
0,5…1 10-6 м3/(Па с) |
Приведенный момент инерции, Jпр |
0,2…0,25 кг м2 |
Полный КПД гидромотора, ηп |
0,85…0,9 |
Объемный КПД гидромотора, η0 |
0,9…0,96 |
Рабочий объем гидромотора, qн=qм |
46…251 10-6м3/об |
Угловая скорость вала гидромотора, ωн |
100…200 с-1 |
Масса рабочего органа, mel |
0,5…3 кг |
25 |
|
|
Расстояние от рабочего органа до оси вала, R |
0,3…1 |
м |
Момент сопротивления резанию, Мс |
0…70 |
Н м |
Коэффициент податливости, K(p) |
20…70 × 10-6 м3/Па |
|
Время резания, tуд |
150…350 млс. |
Нажмите на кнопку Расчёт и получите результат расчёта.
6.5.3 Построить графики переходного процесса разгона гидропривода в масштабе, и провести анализ влияния различных параметров на его характеристику по виду графиков функций
ω = f (K( p) ,t);ω = f (qм ,t);ω = f (Jпр ,t). |
(6.6) |
Определить максимальную амплитуду ωmax, продолжительность переходного процесса tраз, частоту колебаний fм, среднее значение угловой скорости ωф, коэффициент неравномерности колебаний угловой скорости
δ = |
ωmax −ωmin |
. |
(6.7) |
|
|||
|
ωср |
|
6.6 Составление отчета.
6.6.1Привести расчетные формулы с пояснением входящих в них ве-
личин.
6.6.2Построение графиков переходных процессов разгона гидропривода фрезерного рабочего органа. Строятся в масштабе графики функций.
6.6.3Дать характеристику переходных процессов и выбрать наиболее рациональный из них для проектируемой машины по критериям снижения динамических нагрузок и обеспечения требуемого качества технологического процесса.
26
БИБЛИОГРАФИЧЕСКИЙ СПИСОК Основная литература
1. Жуков А.В. Проектирование лесопромышленного оборудования / А.В. Жуков. – Минск: Вышэйшая школа, 1990. - 321 с.
2. Попиков П.И. Проектирование самоходных лесных машин: Тексты лекций / П.И. Попиков, Л.Д. Бухтояров. – Воронеж: Воронеж. гос. лесотехн. акад., 2002. – 90 с.
Дополнительная литература
1.Баринов К.Н. Проектирование лесопромышленного оборудования:Учеб. пособие / К.Н. Баринов, В.А. Александров. – Л.:Изд-во ЛГУ, 1988..
–238 с.
2.Нартов П.С. Проектирование и расчёт лесохозяйственных машин: Учеб. пособие / П.С. Нартов, П.И. Попиков – Воронеж.:Изд-во Воронеж. унта, 1978. – 112 с.
3.Попиков П.И. Практикум по проектированию лесохозяйственных машин для рубок ухода:Учеб. пособие / П.И. Попиков - Воронеж: Изд-во ВЛТИ, 1992. – 80 с.
4.Проектирование и расчет специальных лесных машин / Под ред. М.И. Зайчик. - М.:Лесн. пром-ть., 1976. - 208 с.
Оглавление |
|
Занятие №1. Определение силового взаимодействия колёсной |
3 |
транспортной системы с пачкой деревьев с применением ЭВМ |
|
Занятие №2. Составление кинематической и расчётной схем захва- |
|
та модели, и проектирование нового захвата для бесчокерной трелёвки |
8 |
деревьев |
|
Занятие №3. Разработка компоновочно-кинематической и расчёт- |
|
ной схем гидроманипулятора |
13 |
Занятие №4. Оптимизация положений гидроцилиндров манипуля- |
|
тора с применением ЭВМ. |
17 |
Занятие №5. Экспериментальные исследования динамики гидро- |
|
привода рабочего органа машины для фрезерования пней |
20 |
Занятие №6. Исследование динамики гидропривода лесных машин |
|
с применением ЭВМ |
23 |
Библиографический список. |
26 |
Приложения |
27 |
27
Текст программы «Оценка компоновки технологического оборудования на базовой машине»
var Form1: TForm1; |
tt:=int((mph*((f2*cos(alfa)+((1- |
f2,lll,hhh,alfa,ltr,n,r,m,ksdm,l,at,an,h,m10,m |
n)*cotan(sigma)- |
20,p,ld,ht,mph:Real; |
n/f2)*sin(alfa))*9.81)/(f2*cotan(degtorad(si |
|
gma))+1))*100)/100; |
tt,nn,sigma,sinsigma,aa,bb,z1,z2,z1p,z2p,mp |
nn:=int((mph*((f2*cos(alfa)+n*(f2*cotan(de |
:Real; |
gtorad(sigma))+1)*sin(alfa)*9.81))/(f2*cota |
f21,alfa1,ltr1,n1,r1,m1,l1,at1,an1,h1,m101, |
n(degtorad(sigma))+1))*100)/100; |
m201,p1,ld1,ht1:string; |
mp:=int((r*((nn+m*cos(alfa)*9.81)*ksdm+t |
tt1,nn1,sigma1,aa1,bb1,z11,z21,z1p1,z2p1,g |
t+m*sin(alfa)*9.81))*100)/100; |
1,qwe1:string; g:integer; |
mp:=mp+lll*nn+hhh*tt; |
/------- |
z1:=int((1/l*(m*9.81*(at*cos(alfa)-(ht- |
procedure TForm1.FormCreate(Sender: |
r)*sin(alfa))-tt*(h-r)-nn*an-mp))*100)/100; |
TObject); |
z2:=int((m*cos(alfa)*9.81+nn- |
begin |
z1)*100)/100; |
g:=0; f2:=0.5; alfa:=0; ltr:=0.4; n:=0.67; |
z1p:=int((z1+2*m10*cos(alfa)*9.81)*100)/1 |
r:=0.5; m:=2000; ksdm:=0.12; l:=2.86; |
00; |
at:=1.5; an:=0.1; h:=1.8; m10:=200; |
z2p:=int((z2+2*m20*cos(alfa)*9.81)*100)/1 |
m20:=200; p:=50000; ld:=20; ht:=1; end; |
00; |
procedure TForm1.Timer1Timer(Sender: |
Form3.Memo1.Refresh; |
TObject); |
Form3.Memo1.Lines[0]:='Получены зна- |
begin g:=g+5; |
чения:'; |
gauge1.Progress:=g; |
Form3.Memo1.Lines[1]:='Сила |
if g=100 then |
Т='+Floattostr(tt)+' H;'; |
begin Form3.Visible:=True; end; end; |
Form3.Memo1.Lines[2]:='Сила |
implementation |
N='+FloattoStr(nn)+' H;'; |
uses Unit2, Unit3, Unit4,Unit6, Unit7; |
Form3.Memo1.Lines[3]:='Угол |
{$R *.DFM} |
"сигма"='+floattostr(sigma); |
procedure TForm1.N4Click(Sender: TOb- |
Form3.Memo1.Lines[4]:='Суммарный ре- |
ject); |
активный момент Мр='+floattostr(mp)+' |
begin Form1.Close; |
H.м;'; |
Form6.Visible:=True; end; |
Form3.Memo1.Lines[5]:='Опорные реак- |
//------------- |
ции на передние колеса |
procedure TForm1.Button1Click(Sender: |
Z1='+floattostr(z1)+';'; |
TObject); |
Form3.Memo1.Lines[6]:='Опорные реак- |
begin |
ции на задние колеса |
gauge1.Visible:=true; |
Z2='+floattostr(z2)+';'; |
Timer1.Enabled:=true; |
Form3.Memo1.Lines[7]:='Суммарное дав- |
aa:=(ld*(1-n))/ltr; |
ление на грунт:'; |
aa1:=FloatTostr(aa); |
Form3.Memo1.Lines[8]:=' передних колес |
bb:=aa-(1/aa)+ld/((1- |
Z1п='+floattostr(z1p)+' H;'; |
n)*ltr)*((n/f2+n/ld)*(n/f2+n/ld)); |
Form3.Memo1.Lines[9]:=' задних колес |
bb1:=Floattostr(bb); |
Z2п='+floattostr(z2p)+' H.'; |
sinsigma:=(1/bb*(1+sqrt(1+aa*bb))); |
end;end |
sigma:=int((radtodeg(Arcsin(sinsigma)))*10 |
|
0)/100; |
|
28
Текст программы «Оптимизация положений гидроцилиндра в статическом и динамическом режиме»
CONST g = 9.81; var
Form1: TForm1; {formclik : Boolean;}
a1,b1,l,l1,gamma1,delta,diam,s,mc,m,jc,q,ay,dtime,fi n,fik: extended; sin_beta1,fit,fis,fip,pt,pp,ppr,kr,kkr,kt,tn,time,sqrt1: extended; time_ost,time_shot,sn,sk,s_step,proc_time: extended;
opt_a1,opt_b1,beta_n,opt_gamma1,aa1,aa2: Extended; opt_gamma1_1,opt_a1_1,opt_b1_1,fin1,fik1:Extende d;
Flag2,Flag3,Flag4,Flag5:Boolean;
ii:integer;
aaa1,aaa2:TChartValueList;
bbb1,bbb2:Double; {a,b,c,d: TChartTitle;} implementation
{$R *.DFM}
function ScanStr(S:TEdit):Real; Var i:Integer;
Flag_ok, Flag_ok1: Boolean; begin
Flag_ok:=False;
Flag_ok1:=True;
for i:=1 to Length(S.Text) do Begin
if S.Text[i] in ['0'..'9','E','e','-',','] then Flag_ok:=True else Flag_ok:=False;
if Flag_ok = False then Flag_ok1:=False; End;
if S.Text = '' then Flag_ok1:=False; {if S.Text = '0' then Flag_ok1:=False;} if Flag_ok1 = False then
Begin
MessageDlg('Допустимые значения: цифры, запятая, минус, E (лат.) - показатель степени',
mtInformation,[mbOk],0); S.Text:=''; ScanStr:=0; S.SetFocus;
End;
if Flag_ok1 = True then Begin ScanStr:=StrToFloat(S.Text); End; end;
function myarcsin(x:Extended):extended; Begin if x=1 then myarcsin:=pi/2
else myarcsin:=arctan(x/sqrt(1-x*x)); End; function myarccos(x:Extended):Extended; Begin myarccos:=pi/2-myarcsin(x); End; procedure
TForm1.SeriesChange(number_series:integer;chart_c aption:string);
Var i:integer; begin
for i:=0 to 3 do Chart1.Series[i].Active:=False; Chart1.Series[number_series-1].Active:=True; Chart1.Title.Text.Text:=chart_caption;
end; //----------------------------------
{Начало математических расчетов}; pp:=0; pt:=0; kr:=0; fis:=0; time:=0; sqrt1:=0; sin_beta1:=0; kt:=1; time_shot:=0; s:=pi*diam*diam/4; gamma1:=gamma1*pi/180; delta:=delta*pi/180; fin1:=fin*pi/180; fik1:=fik*pi/180; fit:=fin1; fip:=fin1; Series1.Clear; Series1.Active:=False; Series2.Clear; Series2.Active:=False; Series3.Clear; Series3.Active:=False; Series4.Clear; Series4.Active:=False;
while (fit<=fik1) or (time<time_ost+time_shot) do Begin
29
sin_beta1:=a1*sin(gamma1+fit)/sqrt(a1*a1+b1*b1- 2*a1*b1*cos(gamma1+fit)); kr:=kkr/(7.28*pp+106);
if time<tn then kt:=time/tn else kt:=1; if Flag5=True then
Begin pt:=(q*kt*dtime-s*b1*sin_beta1*(fit-fip)- ay*dtime*pp)/kr+pp; fis:=(s*pt*b1*sin_beta1-
g*(m*l+mc*l1)*cos(fit+delta))*dtime*dtime/(jc+m*l
*l)
+2*fit-fip; End;
if Flag5=False then Begin
pt:=(g*(m*l+mc*l1)*cos(fit+delta))/(s*b1*sin_beta1 );
fis:=((q*kt-ay*pt)*dtime)/(s*b1*sin_beta1)+fit; End; fip:=fit; fit:=fis; pp:=pt; time:=time+dtime; Series1.AddXY(time,pt,'',ClRed); Series2.AddXY(time,fit*180/pi,'',ClRed); Series3.AddXY(time,(b1*sin_beta1*(fitfip)/dtime),'',ClRed); Series4.AddXY(time,kr*1000000,'',ClRed);
if (fit>=fik1) and (time_shot=0) and (time_ost<>0) then
Begin q:=0; time_shot:=time; fit:=fip; End; End; Chart1.Visible:=True; Chart1.Title.Text.Text:='Зависимость давления (Па) от времени';
Series1.Active:=True;
End;
procedure TForm1.Button2Click(Sender: TObject); {оптимизация положения}
LABEL lab1,lab2,lab3; VAR Flag1:Boolean;
p_m,p_max:Extended; key:Char;
Begin
If Radiobutton2.Checked=True then Flag5:=True; if Radiobutton1.Checked=True then Flag5:=False; Radiobutton1.Visible:=False; Radiobutton2.Visible:=False;
flag1:=False; p_m:=0; p_max:=10e16; flag3:=False; if flag2=false then Begin opt_b1:=s_step; End; if flag2=true then goto lab1; while opt_b1<l do
Begin lab2:
if flag2=true then if flag4=false then if opt_b1>l then opt_b1:=s_step;
{if flag2=true then if flag4=true then if opt_b1<0 then opt_b1:=l;}
{расчет выражения для arccos для бета начальное}
aa1:=4*sn*opt_b1*sin((fik1-fin1)/2); if aa1=0 then goto lab1;
aa1:=(sn*sn-sk*sk+4*opt_b1*opt_b1*(sin((fik1- fin1)/2))*
(sin((fik1-fin1)/2)))/aa1;
if abs(aa1)>1 then goto lab1; {расчет бета начальное}
beta_n:=myarccos(aa1)-0.5*(pi-fik1+fin1); {расчет подкоренного выражения для a1} sqrt1:=sn*sn+opt_b1*opt_b1- 2*sn*opt_b1*cos(beta_n);
if sqrt1<0 then goto lab1; {расчет оптимизационного a1} opt_a1:=sqrt(sqrt1);
{расчет выражения для arccos gamma1} aa2:=(opt_a1*opt_a1+opt_b1*opt_b1sn*sn)/(2*opt_a1*opt_b1);
if abs(aa2)>1 then goto lab1; opt_gamma1:=myarccos(aa2)-fin1;
{Проверка на отсутсвие мертвой точки. Параметр проверки}
if (opt_gamma1+fik1)>=pi then goto lab1; {Конец проверки}
if opt_a1*opt_a1+opt_b1*opt_b1-2*opt_a1*opt_b1* cos(opt_gamma1+fik1)<>sk*sk
then goto lab1; {инициализация переменных} if Flag2=True then Begin
Series1.Clear; Series2.Clear; Series3.Clear; Series4.Clear; End;
pp:=0; pt:=0; kr:=0; fit:=0; fis:=0; time:=0;
30
p_m:=0; sqrt1:=0; sin_beta1:=0; time_shot:=0; fit:=fin1; fip:=fin1; flag1:=True;
if flag2=true then flag3:=true; {отладка программы}
{MessageDlg(FloatToStr(opt_gamma1*180/pi)+ ' '+ FloatToStr(opt_a1)+ ' '+
FloatToStr(opt_b1)+ ' ', mtInformation,[mbOk],0); {отладка}
{цикл расчета от начального до конечного положения}
while (fit<=fik1) or (time<time_ost+time_shot) do Begin sin_beta1:=sqrt(opt_a1*opt_a1+opt_b1*opt_b1- 2*opt_a1*opt_b1*cos(opt_gamma1+fit)); sin_beta1:=opt_a1*sin(opt_gamma1+fit)/sin_beta1; kr:=(7.28*pp+106);
if kr=0 then goto lab1; kr:=kkr/kr;
if time<tn then kt:=time/tn else kt:=1; if Flag5=True then
Begin pt:=(q*kt*dtime-s*opt_b1*sin_beta1*(fit-fip)- ay*dtime*pp)/kr+pp;
fis:=((s*pt*opt_b1*sin_beta1- g*(m*l+mc*l1)*cos(fit+delta))* (dtime*dtime)/(jc+m*l*l))+2*fit-fip; End; if Flag5=False then
Begin pt:=(g*(m*l+mc*l1)*cos(fit+delta))/(s*b1*sin_beta1 );
fis:=((q*kt-ay*pt)*dtime)/(s*b1*sin_beta1)+fit; End; {Макс. давление за процесс подъема} if pt>=p_m then p_m:=pt;
fip:=fit; fit:=fis; pp:=pt; time:=time+dtime; if Flag2=True then Begin Series1.AddXY(time,pt,'',ClRed); Series2.AddXY(time,fit*180/pi,'',ClRed); Series3.AddXY(time,(b1*sin_beta1*(fitfip)/dtime),'',ClRed); Series4.AddXY(time,kr*1000000,'',ClRed); End;
if (fit>=fik1) and (time_shot=0) and (time_ost<>0) then
Begin q:=0; time_shot:=time; fit:=fip; End; End; if Flag2=True then goto lab1;
{мин. давление за все процессы} if p_m<=p_max then
Begin p_max:=p_m; opt_gamma1_1:=opt_gamma1; opt_a1_1:=opt_a1; opt_b1_1:=opt_b1;
End; {} lab1:
if (flag4=false) and (Flag3=false) then opt_b1:=opt_b1+s_step;
{if (flag4=true) and (Flag3=false) then opt_b1:=opt_b1-s_step;}
if Flag3=True then goto lab3;
if Flag2=true then goto lab2; End; if flag1=False then Begin
MessageDlg('При введенных данных оптимизация невозможна',
mtInformation,[mbOk],0); FormCreate(Form1);goto lab3; End;
Flag2:=True; Flag3:=False; opt_b1:=opt_b1_1; goto lab2; lab3: key:='1'; Flag3:=False; Chart1.Visible:=true; FormKeyPress(Form1,key); End;
procedure TForm1.FormCreate(Sender: TObject); var key: char;
begin with Form1 do Begin caption:='Программа расчета гидроцилндров'; key:='r'; flag2:=False; flag4:=false; Button1.Enabled:=True;
Button1.Visible:=true;
FormKeyPress(Form1,key); Edit22.Enabled:=False; Label22.Enabled:=false; Chart1.Visible:=False;
If Radiobutton2.Checked=True then Flag5:=True; if Radiobutton1.Checked=True then Flag5:=False; End; end;
procedure TForm1.FormKeyPress(Sender: TObject; var Key: Char);
var f: textfile;
f1: file of extended;