Помощь в учёбе, очень быстро...
Работаем вместе до победы

Алгоритмизация и программирование модели

РефератПомощь в написанииУзнать стоимостьмоей работы

В данной секции выполняется инициализация очередей и устройств с помощью команд _QUEUE и _DEVICE соответственно, установка в нулевую отметку времени моделирования и планирование события прихода партии деталей. Также планируется и событие окончания моделирования. Планирование событий осуществляется при помощи функции _SCHEDL модуля SMPL. Каждый тип события соответствует событиям представленным… Читать ещё >

Алгоритмизация и программирование модели (реферат, курсовая, диплом, контрольная)

Описание общей структуры программы, переменных, констант

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

Таблица 2 — Определение переменных и констант.

Название.

Назначение.

evGen.

Константа для обозначения события «Приход партии деталей, начало обработки «.

evStartPreproc.

Константа для обозначения события «Начало первичной обработки «.

evControlDefect.

Константа для обозначения события «Контроль брака» .

evEndReproc.

Константа для обозначения события «Завершение вторичной обработки «.

evEnd.

Константа для обозначения события «Завершение моделирования «.

cStan_I_type, cStan_II_type.

Константы для обозначения количества станков первого и второго типа.

cDetI, cDetII.

Переменная для обозначения количества деталей прошедших через станки I и II типов.

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

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

1) Инициирующая секция.

_SCHEDL (evGen, IRANDOM (A — B, A + B), 1);

for i := 1 to 2 + cStan_I_type + cStan_II_type do.

begin.

Dev[i] := _DEVICE (IntToStr (i));

Que[i] := _QUEUE (IntToStr (i));

end;

_SCHEDL (evEnd, 480, 0);

_TIME := 0;

detail := 0;

cAllDet := 0;

cDetI := 0;

cDetII := 0;

В данной секции выполняется инициализация очередей и устройств с помощью команд _QUEUE и _DEVICE соответственно, установка в нулевую отметку времени моделирования и планирование события прихода партии деталей. Также планируется и событие окончания моделирования. Планирование событий осуществляется при помощи функции _SCHEDL модуля SMPL.

2) Событийная секция Основная секция представляет из себя цикл, который в зависимости от поступающего типа события выполняет тот или иной блок кода. В цикле, на каждой его итерации выполняется извлечение элемента из списка событий при помощи процедуры _CAUSE, возвращающей в переменных EVENT и numDev тип события и номер транзакта соответственно. Дальнейшие действия осуществляются в зависимости от значения переменной EVENT. Завершение моделирования считается получение события окончания, запланированного при начале моделирования.

Каждый тип события соответствует событиям представленным на граф-схеме. Для работы с очередью и устройствами используются функции модуля SMPL освободить, занять устройство и поместить в очередь, это функции __RELEASE, _RESERVE, _EnQUEUE соответственно. Так же для проверки состояния устройств используется функция _STATUS.

3) Завершающая секция В данной секции осуществляется составление отчетной статистики по работе программы во время моделирования, с помощью функций _MONITOR (F), _REPORT (F). Информация записывается в файл, так же если необходимо дополнительные сведения о работе системы Lazarus позволяет объявлять свои переменные и записывать в них определенную информацию или на каждой итерации цикла, или при окончании моделирования системы.

Для начала моделирования необходимо запустить .exe файл, откроется приложение, произойдет моделирование системы с заданными параметрами, результата моделирования будет отображаться в файле «report.txt». В данном отчетном файле представлена как общая информация о моделировании, так и информация о каждом устройстве и текущем состоянии системы на момент окончания моделирования.

Показать весь текст
Заполнить форму текущей работой