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. Вывод результатов расчетов.
5. Характеристика данных и их условные обозначения
№ п/п | Наименование параметра | Обозначение в алгоритме | Обозначение в программе | Тип данных |
1. | Грузоподъемность | Q | Q | real |
2. | к.п.д. блока с учетом жесткости каната | kpdb | real | |
3. | Количество направляющих блоков | nб | 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 |
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 содержит разделы констант, переменных и раздел операторов основной программы.
В разделе описания констант заданы значения постоянных параметров, приведенных в постановке задачи, а также табличные значения, приведенные в приложениях.
Рисунок 3.Форма для получения результатов в среде Delphi.
Рисунок 4.Форма с результатами расчетов в среде Delphi.
Рисунок 5 Форма для просмотра приложения
Программа предназначена для расчёта механизма подъема.
Для запуска программы заходим в папку, содержащую файлы 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кгс,