Используемые технические средства, вызов и загрузка
Поможем в ✍️ написании учебной работы
Поможем с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой

 

Для успешной работы с представленной программой "Моделирование работы цеха" необходим персональный компьютер на базе микропроцессора Intel 80586 и выше, VGA совместимая видеокарта, накопитель на жестком или гибком магнитном диске. Требования к операционной системе ограничены требованиями компилятора языка Delphi версии 6.0, то есть Windows 98 и выше.

Исходный текст программы находится в файлах под именами Progr1.pas, Progr2.pas, Progr3.pas, Progr4.pas, которые занимают соответственно 10 938, 622, 788, 2 383 байт, а исполняемый модуль под именем Kurs_project.exe – 1 067 088 байт.

Для запуска программы необходимо загрузить Windows и запустить указанный исполняемый файл Kurs_project.exe.

 

Входные и выходные данные.

 

К входным данным относятся данные, которые могут изменяться пользователем – время обработки заявок на каждом станке, максимально возможный процент брака и общая скорость моделирования.

К выходным данным следует отнести информацию, выводимую в процессе функционирования процесса моделирования:

- общее количество заявок;

- количество заявок, возвращённых на повторную обработку(первичный брак);

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

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

 

2.5. Контрольный пример.

 

Для времени моделирования, равному поступлению 500 заявок, состояние системы (все параметры – по умолчанию):

- общее количество заявок – 500;

- количество деталей, возвращённых на повторную обработку – 31;

- количество бракованных деталей – 3.



Инструкция пользователю.

 

Работа с программой не представляет особой сложности даже для пользователя, не имеющего большого опыта работы с персональным компьютером. После запуска программы на экране появляется главное окно программы.

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

Программа запускается с помощью вызова исполняемого файла Kurs_project.exe в операционной системе Windows 98 или выше. На экране появится окно с изображением модели цеха.

Для того, чтобы запустить программу, необходимо выполнить команду Запуск меню Выполнение. Для остановки работы программы следует выполнить команду Стоп меню Выполнение. В этом же меню находится команда Параметры, которая позволяет установить вывод в окне статистики выполнения программы и текущего времени, а также команды Сброс и Выход, позволяющие, соответственно, "сбросить" данные и выйти из программы. При выходе из программы с помощью команды Выход меню Выполнение появляется окно с вопросом о подтверждении выхода из программы. Из программы можно выйти также с помощью нажатия соответствующей кнопки в правом верхнем углу окна программы.

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

В меню Схемы находятся команды, позволяющие выводить на экран соответственно Q-схему и A-схему программы.



ТЕКСТ ПРОГРАММЫ.

Модуль 1.

unit Progr1;

Interface

uses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, ComCtrls, ExtCtrls, StdCtrls, Spin, Menus;

Type

TForm1 = class(TForm)

P1_4: TPanel;

P2_4: TPanel;

P2_3: TPanel;

P1_3: TPanel;

P1_1: TPanel;

pb1: TProgressBar;

pb2: TProgressBar;

Panel8: TPanel;

Panel9: TPanel;

Panel10: TPanel;

Panel11: TPanel;

pb3: TProgressBar;

Panel14: TPanel;

pb4: TProgressBar;

Panel15: TPanel;

Panel16: TPanel;

Panel17: TPanel;

Panel18: TPanel;

Memo2: TMemo;

Memo3: TMemo;

Memo4: TMemo;

Memo5: TMemo;

Timer1: TTimer;

pb_start: TProgressBar;

Timer2: TTimer;

P1_2: TPanel;

P2_1: TPanel;

P2_2: TPanel;

Panel5: TPanel;

Panel21: TPanel;

Panel24: TPanel;

Panel25: TPanel;

Panel26: TPanel;

Panel27: TPanel;

Panel28: TPanel;

Panel31: TPanel;

Label1: TLabel;

Label3: TLabel;

Label2: TLabel;

Label4: TLabel;

p1: TPanel;

p2: TPanel;

Panel34: TPanel;

Panel35: TPanel;

Panel36: TPanel;

Panel38: TPanel;

Panel40: TPanel;

Panel41: TPanel;

Panel42: TPanel;

Panel44: TPanel;

Panel45: TPanel;

Panel12: TPanel;

Label5: TLabel;

Label6: TLabel;

Label7: TLabel;

Label8: TLabel;

Label9: TLabel;

Label10: TLabel;

indicator1: TProgressBar;

indicator2: TProgressBar;

MainMenu1: TMainMenu;

N1: TMenuItem;

N2: TMenuItem;

N3: TMenuItem;

N4: TMenuItem;

Q1: TMenuItem;

N5: TMenuItem;

N6: TMenuItem;

N7: TMenuItem;

N8: TMenuItem;

N9: TMenuItem;

N10: TMenuItem;

N11: TMenuItem;

Label11: TLabel;

Label12: TLabel;

Label13: TLabel;

Label14: TLabel;

Label15: TLabel;

Label16: TLabel;

Label17: TLabel;

Bevel1: TBevel;

Panel1: TPanel;

procedure Timer2Timer(Sender: TObject);

procedure add_new(ad:byte);

procedure FormCreate(Sender: TObject);

procedure Timer1Timer(Sender: TObject);

procedure N2Click(Sender: TObject);

procedure N3Click(Sender: TObject);

procedure N11Click(Sender: TObject);

procedure N9Click(Sender: TObject);

procedure Q1Click(Sender: TObject);

procedure N5Click(Sender: TObject);

procedure N7Click(Sender: TObject);

procedure N10Click(Sender: TObject);

procedure N8Click(Sender: TObject);

private { Private declarations }

public { Public declarations }

end;

Var

Form1: TForm1;

t1,t2:byte;

Ustanov,zapusk,ripit,

zanyat1,zanyat2,zanyat3,zanyat4:boolean;

have1,have2,have_povtor:boolean;

TotalTime,TotalMessages,

LostMessages,RepeatMessages:longint;

brak1,brak2,time1,time2,time3,time4,zadergka:byte;

Implementation

uses Progr2, progr3, Progr4;

{$R *.DFM}

function where_go(w:byte):boolean;

var x:integer;

begin if (w=1)then begin

x:=trunc(random(100));

if (x>brak1)and(RepeatMessages<(5*(brak1+brak2))) then where_go:=true;end;

if (w=2)then begin

x:=trunc(random(100));if (x>brak2)and(RepeatMessages<(5*(brak1+brak2))) then where_go:=true;end;

end;

procedure prov_nak; {процедура проверки пустоты накопителей}

Begin

have1:=false;have2:=false;have_povtor:=FALSE;

if strtoint(form1.label6.caption)>=1 then have1:=true;

if strtoint(form1.label8.caption)>=1 then have2:=true;

if strtoint(form1.label10.caption)>=1 then have_povtor:=true;

end;

procedure Tform1.add_new(ad:byte);

Begin

if ad=1 then begin

label6.caption:=inttostr(strtoint(label6.caption)+1);

indicator1.Position:=strtoint(label6.caption)*10;

End

Else begin

label8.Caption:=inttostr(strtoint(label8.Caption)+1);

indicator2.Position:=strtoint(label8.Caption)+2;

end;

end;

procedure run;

{переводит заявки из приборов в накопители и наоборот}

Begin

If have1 then

If not(zanyat1) then

Begin

form1.pb1.Max:=time1+round(random(80));{время обработки задания}

form1.pb1.Position:=2;

form1.label6.Caption:=inttostr(strtoint(form1.label6.Caption)-1);

form1.indicator1.Position:=strtoint(form1.label6.Caption)*10;

zanyat1:=true;prov_nak;end;

if have_povtor then if not(zanyat2) then

begin form1.pb2.Max:=time2+round(random(80));

form1.pb2.Position:=2; form1.label10.Caption:=inttostr(strtoint(form1.label10.Caption)-1);

zanyat2:=true;ripit:=true;prov_nak;end;

If have1 then

If not(zanyat2) then

Begin

form1.pb2.Max:=time2+round(random(80)); form1.pb2.Position:=2;

form1.label6.Caption:=inttostr(strtoint(form1.label6.Caption)-1);

form1.indicator1.Position:=strtoint(form1.label6.Caption)*10;

zanyat2:=true;

prov_nak; end;

Дата: 2019-05-28, просмотров: 157.