Студопедия — ПРОГРАММНОЕ СРЕДСТВО ДЛЯ ВЫПОЛНЕНИЯ РАСЧЁТА И ПРЕДУПРЕЖДЕНИЯ ОШИБОК
Студопедия Главная Случайная страница Обратная связь

Разделы: Автомобили Астрономия Биология География Дом и сад Другие языки Другое Информатика История Культура Литература Логика Математика Медицина Металлургия Механика Образование Охрана труда Педагогика Политика Право Психология Религия Риторика Социология Спорт Строительство Технология Туризм Физика Философия Финансы Химия Черчение Экология Экономика Электроника

ПРОГРАММНОЕ СРЕДСТВО ДЛЯ ВЫПОЛНЕНИЯ РАСЧЁТА И ПРЕДУПРЕЖДЕНИЯ ОШИБОК






 

На основе вышеуказанных формул было реализовано программное средство, производящее моделирование полёта самолёта и последующую его проверку на ошибки.

Рассмотрим работу программы в двух случаях.

При первом прогоне устанавливаем длину разбега 1000м. Запускаем моделирование взлёта нажатием кнопки «START».

Рис. 2. Главное окно приложения. Моделирование взлёта для благоприятного исхода.


 

Для проверки возможности взлёта запускаем систему нажатием кнопки «USE SYSTEM».

Рис. 3. Главное окно приложения. Расчёт возможности взлёта для благоприятного исхода.

 

Как видно из графика на рис.3, аварийная остановка не потребовалась, и самолёт благополучно закончил разгон.

 


 

При втором прогоне изменяем длину разбега на 500м и запускаем моделирование взлёта нажатием кнопки «START».

Рис. 4. Главное окно приложения. Моделирование взлёта для плохого исхода.

Как видно из графика на рис.4, самолёт не успеет набрать требуемую скорость до конца полосы.


 

Для проверки возможности взлёта запускаем систему нажатием кнопки «USE SYSTEM».

Рис. 5. Главное окно приложения. Расчёт возможности взлёта для плохого исхода.

На рис. 5 видно, что по достижении точки не возврата система определила, что условие взлёта недостижимо, и приняла решение прекратить набор скорости и начать торможение самолёта.


 

Нет
Да
Нет
Да
Да
Нет
Нет
Да
Расчёт V
Расчёты возможности взлёта
6. БЛОК-СХЕМА ПРОГРАМНОГО СРЕДСТВА
ЗАКЛЮЧЕНИЕ

 

В ходе данной учебно-исследовательской работы была изучена предметная область – аэродинамика взлёта самолёта. Также на основе теоретических материалов было разработано программное средство, рассчитывающее возможность взлёта самолёта и предупреждающее возможные ошибки на этой стадии. Использованные формулы пока не достаточно полны, но уже сейчас отражают основные действующие силы и процессы и позволяют делать приблизительные расчёты. В дальнейшем я планирую продолжить работу в этой области и сделать расчёт максимально точным и применимым для задач авиации.


СПИСОК ИСПОЛЬЗОВАННОЙ ЛИТЕРАТУРЫ

 

1. Лигум Т.И. Практическая аэродинамика и динамика полёта турбореактивных самолётов, Транспорт 1967

2. Лигум Т.И. Аэродинамика самолёта Ту-134А-3 (Б-3), Транспорт 1987

3. Верещиков Д.В., Салтыков С.Н. Самолет Ил-76: аэродинамика и динамика полета, Электрон. текстовые дан. 2006

4. Остославский И.В. Аэродинамика самолета, Государственное издательство оборонной промышленности 1957

5. Остославский И.В, Титов В.М. Аэродинамический расчет самолета. - М.: Оборонгиз, 1947


ПРИЛОЖЕНИЕ 1. ЛИСТИНГ ПРОГРАММЫ

 

var

Form1: TForm1;

implementation

 

{$R *.dfm}

 

procedure TForm1.btn1Click(Sender: TObject); //моделируем взлёт самолёта без нашей системы

var polosa,s,n,s1,vmax:Integer;

P,P1,v,G,i,S2,Ya,Xa,Cy,Cx,m,f:Real;

begin

polosa:=strtoint(edt2.text);

Chart1.Series[0].Clear;

Chart1.Series[1].Clear;

Chart1.Series[2].Clear;

S:=0;

v:=0;

S2:=strtofloat(edt8.text);

P:=StrToFloat(edt5.text);

m:=StrToFloat(edt3.text);

 

if rb1.Checked then f:=0.06; //выбор ср. величины коэфициента трения

if rb2.Checked then f:=0.06;

if rb3.Checked then f:=0.23;

if rb4.Checked then f:=0.26;

 

vmax:=strtoint(edt1.text)-strtoint(edt4.text);//учёт ветра

for S:=1 to polosa do begin

Chart1.Series[0].AddXY(S, vmax);

end;

v:=0;

 

if (P-Xa-(1.1*f*(m*g))<=0) then showmessage('сила тяги слишком мала!')

else begin

for n:=1 to polosa do begin

S:=n;

Cy:=strtofloat(edt9.text);

Cx:=strtofloat(edt6.Text);

if s=s1 then P:=P-P1;

 

Ya:=50;

Xa:=500;

i:=9.8*(P-Xa-(1.1*f*(m*9.8-Ya)))/m; if i<0 then break;

v:=Sqrt(Sqr(v)+(i*2)); //вычисляем скорость на каждом шаге

if v>=vmax then Break;

Chart1.Series[1].AddXY(S, v);

if (S mod 10)=0 then Chart1.Refresh;

Sleep(1);

end;

end;

btn2.Visible:=True;

end;

 

procedure TForm1.btn2Click(Sender: TObject);

var color: TColor;

S,S1,n1,n,polosa: integer;

flag:boolean;

P,P1,f,i,i2,G, S2, Ya, v, Cy, m, Xa, Cx, vmax, Smax2,Smax:Real;

begin

vmax:=StrToFloat(edt1.text)-StrToFloat(edt4.text);//учёт ветра

Flag:=false; //флаг остановки

 

P:=strtofloat(edt5.Text);

polosa:=strtoint(edt2.text);

S2:=strtofloat(edt8.text);

m:=StrToFloat(edt3.text);

P:=StrToFloat(edt5.text);

 

if rb1.Checked then f:=0.06;

if rb2.Checked then f:=0.06;

if rb3.Checked then f:=0.23;

if rb4.Checked then f:=0.26;

 

for n:=1 to Chart1.Series[1].LastValueIndex do begin //расчёт по метрам

if flag=true then break;

S:=n;

i:=(sqr(Chart1.Series[1].YValue[S])-sqr(v))/2;

 

Cy:=strtofloat(edt9.text);

 

Ya:=50;

Xa:=500;

 

i2:=9.8*((P*strtofloat(edt10.Text)/100)+Xa+(1.1*f*(m*9.8-Ya)))/m;

 

Smax2:=sqr(v)/(2*i2);

Smax:=(Sqr(Vmax)-(v*vmax))/(2*i);

 

if (polosa-S-10<=Smax2) and (polosa-S<=Smax) and (v<vmax) then

begin showmessage(floattostr(Smax)+' '+floattostr(Smax2));

flag:=true; end;

 

if flag=false then begin

 

v:=Chart1.Series[1].YValue[S];

Chart1.Series[2].AddXY(S, v);

 

if (S mod 5)=0 then Chart1.Refresh;

end;

 

if flag=true then stop(S,P,v);

if v>=vmax then break;

end;

end;

 

procedure TForm1.stop(S: integer; P,v: real);

var s1,polosa:integer;

F1,i,m,S2,Xa,Ya,f,Cy,Cx:Real;

begin

polosa:=strtoint(edt2.text);

S2:=strtofloat(edt8.text);

m:=StrToFloat(edt3.text);

 

if rb1.Checked then f:=0.06; //выбор ср. величины коэфициента трения

if rb2.Checked then f:=0.06;

if rb3.Checked then f:=0.23;

if rb4.Checked then f:=0.26;

s1:=0;

repeat

Chart1.Series[2].AddXY(S, v);

Sleep(1);

if (S mod 10)=0 then Chart1.Refresh;

inc(S);

inc(S1);

Cy:=strtofloat(edt9.text);

Cx:=strtofloat(edt6.text);

Ya:=50;

Xa:=500;

i:=9.8*((P*strtofloat(edt10.Text)/100)+Xa+(1.1*f*(m*9.8-Ya)))/m;

if (Sqr(v)-(i*2))<=0 then v:=0 else

v:=sqrt(Sqr(v)-(i*2));

if v<=0 then break;

if (S=polosa) then break;

until v=0;

end;

end.







Дата добавления: 2015-10-01; просмотров: 980. Нарушение авторских прав; Мы поможем в написании вашей работы!



Кардиналистский и ординалистский подходы Кардиналистский (количественный подход) к анализу полезности основан на представлении о возможности измерения различных благ в условных единицах полезности...

Обзор компонентов Multisim Компоненты – это основа любой схемы, это все элементы, из которых она состоит. Multisim оперирует с двумя категориями...

Композиция из абстрактных геометрических фигур Данная композиция состоит из линий, штриховки, абстрактных геометрических форм...

Важнейшие способы обработки и анализа рядов динамики Не во всех случаях эмпирические данные рядов динамики позволяют определить тенденцию изменения явления во времени...

Алгоритм выполнения манипуляции Приемы наружного акушерского исследования. Приемы Леопольда – Левицкого. Цель...

ИГРЫ НА ТАКТИЛЬНОЕ ВЗАИМОДЕЙСТВИЕ Методические рекомендации по проведению игр на тактильное взаимодействие...

Реформы П.А.Столыпина Сегодня уже никто не сомневается в том, что экономическая политика П...

Дезинфекция предметов ухода, инструментов однократного и многократного использования   Дезинфекция изделий медицинского назначения проводится с целью уничтожения патогенных и условно-патогенных микроорганизмов - вирусов (в т...

Машины и механизмы для нарезки овощей В зависимости от назначения овощерезательные машины подразделяются на две группы: машины для нарезки сырых и вареных овощей...

Классификация и основные элементы конструкций теплового оборудования Многообразие способов тепловой обработки продуктов предопределяет широкую номенклатуру тепловых аппаратов...

Studopedia.info - Студопедия - 2014-2024 год . (0.011 сек.) русская версия | украинская версия