Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

рішення часткової задачі автоматизованого проектування



на тему: ___________________________________________________________

__________________________________________________________________

__________________________________________________________________

№ залікової книжки: ________________________

Виконав студент групи ___________

________________________

(П.І.Б)

Перевірив доцент

Полтавець В.В.

Донецьк 2004

Додаток Б

Приклад лістінгу програми рішення конструкторської задачі проектування

{*-------------------------------------------------------------*}

{* Донецкий национальный технический университет *}

{* Механический факультет *}

{* Кафедра "Металлорежущие станки и инструменты" *}

{*-------------------------------------------------------------*}

{* *}

{* Программа к контрольной работе по курсу *}

{* "Основы автоматизации проектирования" *}

{* *}

{*-------------------------------------------------------------*}

{* Расчет параметров подшипников *}

{* *}

{*-------------------------------------------------------------*}

{* Разработала студентка группы МС-98н Гореленкова С.А. *}

{* *}

{* весенний семестр 2001 г. *}

{*-------------------------------------------------------------*}

PROGRAM Raschet_pametrov_podship;

Uses CRT; {библиотечный модуль для работы с экраном}

{----- Раздел описания констант -----}

Const

Temperature=1; {температурный фактор}

p=3; {коэффициент вида подшипника}

mu=2.4e-3; {коэффициент трения}

S0=1; {требуемый статический фактор}

{----- Раздел описания типов -----}

Type

str=string[5]; {тип для символьной переменной}

{----- Раздел описания переменных -----}

Var

vid:char; {вид нагрузки}

L10, Ll10:real; {долговечность, час}

n:word; {число оборотов/мин}

Fr, Fa:real; {сила радиальная и осевая, Н}

Da, Df:real; {диаметр подшипника внешний и внутренний, мм}

B:real; {ширина подшипника, мм}

C_P:real; {требуемый фактор}

C, C1:real; {корригируемый фактор}

X, Y:real; {радиальный и осевой факторы, Н}

tipL10:str; {тип долговечности}

d, Pu:real; {диаметр вала, мм, и нагрузка, Н}

C0:real; {динамическая грузоподъёмность}

m, Pp:real; {масса и нагрузка}

a1, a23:real; {табличные коэффициенты}

Mom:real; {момент, Н мм}

Gk:real; {вязкость, г}

f:text; {файловая переменная}

{-------- Раздел описания нестандартных процедур --------}

{--------------------------------------------------------}

Procedure DINAMISCHc_p(tip:str; L:real; Var C:real);

{ подпрограмма счета C/P при динамической нагрузке при

различных типах долговечности }

Begin

If tip='L10h' then C_P:=exp(1/3.333*ln(L*60*n/1e6));

If tip='L10s' then C_P:=exp(1/3*ln(L*1000/pi/Dr))

else C_P:=exp(1/1.11*ln(L));

If Fr>Fa then C:=C_P*Fr { IF- оператор проверки условия}

else C:=C_P*Fa;

End;

{---------------------------------------------------------}

Procedure STATISCHc_p(Var C:real);

{ подпрограмма счета C/P при статической нагрузке }

Begin

C_P:=S0;

If Fr>Fa then C:=C_P*Fr

else C:=C_P*Fa;

End;

{----------------------------------------------------------}

Procedure DINAM_l10(tip:str;Var L:real);

{ подпрограмма счета долговечности при динамич.нагрузке}

Begin

If tip='L10h' then L:=exp(1/p*ln(C_P))*1e6/60/n;

If tip='L10s' then L:=exp(1/p*ln(C_P))*pi*Dr/1000

else L:=exp(1/p*ln(C_P));

End;

{----------------------------------------------------------}

Procedure STAT_l10(tip:str;Var L:real);

{ подпрограмма счета долговечности при статич.нагрузке}

Begin

If tip='L10h' then L:=exp(1/p*ln(C_P))*1e6/60/n;

If tip='L10s' then L:=exp(1/p*ln(C_P))*pi*Dr/1000

else L:=exp(1/p*ln(C_P));

End;

{----------------------------------------------------------}

{ основной модуль программы }

BEGIN

Clrscr; {процедура очистки экрана}

assign(f,'Gorelen.res');{связь файловой переменной с именем файла на диске}

rewrite(f); {открытие файла для записи}

Writeln('':5,'Ввод исходных данных:');

writeln('':5,'---------------------');

writeln;

writeln('Выберите вид долговечности подшипника');

writeln('это "L10h","L10s" или "L10"?');

readln(tipL10);

write('Введите само значение долговечности=');

readln(L10);

write('Введите значение силы (N)Fr=');

readln(Fr);

write('Введите значение силы (N)Fa=');

readln(Fa);

write('Введите внутренний диаметр (mm)Dr=');

readln(Dr);

write('Введите число оборотов в минуту n=');

readln(n);

writeln('Какой вид нагрузки вас интересует');

writeln('динамическая или статическая? Введите "D" или "S"');

readln(vid);

If (vid='D')or(vid='d') then DINAMISCHc_p(tipL10,L10,C);

{ вызов процедуры счета С при

динамич. нагрузке }

If (vid='S')or(vid='s') then STATISCHc_p(C);

{ вызов процедуры счета С при

статической нагрузке }

C1:=C/Temperature;

writeln;

writeln(' ПРОАНАЛИЗИРУЙТЕ полученные результаты ');

writeln('Требуемое значение фактора C/P =',C_P:4:1);

writeln('C = ',C:9);

writeln('C1 = ',C1:9);

writeln('-------------------------------------------');

{ вывод результатов расчета во внешний файл }

writeln(f,' Расчет параметров подшипников');

writeln(f,'-------------------------------------------');

writeln(f,'Требуемое значение фактора C/P =',C_P:4:1);

writeln(f,'C = ',C:9);

writeln(f,'C1 = ',C1:9);

writeln(f,'-------------------------------------------');

a1:=1;

a23:=0.9;

writeln;

writeln('Для продолжения работы нажмите любую клавишу');

repeat until KeyPressed;

Clrscr;

writeln(' Введите новые данные:');

write('Диаметр вала, мм d = '); readln(d);

write('Внешний диаметр подшипника, мм Da = ');readln(Da);

write('Ширина подшипника, мм B = '); readln(B);

write('Нагрузка на вал, Н Pu = ');readln(Pu);

write('Динамическая грузоподъемность подшипника C0 = ');readln(C0);

write('Масса подшипника, кг m = '); readln(m);

write('Радиальный силовой фактор, Н X = '); readln(X);

write('Осевой силовой фактор, Н Y = '); readln(Y);

{ вывод исходных данных для расчета во внешний файл }

writeln(f,' Исходные данные');

writeln(f,'Диаметр вала d = ',d:5:2,'мм');

writeln(f,'Внешний диаметр подшипника Da = ',Da:4,'мм');

writeln(f,'Ширина подшипника B = ',B:3,'мм');

writeln(f,'Нагрузка на вал Pu = ',Pu:7:2, 'Н');

writeln(f,'Динамическая грузоподъемность подшипника C0 = ',C0:8);

writeln(f,'Масса подшипника m = ',m:3, 'кг');

writeln(f,'Радиальный силовой фактор X = ',X:7:2,'Н');

writeln(f,'Осевой силовой фактор Y = ',Y:7:2,'Н');

Pp:=X*Fr+Y*Fa;

If (vid='D')or(vid='d') then DINAM_l10(tipL10,Ll10);

If (vid='S')or(vid='s') then STAT_l10(tipL10,Ll10);

L10:=a1*a23*Ll10;

Mom:=0.5*mu*Pp*d;

Gk:=0.35*Da*B*1e-4;

writeln('L10=',L10:9);

writeln('Момент M=',Mom:9,' Nmm');

writeln('Вязкость Gk=',Gk:9,' g');

{ вывод результатов расчета во внешний файл }

writeln(f,' Результаты расчета');

writeln(f,'Долговечность L10 = ',Ll10:9, 'часов');

writeln(f,'Момент M = ',Mom:9,'Н мм');

writeln(f,'Вязкость Gk = ',Gk:9,'г');

close(f); {закрытие внешнего файла}

writeln;

writeln('Для окончания работы программы нажмите любую клавишу);

repeat until KeyPressed;

END.

{ конец основного модуля программы }





Дата публикования: 2015-04-06; Прочитано: 230 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2025 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.011 с)...