4. Спецификация на программу

Имя процедуры в программе Выполняемая функция Примечание
MainMenu1: TMainMenu; описание компонентов
N1: TMenuItem описание компонентов
N2: TMenuItem описание компонентов
N3: TMenuItem описание компонентов
N4: TMenuItem описание компонентов
N5: TMenuItem описание компонентов
N6: TMenuItem описание компонентов
N7: TMenuItem описание компонентов
N8 TMenuItem описание компонентов
N9 TMenuItem описание компонентов
N10TMenuItem описание компонентов
N11TMenuItem описание компонентов
N12TMenuItem описание компонентов
N13TMenuItem описание компонентов
N14TMenuItem описание компонентов
N15MenuItem описание компонентов
N16MenuItem описание компонентов
N17MenuItem описание компонентов
N18MenuItem описание компонентов
N19enuItem описание компонентов
GroupBox1: TGroupBox; описание компонентов
GroupBox2: TGroupBox; описание компонентов
Button1: TButton; описание компонентов
Button2: TButton; описание компонентов
Button3: TButton; описание компонентов
Button4: TButton; описание компонентов
Button5: TButton; описание компонентов
Button6: TButton; описание компонентов
procedure Button1Click(Sender: TObject); кнопка для вызова формы ввода исходных данных
procedure Button2Click(Sender: TObject); кнопка для вызова формы расчета без приоритетов
procedure Button3Click(Sender: TObject); кнопка для вызова формы расчета с относительными приоритетами
procedure Button4Click(Sender: TObject); кнопка для вызова формы расчета с абсолютными приоритетами
procedure Button5Click(Sender: TObject); кнопка для вызова формы расчета со смешанными приоритетами
procedure Button6Click(Sender: TObject); выход выход из программы
procedure N1Click(Sender: TObject); Меню «Файл»
procedure N2Click(Sender: TObject); Меню «Расчет»
procedure N3Click(Sender: TObject); выход выход из программы
procedure N4Click(Sender: TObject); вызова формы ввода исходных данных
procedure N5Click(Sender: TObject); Меню «Справка»
procedure N6Click(Sender: TObject); вызова формы «О программе»
procedure N7Click(Sender: TObject); вызова формы «Помощь»
procedure N8Click(Sender: TOject); Меню «при бесприоритетном обслуживании»
procedure N9Click(Sender: TObject); Меню «при оптимальных относительных приоритетах»
procedure N10Click(Sender: TObject); Меню «при оптимальных абсолютных приоритетах»
procedure N11Click(Sender: TObject); Меню «при смешанных приоритетах»
procedure N12Click(Sender: TObject); сохранить результаты без приоритетов
procedure N13Click(Sender: TObject); сохранить результаты с относительными приоритетами
procedure N14Click(Sender: TObject); сохранить результаты с абсолютными приоритетами
procedure N15Click(Sender: TObject); сохранить результаты со смешанными приоритетами
procedure N16Click(Sender: TObject); результаты расчета без приоритетов
procedure N17Click(Sender: TObject); результаты расчета с относительными приоритетами
procedure N18Click(Sender: TObject); результаты расчета с абсолютными приоритетами
procedure N19Click(Sender: TObject); результаты расчета со смешанными приоритетами
procedure TForm3.FormActivate(Sender: TObject); перевод результатов в строку и вывод на экран без приоритетов
procedure TForm6.FormActivate(Sender: TObject); перевод результатов в строку и вывод на экран с относительными приоритетами
procedure Tform7.FormActivate(Sender: TObject); перевод результатов в строку и вывод на экран с абсолютными приоритетами
procedure Tform8.FormActivate(Sender: TObject); перевод результатов в строку и вывод на экран со смешанными приоритетами
procedure TForm2.Button1Click(Sender: TObject); закрытие формы исходные данные
procedure Tform3.Button1Click(Sender: TObject); закрытие формы расчета без приоритетов
procedure Tform4.Button1Click(Sender: TObject); закрытие формы о программе
procedure Tform5.Button1Click(Sender: TObject); закрытие формы помощь
procedure Tform6.Button1Click(Sender: TObject); закрытие формы расчета с относительными приоритетами
procedure Tform7.Button1Click(Sender: TObject); закрытие формы расчета с абсолютными приоритетами
procedure Tform8.Button1Click(Sender: TObject); закрытие формы расчета со смешанными приоритетами

Заключение

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

В ходе выполнения курсовой работы разработана модель системы обслуживания робототехнического комплекса производства деталей ЭВА.

На данной модели возможно проанализировать эффективность СМО при различных дисциплинах очереди: в порядке поступления заявок (бесприоритетное обслуживание), с относительными, абсолютными и смешанными приоритетами. Эффективность СМО зависит от ожидании обслуживания, которое ведет к возникновению стоимостных потерь, связанных с простоями технических средств.

Следовательно, данная модель поможет подобрать оптимальную дисциплину очереди и параметры входного потока однородных событий.


Список литературы

1 Черняев В.Н. Технология производства интегральных микросхем и микропроцессоров: учебник для вузов -2-е изд.-М.Радио и связь, 1987.-464с.,ил.

2 Нишельский АЯ. Технология спецматериалов электронной техники. М. "Металлургия", 1993. 368с., ил.

3 Ушаков НЛ. Технология производства ЭВМ: учебник для вузов, М.Высшая школа, 1987 г.

4 Вейцман Э.В., Венбрин В.Д. Технологическая подготовка производства радиоэлектронной аппаратуры. - М. Радио и связь, 1989.

5 Готра З.Ю. Технология микроэлектронных устройств: Справочник.- М.: Радио и связь, 1991.-528с.:ИЛ.

6 Мокеев О.К Романов А.С. Химическая обработка и фотолитография в производстве полупроводниковых приборов и микросхем.2-е изд.-М.Высшая школа,1985.-312с.

7 Корячко В.П., Курейчик В.М., Норенков И.П. Теоретические основы САПР. Москва, Энергоиздат, 1987г

8 Курейчик В.М. Математическое обеспечение конструкторского и технологического проектирования с применением САПР. Москва, Радио и связь, 1990 г

9 А.П.Гордиенко Разработка графического пользовательского интерфейса методами чисто функционального программирования. //Материалы научной конференции. Пользовательский интерфейс в современных компьютерных системах. – Орел: ОрелГТУ. 1999. – С. 98-103


Приложение

 

Листинг программы

unit Unit1;

interface

uses

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

Dialogs, StdCtrls, Menus;

type

TForm1 = class(TForm)

MainMenu1: TMainMenu;

N1: TMenuItem;

N2: TMenuItem;

N3: TMenuItem;

N4: TMenuItem;

N5: TMenuItem;

N6: TMenuItem;

N7: TMenuItem;

GroupBox1: TGroupBox;

Button1: TButton;

GroupBox2: TGroupBox;

Button2: TButton;

Button3: TButton;

Button4: TButton;

Button5: TButton;

N8: TMenuItem;

N9: TMenuItem;

N10: TMenuItem;

N11: TMenuItem;

N12: TMenuItem;

N13: TMenuItem;

N14: TMenuItem;

N15: TMenuItem;

N16: TMenuItem;

N17: TMenuItem;

N18: TMenuItem;

N19: TMenuItem;

Button6: TButton;

procedure Button1Click(Sender: TObject);

procedure N3Click(Sender: TObject);

procedure Button4Click(Sender: TObject);

procedure Button2Click(Sender: TObject);

procedure N7Click(Sender: TObject);

procedure N6Click(Sender: TObject);

procedure N4Click(Sender: TObject);

procedure Button3Click(Sender: TObject);

procedure Button6Click(Sender: TObject);

procedure Button5Click(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

var

Form1: TForm1;

l, c, b, p, R, svo2,svo3,B4,t,N,T4,X,svo4: array [1..4] of real;

constS, ls1, svp1,b21,svo1, Vrem1, sp1, Vrem2,ssvo2,sp2,Vrem3:real;

ssvo3,sp3,q,sum,ssvo4,sp4 :real;

i: integer;

implementation

uses Unit2, Unit3, Unit4, Unit5, Unit6, Unit7, Unit8;

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);

begin

Form2.ShowModal;

{Включение кнопок}

Button2.Enabled:=true;

Button3.Enabled:=true;

Button4.Enabled:=true;

Button5.Enabled:=true;

N12.Enabled:=true;

N13.Enabled:=true;

N14.Enabled:=true;

N15.Enabled:=true;

N16.Enabled:=true;

N17.Enabled:=true;

N18.Enabled:=true;

N19.Enabled:=true;

end;

procedure TForm1.N3Click(Sender: TObject);

begin

Close;

end;

procedure TForm1.Button4Click(Sender: TObject);

begin

ls1:=0;

Vrem3:=0;

ssvo3:=0;

svp1:=0;

b21:=0;

sp3:=0;

For i:=1 to 4 do

begin

ls1:=ls1+l[i];

b[i]:=constS/l[i];

p[i]:=l[i]*b[i]*b[i];

end;

For i:=1 to 4 do

begin

Vrem3:= Vrem3+l[i]*l[i]*l[i]/constS*constS;

if i=1 then R[i]:=p[i] else R[i]:=R[i-1]+p[i];

if i=1 then svo3[i]:= Vrem3/2*(1-R[i])

else svo3[i]:= Vrem3/2*(1-R[i-1])*(1-R[i]);

svp1:= svp1+l[i]*c[i]/ls1;

b21:=b21+l[i]*l[i]*l[i]/(ls1*constS*constS);

end;

For i:=1 to 4 do sp3:=sp3+l[i]*c[i]*svo3[i];

Form7.ShowModal;

end;

procedure TForm1.Button2Click(Sender: TObject);

begin

ls1:=0;

svp1:=0;

b21:=0;

Vrem1:=0;

svo1:=0;

sp1:=0;

For i:=1 to 4 do ls1:=ls1+l[i];

For i:=1 to 4 do

begin

svp1:= svp1+l[i]*c[i]/ls1;

b21:=b21+l[i]*l[i]*l[i]/(ls1*constS*constS);

Vrem1:=Vrem1+l[i]*l[i]/constS;

end;

For i:=1 to 4 do svo1:= ls1*b21/(2*(1-Vrem1));

sp1:= ls1*svp1*svo1;

Form3.ShowModal;

end;

procedure TForm1.N7Click(Sender: TObject);

begin

Form4.ShowModal;

end;

procedure TForm1.N6Click(Sender: TObject);

begin

Form5.ShowModal;

end;

procedure TForm1.N4Click(Sender: TObject);

begin

Form2.ShowModal;

{Включение кнопок}

Button2.Enabled:=true;

Button3.Enabled:=true;

Button4.Enabled:=true;

Button5.Enabled:=true;

N12.Enabled:=true;

N13.Enabled:=true;

N14.Enabled:=true;

N15.Enabled:=true;

N16.Enabled:=true;

N17.Enabled:=true;

N18.Enabled:=true;

N19.Enabled:=true;

end;

procedure TForm1.Button3Click(Sender: TObject);

begin

ls1:=0;

Vrem2:=0;

ssvo2:=0;

svp1:=0;

b21:=0;

sp2:=0;

For i:=1 to 4 do

begin

ls1:=ls1+l[i];

b[i]:=constS/l[i];

p[i]:=l[i]*b[i]*b[i];

Vrem2:= Vrem2+l[i]*l[i]*l[i]/constS*constS;

end;

For i:=1 to 4 do

begin

if i=1 then R[i]:=p[i] else R[i]:=R[i-1]+p[i];

if i=1 then svo2[i]:= Vrem2/2*(1-R[i])

else svo2[i]:= Vrem2/2*(1-R[i-1])*(1-R[i]);

svp1:= svp1+l[i]*c[i]/ls1;

b21:=b21+l[i]*l[i]*l[i]/(ls1*constS*constS);

end;

For i:=1 to 4 do sp2:=sp2+l[i]*c[i]*svo2[i];

Form6.ShowModal;

end;

procedure TForm1.Button6Click(Sender: TObject);

begin

close;

end;

procedure TForm1.Button5Click(Sender: TObject);

begin

B4[1]:=0;

B4[2]:=0;

B4[3]:=0;

B4[4]:=0;

sum:=0;

ssvo4:=0;

ls1:=0;

Vrem3:=0;

svp1:=0;

For i:=1 to 4 do

begin

b[i]:=constS/l[i];

t[i]:=b[i]/2;

p[i]:=l[i]*b[i]*b[i];

if i=1 then R[i]:=p[i] else R[i]:=R[i-1]+p[i];

end;

For i:=1 to 4 do B4[1]:=B4[1]+p[i]*t[i]*t[i]/(2*b[i]);

For i:=2 to 4 do B4[2]:=B4[2]+(p[1]*p[i]/(1-R[1]))*

((t[i]*t[i]-t[1]*t[1])/(2*b[i]));

For i:=3 to 4 do

begin

if i=3 then B4[3]:=(p[1]*p[i]/(1-R[1]))*

Продолжение приложения А

((t[i]*t[i]-t[1]*t[1])/(2*b[i]))

else

begin

B4[3]:=(p[1]*p[i]/(1-R[1]))*

((t[i]*t[i]-t[1]*t[1])/(2*b[i]));

q:=B4[3]/(1-R[2]);

B4[3]:=B4[3]+B4[3]/(1-R[2]);

end;

end;

B4[4]:=(p[1]*p[4]/(1-R[1]))*

((t[4]*t[4]-t[1]*t[1])/(2*b[4]));

B4[4]:=B4[4]+q;

B4[4]:=B4[4]+(p[1]*p[3]/(1-R[3]))*

((t[4]*t[4]-t[3]*t[3])/(2*b[4]))/(1-R[4]);

For i:=1 to 4 do N[i]:=R[i]*(t[i+1]-t[i])/(1-R[i]);

T4[1]:=N[1];

For i:=2 to 4 do T4[i]:=T4[i-1]+N[i];

For i:=1 to 4 do sum:=sum+p[i]*t[i]*t[i]/(2*b[i]);

{--------------------------------------------3расч}

For i:=1 to 4 do

begin

ls1:=ls1+l[i];

Vrem3:= Vrem3+l[i]*l[i]*l[i]/constS*constS;

if i=1 then R[i]:=p[i] else R[i]:=R[i-1]+p[i];

if i=1 then svo3[i]:= Vrem3/2*(1-R[i])

else svo3[i]:= Vrem3/2*(1-R[i-1])*(1-R[i]);

end;

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

{расчет СВО}

X[1]:=svo3[1]*p[1];

For i:=2 to 4 do X[i]:=X[i-1]+svo3[i]*p[i];

For i:=1 to 4 do

begin

svo4[i]:=X[i]*sum*B4[i]*T4[i];

Продолжение приложения А

sp4:=sp4+svo4[i];

end;

Form8.ShowModal;

end;

end.

unit Unit2;

interface

uses

Unit1, Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

Dialogs, StdCtrls;

type

TForm2 = class(TForm)

Edit9: TEdit;

GroupBox1: TGroupBox;

GroupBox2: TGroupBox;

GroupBox3: TGroupBox;

Label1: TLabel;

Edit1: TEdit;

Edit2: TEdit;

Edit3: TEdit;

Edit4: TEdit;

Label2: TLabel;

Label3: TLabel;

Label4: TLabel;

Label5: TLabel;

Edit5: TEdit;

Edit6: TEdit;

Edit7: TEdit;

Edit8: TEdit;

Label6: TLabel;

Label7: TLabel;

Label8: TLabel;

Label9: TLabel;

Button1: TButton;

procedure Button1Click(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

var

Form2: TForm2;

implementation

{$R *.dfm}

procedure TForm2.Button1Click(Sender: TObject);

begin

c[1]:=StrToFloat(Edit1.Text);

c[2]:=StrToFloat(Edit2.Text);

c[3]:=StrToFloat(Edit3.Text);

c[4]:=StrToFloat(Edit4.Text);

l[1]:=StrToFloat(Edit5.Text);

l[2]:=StrToFloat(Edit6.Text);

l[3]:=StrToFloat(Edit7.Text);

l[4]:=StrToFloat(Edit8.Text);

constS:=StrToFloat(Edit9.Text);

close;

end;

end.

unit Unit3;

interface

uses

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

Dialogs, StdCtrls;

type

TForm3 = class(TForm)

Button1: TButton;

GroupBox1: TGroupBox;

Label1: TLabel;

Label2: TLabel;

Label3: TLabel;

Edit1: TEdit;

Edit2: TEdit;

Edit3: TEdit;

procedure Button1Click(Sender: TObject);

procedure FormActivate(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

var

Form3: TForm3;

implementation

uses Unit1;

{$R *.dfm}

procedure TForm3.Button1Click(Sender: TObject);

begin

Close;

end;

procedure TForm3.FormActivate(Sender: TObject);

begin

Edit1.Text:=FloatToStr(svp1);

Edit2.Text:=FloatToStr(svo1);

Edit3.Text:=FloatToStr(sp1);

end;

end.

unit Unit4;

interface

uses

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

Dialogs, ExtCtrls, StdCtrls;

type

TForm4 = class(TForm)

GroupBox1: TGroupBox;

Label1: TLabel;

StaticText2: TStaticText;

Button1: TButton;

Panel1: TPanel;

Image1: TImage;

StaticText1: TStaticText;

GroupBox2: TGroupBox;

StaticText3: TStaticText;

procedure Button1Click(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

var

Form4: TForm4;

implementation

{$R *.dfm}

procedure TForm4.Button1Click(Sender: TObject);

begin

close;

end;

end.

unit Unit5;

interface

uses

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

Dialogs, ExtCtrls, StdCtrls;

type

TForm5 = class(TForm)

Button1: TButton;

Panel1: TPanel;

procedure Button1Click(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

var

Form5: TForm5;

implementation

{$R *.dfm}

procedure TForm5.Button1Click(Sender: TObject);

begin

close;

end;

end.

unit Unit6;

interface

uses

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

Dialogs, StdCtrls;

type

TForm6 = class(TForm)

GroupBox1: TGroupBox;

GroupBox2: TGroupBox;

Edit1: TEdit;

Edit2: TEdit;

Edit3: TEdit;

Edit4: TEdit;

Label1: TLabel;

Label2: TLabel;

Label3: TLabel;

Label4: TLabel;

Button1: TButton;

Edit5: TEdit;

GroupBox3: TGroupBox;

Label5: TLabel;

Label6: TLabel;

procedure FormActivate(Sender: TObject);

procedure Button1Click(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

var

Form6: TForm6;

implementation

uses Unit1;

{$R *.dfm}

procedure TForm6.FormActivate(Sender: TObject);

begin

Edit1.Text:=FloatToStr(svo2[1]);

Edit2.Text:=FloatToStr(svo2[2]);

Edit3.Text:=FloatToStr(svo2[3]);

Edit4.Text:=FloatToStr(svo2[4]);

Edit5.Text:=FloatToStr(sp2);

end;

procedure TForm6.Button1Click(Sender: TObject);

begin

close

end;

end.

unit Unit7;

interface

uses

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

Dialogs, StdCtrls;

type

TForm7 = class(TForm)

Button1: TButton;

GroupBox1: TGroupBox;

GroupBox3: TGroupBox;

Label5: TLabel;

Label6: TLabel;

GroupBox2: TGroupBox;

Label1: TLabel;

Label2: TLabel;

Label3: TLabel;

Label4: TLabel;

Edit1: TEdit;

Edit2: TEdit;

Edit3: TEdit;

Edit4: TEdit;

Edit5: TEdit;

procedure FormActivate(Sender: TObject);

procedure Button1Click(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

var

Form7: TForm7;

implementation

uses Unit1;

{$R *.dfm}

procedure TForm7.FormActivate(Sender: TObject);

begin

Edit1.Text:=FloatToStr(svo3[1]);

Edit2.Text:=FloatToStr(svo3[2]);

Edit3.Text:=FloatToStr(svo3[3]);

Edit4.Text:=FloatToStr(svo3[4]);

Edit5.Text:=FloatToStr(sp3);

end;

procedure TForm7.Button1Click(Sender: TObject);

begin

close;

end;

end.

unit Unit8;

interface

uses

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

Dialogs, StdCtrls;

type

TForm8 = class(TForm)

Button2: TButton;

GroupBox1: TGroupBox;

GroupBox3: TGroupBox;

Label5: TLabel;

Label6: TLabel;

GroupBox2: TGroupBox;

Label1: TLabel;

Label2: TLabel;

Label3: TLabel;

Label4: TLabel;

Edit1: TEdit;

Edit2: TEdit;

Edit3: TEdit;

Edit4: TEdit;

Edit5: TEdit;

procedure Button1Click(Sender: TObject);

procedure FormActivate(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

var

Form8: TForm8;

implementation

uses Unit1;

{$R *.dfm}

procedure TForm8.Button1Click(Sender: TObject);

begin

close;

end;

procedure TForm8.FormActivate(Sender: TObject);

begin

Edit1.Text:=FloatToStr(svo4[1]);

Edit2.Text:=FloatToStr(svo4[2]);

Edit3.Text:=FloatToStr(svo4[3]);

Edit4.Text:=FloatToStr(svo4[4]);

Edit5.Text:=FloatToStr(sp4);

end;

end.


Информация о работе «Расчет и анализ системы обслуживания робототехнического комплекса производства деталей ЭВА»
Раздел: Информатика, программирование
Количество знаков с пробелами: 36236
Количество таблиц: 5
Количество изображений: 10

0 комментариев


Наверх