Смекни!
smekni.com

Методические указания по курсовому проектированию по курсу «Исследование систем управления» кафедра информационных технологий в экономике и бизнесе (стр. 19 из 20)

4.Модельный файл

* Модуль описания

SIMULATE Пример 3.1 . Модель контроля качества

* Временная дискрета : 1 минута

TESTERS STORAGE 2 контролёры выходного контроля

INTEGER ^I индекс петли управления

* Модуль исполнения

* Фрагмент 1 общий выходной контроль

GENERATE 5.5,2 поступление готовых телевизоров,один за другим

RETEST QUEUE LASTTEST организация очереди контроля

ENTER TESTERS запрос контролёра

DEPART LASTTEST выход из очереди контроля

ADVANCE 10,3 время контроля

LEAVE TESTERS освобождение контролёра

TRANSFER .120,,ADJUSTIT 12% на подрегулировку

TERMINATE 1 оставшиеся 88% на упаковку

* Фрагмент 2 осуществление подрегулировки

ADJUSTIT QUEUE ADJUSTQ организация очереди подрегулировки

SEIZE ADJUSTER запрос регулировщика

DEPART ADJUSTQ выход из очереди подрегулировки

ADVANCE 30,10 время подрегулировки

RELEASE ADJUSTER освобождение регулировщика

TRANSFER ,RETEST возврат на общий контроль

* Модуль управления

START 100 СС=100, проведение первой реплики

DO ^I=1,5,1 петля управления для 5 прогонов

START 1 старт первой реплики

CLEAR очистка для следующего прогона

ENDDO окончание петли управления

END окончание процесса ИМ

5.Итоговый отчёт

Отчёт имеет стандартный вид, но в связи с тем, что в рамках одного процесса ИМ проводилось 5 прогонов, для каждого из них даётся свой вариант отчёта в рамках одного листинга. Основные результаты сведены в таблицу 3.7 , которая в столбцах содержит информацию по 5 проведенным прогонам. Для точного сбора информации проведите ИМ в пакетном режиме и оцените полученные результаты по файлу с вашим именем, имеющим расширение .lies .

Таблица 3.7 Перечень основных данных 5-ти реплик примера 3.1

Объекты

Данные по пяти прогонам

Прогон 1 Прогон 2 Прогон 3 Прогон 4 Прогон 5
Время 586.13 607.43 588.46 549.62 590.64
Устройство Использование Число входов Среднее время 0.706 14 29.56 0.659 13 30.79 0.738 15 28.92 0.206 5 28.22 0.627 13 28.23
Память Использование Число входов Среднее число 0.978 115 9.95 0.965 117 10.02 0.978 116 9.96 0.952 106 9.87 0.965 114 10.01
Очереди LASTTEST Максимум Среднее Число входов Нульвходы ADJUSTQ Максимум Среднее Число входов нульвходы 6 2.24 120 10 3 0.603 14 5 6 1.335 123 14 4 1.28 16 5 6 2.676 120 8 3 0.587 15 5 3 0.644 107 24 1 0.033 5 4 4 1.388 117 13 2 0.421 13 4

6.Выводы и обсуждение

На основании примера 3.1 можно сделать несколько важных выводов:

А. Для проведения нескольких реплик в пакетном режиме необходимо внести изменения только в модуль управления. Комбинация ОУ DO ENDDO позволяет проводить столько независимых прогонов, сколько раз это задано ОО INTEGER с помощью целочисленного АМП. При этом обнуляются все данные предыдущего прогона за исключением положения ГСЧ и ИН транзактов. Если обратиться к таблице 3.7 , то имеющийся разброс данных как раз и говорит о независимости реплик.

Б. Если при использовании ОБ TRANSFER в статистической форме, пересылка по пути с большей вероятностью осуществляется к следующему последовательному ОБ (ОБ TERMINATE ) , то операнд В у ОУ может отсутствовать, а ОБ, к которому идёт пересылка при этом не имеет ярлыка , что видно из МФ.

В. Показанная разбивка МФ на фрагменты не является обязательной, зависит только от предпочтений пользователя и может иметь и любой другой вид, при условии сохранения правил записи МФ. Более того сам порядок расположения фрагментов также не является обязательным, так Фрагмент 2 может предварять Фрагмент 1, не влияя на результаты ИМ ( проверьте это на практике, изменив порядок следования фрагментов ).

Г. Отвечая на вопрос примера относительно мест на стеллажах, очевидно, что при максимальном числе членов очереди для общей очереди необходимо 6 мест, а для подрегулировки достаточно 3. Однако если оценивать среднее содержание, то необходимо гораздо меньше мест. Поэтому этот вопрос должен решаться с учётом условий производства и является компетенцией менеджера, а результаты ИМ служат основанием для принятия решения.

3.7.2 Пример использования команд отладчика

Пример 3.2 Обработка деталей в механическом цеху

1. Постановка задачи . Заготовки в темпе 4

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

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

3. Определения. Транзактами в этой модели являются заготовки, а устройством является токарный станок.

4. Модельный файл

* Модуль описания

SIMULATE модель токарного цеха

* Модуль исполнения

GENERATE 4,1 поступление деталей

ADVANCE 2 транспортировка по конвейеру

SEIZE SERVER занятие станка

ADVANCE 3.75,1 обработка детали

RELEASE SERVER освобождение станка

TERMINATE 1 уменьшение СС на единицу

* Модуль управления

START 100 обработка 100 деталей

END окончание процесса ИМ

А.Сеанс 1 . Произведём запуск отладчика командой

gpssh ex3-2.gps tv ,

после появления 3-х оконного отладчика в командной строке пишем

step 1, s или нажимаем функциональную клавишу F10.

Установим глобальное прерывание на ОБ 4 ( в примере этим ОБ является ОБ ADVANCE )

BREAK 4 или b 4,

для продолжения процесса ИМ используем одну из команд, печатаем в командной строке

RUN или r, либо аналогичную команду CONTINUE или c .

Моделирование продолжается до прихода Хакт в ОБ 4, после этого экран 3-х оконного отладчика приобретает вид , представленный на рис. 3.9

GPSS/H SOURCE-MODE INTERACTIVE DEBUGGER ═════

BLOCK CURRENT TOTAL SOURCE FOR MODEL EX3-2.GPS

2 1 ADVANCE 2 транспортирование заготовки

3 1 SEIZE SERVER занятие сервера

4 0 ADVANCE 3.75,1 обслуживание на сервере

5 0 RELEASE SERVER освобождение сервера

6 0 TERMINATE 1 уменьшение СС на единицу

╒══════════════════════════════════════════════════

│S/C: ON ABS CLOCK: 5.5406 REL CLOCK: 5.5406 TTG: 100

╞══════════════════════════════════════════════════

│XACT: 1 CURBLK: 3 NEXTBLK: 4 CHAINS: CEC PC:

│MARK-TIME: 3.5406 MOVE-TIME: 5.5406 PRIORITY: 0

╘══════════════════════════════════════════════════

Ready!

: s 1

XACT 1 POISED AT BLOCK 2. RELATIVE CLOCK: 3.5406

: b 4

: r

XACT 1 HAS REACHED BREAKPOINT AT BLOCK 4. RELATIVE CLOCK: 5.5406

:

Рис. 3.9 Вид окна отладчика после исполнения первых команд

В окне состояния видно, что Хакт1 достиг точки прерывания в ОБ 4 и располагается перед входом в ОБ, т.е. его текущим ОБ является SEIZE .

Продолжим процесс ИМ, напечатав “c”, в диалоговом окне появляется сообщение:

“XACT 2 HAS REACHED BREAKPOINT AT BLOCK 4” – Хакт 2 достиг точки прерывания в ОБ 4.

Что за этот отрезок времени произошло с Хакт 1 , для выяснения напечатаем:

“d XACT=1” ,

после чего следует сообщение: “XACT 1 no longer exist” –Хакт 1 больше не существует. Отсюда следует, что Хакт 1 уже терминирован.

Установим новую глобальную точку прерывания на ОБ 3 SEIZE командой “r 3”, нажатием Enter процесс ИМ продвигается до одной из точек прерывания. Для того, чтобы выяснить какие заданы точки прерывания печатаем в командной строке “d BRE”, что позволяет отобразить заданные точки прерывания. Установим теперь локальную точку прерывания на ОБ 6 TERMINATE, для этого напечатаем “c 6”, с помощью этой команды одновременно задаются локальные ограничения и запускается процесс ИМ. Процесс ИМ прерывается при достижении Хакт любого из ОБ с номерами 3,4,6 . Отобразим ОБ с наложенными ограничениями командой “d BRE”. Все команды проводите в сеансе работы с отладчиком, наблюдая за изменениями на экране. Отметьте , что в появившемся списке есть только ОБ 3 и 4 , ОБ 6 не включён, так как точка прерывания исполняется только при окончании действия команды “c 6”.

Удалим действие прерывания на ОБ 3 командой “ unb 3” и для проверки исполнения вызовем список ограничений командой “d bre” , в списке окажется только ограничение на ОБ 4, удалим также прерывание с ОБ 4 командой “unb 4”.

Предположим, что мы хотим получать информацию об использовании устройства каждый раз, когда Хакт оканчивает процесс обслуживания, для этого введём точку прерывания на ОБ 5 RELEASE командой “r 5”. Процесс ИМ останавливается в этом месте, получаем информацию об использовании устройства напечатав “d FAC(SERVER)” и запустив процесс ИМ командой “c”, т.е. написав две последовательные команды.

Существует более компактный способ осуществить предыдущие операции:

Вначале снимем ограничение на ОБ 5 командой “unb 5” и установим глобальное ограничение на ОБ 5 командой “AT 5”, после чего появится приглашение вида (@ ), затем вводим команду “d FAC(SERVER)” и, дождавшись нового приглашения (@) либо печатаем команду “end”, либо нажимаем клавишу Enter , после чего появляется обычное приглашение (:). После осуществления этих операций, программа каждый раз по достижении Хакт ОБ 5 будет в окне диалога выдавать информацию об использовании устройства. Напечатав команду ”c” окончим процесс ИМ, выходим из диалогового режима одним из возможных способов, в частности, наиболее часто применяемым путём подачи команды быстрого выхода – “QQ или qq”.