Смекни!
smekni.com

Расчет механизма подъема (стр. 2 из 3)

5 – 7. Выбор минимального значения

.

8. Расчет количество ветвей z.

9. Расчет максимального натяжения в канате набегающим на барабан

.

10. Расчет максимального натяжения в канате, сбегание каната с неподвижного блока

.

11. Блок проверки условия

.

12. Вывод при проверке условия

.

13. Равенство расчетов Smax1 и Smax2..

14. Расчет разрывного усилия

.

15. Блок организации цикла по параметру J (перебор столбцов таблицы).

16 - 19. Выбор из таблицы диаметр каната.

20. Расчет диаметра блока

.

21. Расчет

(округление до ближайшего большего значения, кратного 10).

22. Расчет диаметра блока и барабана по дну канавки D.

23. Расчет D (округление до ближайшего большего значения, кратного 10).

24. Расчет диаметра уравнительного блока Dy.

25. Расчет Dy (округление до ближайшего большего значения, кратного 10).

26. Вывод результатов расчетов.

27. Конец алгоритма.

5. Характеристика данных и их условные обозначения

№ п/п Наименование параметра Обозначение в алгоритме Обозначение в программе Тип данных
1. Грузоподъемность Q Q real
2. к.п.д. блока с учетом жесткости каната
kpdb real
3. Количество направляющих блоков nb real
4. Полиспаст a a real
5. Кратность u u real
6. к.п.д. полиспаста подвижного блока
kpdp real
7. к.п.д. полиспаста неподвижного блока
kpdn real
8. Максимальное натяжение в канате набегающем на барабан Smax1 smax1 real
9. Максимальное натяжение в канате, сбегание каната Smax2 smax2 real
10. Разрывное усилие Sp sp real
11. Коэффициент запаса прочности каната nk nk real
12. Диаметр блока Dбл db real
13. Диаметр каната dk dk real
14. Коэффициент, зависящий от режима работы e e real
15. Диаметр блока и барабана по дну канавки D d real
16. Диаметр уравнительного блока Dy du real

6. Текст программы

unit Unit1;

interface

uses

Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,

StdCtrls, Grids,math;

type

TForm1 = class(TForm)

GroupBox1: TGroupBox;

GroupBox2: TGroupBox;

Button1: TButton;

Button2: TButton;

Button3: TButton;

Label1: TLabel;

Label2: TLabel;

Edit1: TEdit;

Label3: TLabel;

Edit2: TEdit;

Label4: TLabel;

Edit3: TEdit;

Label5: TLabel;

Edit4: TEdit;

Label6: TLabel;

Edit5: TEdit;

Label7: TLabel;

Edit6: TEdit;

Label8: TLabel;

Edit7: TEdit;

Label9: TLabel;

Edit8: TEdit;

Label10: TLabel;

Edit9: TEdit;

Label11: TLabel;

Label12: TLabel;

Edit10: TEdit;

Edit11: TEdit;

Label13: TLabel;

Edit12: TEdit;

Label14: TLabel;

Label15: TLabel;

Edit13: TEdit;

Label16: TLabel;

Label17: TLabel;

Label18: TLabel;

Label19: TLabel;

Edit14: TEdit;

Edit15: TEdit;

Edit16: TEdit;

Edit17: TEdit;

Label20: TLabel;

Label21: TLabel;

Label22: TLabel;

Label23: TLabel;

Label24: TLabel;

Label25: TLabel;

Label26: TLabel;

Button4: TButton;

procedure Button3Click(Sender: TObject);

procedure Button2Click(Sender: TObject);

procedure Button1Click(Sender: TObject);

procedure Button4Click(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

var

Form1: TForm1;

Q,kpdb,nk,e,sp,dk,db,d,du:real;

nb:integer;

mdk:array[1..16]of real=(8.1,9.7,11.5,13.0,14.5,16.0,17.5,19.5,21.0,22.5,

24.0,25.5,27.5,29.0,32.0,35.5); //Приложение 4//

msp:array[1..16]of integer=(3430,4930,6750,8805,11100,13650,16550,19800,

23250,27000,31000,35300,39900,44750,54950,66600);Приложение 4

implementation

uses Unit2;

{$R *.DFM}

procedure TForm1.Button3Click(Sender: TObject);

begin

close;

end;

{===============Очистка окон вывода=====================}

procedure TForm1.Button2Click(Sender: TObject);

begin

Edit8.Text:='';

Edit9.Text:='';

Edit10.Text:='';

Edit11.Text:='';

Edit12.Text:='';

Edit13.Text:='';

Edit14.Text:='';

Edit15.Text:='';

Edit16.Text:='';

Edit17.Text:='';

end;

{===============Расчет данных=====================}

procedure TForm1.Button1Click(Sender: TObject);

Var

kpdp,kpdn,smax1,smax2,kpdmin,nb,a,u,z:real;

j,mj:integer;db10,d10:real;

begin

q:=strtofloat(edit1.text);

kpdb:=strtofloat(edit2.text);

nb:=strtofloat(edit3.text);

a:=strtofloat(edit4.text);

u:=strtofloat(edit5.text);

nk:=strtofloat(edit6.text);

e:=strtofloat(edit7.text);

kpdp:=(1-power(kpdb,u))/((1-kpdb)*u);

kpdn:=(1-power(kpdb,u))*power(kpdb,nb)/((1-kpdb)*u);

If kpdp>=kpdn then kpdmin:=kpdn else kpdmin:=kpdp;

z:=u*a;

smax1:=q/(z*kpdmin);

smax2:=q/a*(1-kpdb)/(1-power(kpdb,u))/power(kpdb,nb);

//If smax1=smax2 then

sp:=smax1*nk;

//Выбор номера столбца из приложения 4//

For j:=1 to 16 do

If msp[j]>sp then

BEGIN

mj:=j;

break;

end;

dk:=mdk[mj];

db:=e*dk;

d:=(e-1)*dk;

db10:=(trunc(db/10)+1)*10;

d10:=(trunc(d/10)+1)*10;

du:=0.8*db10;

edit8.text:=FormatFloat('0.0#',kpdp);

edit9.text:=FormatFloat('0.0#',kpdn);

edit10.text:=FormatFloat('#0.000',smax1);

edit11.text:=FormatFloat('#0.000',smax2);

edit12.text:=FormatFloat('#0',z);

edit13.text:=FormatFloat('#0.000',sp);

edit14.text:=FormatFloat('#0.0',dk);

edit15.text:=FormatFloat('#0',db10);

edit16.text:=FormatFloat('#0.00',d);

edit17.text:=FormatFloat('#0.000',du);

end;

{===============Переход на приложение=====================}

procedure TForm1.Button4Click(Sender: TObject);

begin

form1.Hide;

form2.show;

end;

end.

unit Unit2;

interface

uses

Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,

Grids, StdCtrls;

type

TForm2 = class(TForm)

Button1: TButton;

Button2: TButton;

StringGrid1: TStringGrid;

Label1: TLabel;

Label2: TLabel;

procedure Button1Click(Sender: TObject);

procedure FormCreate(Sender: TObject);

procedure Button2Click(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

var

Form2: TForm2;

implementation

uses Unit1;

{$R *.DFM}

procedure TForm2.Button1Click(Sender: TObject);

begin

form2.Hide;

form1.show;

end;

procedure TForm2.FormCreate(Sender: TObject);

var i:integer;

begin

for i:=1 to 16 do

stringgrid1.Cells[i-1,0]:=formatfloat('#0.0',unit1.mdk[i]);

for i:=1 to 16 do

stringgrid1.Cells[i-1,1]:=formatfloat('#000',unit1.msp[i]);

end;

procedure TForm2.Button2Click(Sender: TObject);

begin

close

end;

end.

7. Описание программы

Программа состоит из 4 процедур:

procedure Button1Click(Sender: TObject)– предназначена для выполнения вычислений.

procedure Button2Click(Sender: TObject)– предназначена для очистки окон вывода результатов расчетов.

procedure Button3Click(Sender: TObject)– предназначена для завершения работы приложения

procedure Button4Click содержит разделы констант, переменных и раздел операторов основной программы.

В разделе описания констант заданы значения постоянных параметров, приведенных в постановке задачи, а также табличные значения, приведенные в приложениях.


8. Программный интерфейс.

Рисунок 3.Форма для получения результатов в среде Delphi.

Рисунок 4.Форма с результатами расчетов в среде Delphi.

Рисунок 5 Форма для просмотра приложения


9. Описание работы программы

Программа предназначена для расчёта механизма подъема.

Для запуска программы заходим в папку, содержащую файлы Delphi. Находим файл с названием: Kruk.exe, Двойным нажатием вызываем программу и после чего её запускаем. Вводим данные с формы, открываем файл «Справочник» с приложением4, после нажимаем кнопку Расчёт (получаем нужные результаты). Затем нажимаем кнопку Очистить (очищая данные с формы). Нажимаем кнопку Выход и выходим из программы.

Заключение

10. Анализ результатов

После выполнения данной курсовой работы и анализа полученных результатов можно сделать вывод, что результаты, полученные в программе, составленной на языке программирования Delphi 3 идентичны расчётам в табличном процессоре Microsoft Office Ехсе1.

Данная программа предназначена для расчета диаметра каната, диаметра блока и барабана, а так же диаметра уравнительного блока.

Программа сделана при помощи приложений Borland Delphi 3. Все просчёты были продублированы на пакете Microsoft Ехсе1.

A24=0.975 – в Delphi к.п.д. блока с учетом жесткости каната

=0,98,

А25=0.647 – в Delphi к.п.д полиспаста (с неподвижного)

=0,65,

A26=4 – в Delphi количество ветвей z=4,

A27=5797.461кгс – в Delphi Максимальное натяжение (набегающем) Smax1=5797.461кгс,