Выбор языка программирования

Автор: Пользователь скрыл имя, 15 Мая 2013 в 22:35, курсовая работа

Описание работы

Для данной задачи простым и удобным средством моделирования является язык GPSS Wоrld, позволяющий проанализировать результаты в виде отчетов.
В процессе курсового проектирования рассматриваются следующие вопросы:
- понятие моделирования;
- основные виды моделирования;
- процесс моделирования

Работа содержит 1 файл

ОТЧЕТ.docx

— 579.38 Кб (Скачать)

TRANSFER    SBR,PRC,7 - переход к оператору PRC с записью в параметр N 7 транзакта метки данного оператора.

LOOP        6,MET  - организация цикла - переход 5 раз к оператору с меткой MET и на шестой раз - к следующему по порядку оператору.

TEST E V7,K256,LAB - переход по условию (условная передача управления): в позициях 13-18 записывается знак отношения, в первых двух подполях поля переменных записываются сравниваемые величины, если условие выполняется, то перехода нет, иначе переход есть к оператору с меткой LAB. Символы отношений: G - больше, L - меньше, E - равно, NE - неравно, LE - меньше или равно, GE - больше или равно. В данном примере перехода нет, если V7 = 256, иначе переход к оператору с номером LAB.

QUEUE SQV  -  оператор организации очереди, длина очереди SQV увеличивается на единицу.

DEPART SQV  - то же, но длина очереди уменьшается на единицу.

PRIORITY 2 - транзакту присваивается приоритет 2.

SIMULATE - начальная карта программы, если разработчик намерен выполнить прогон модели. Если эта карта отсутствует, то интерпретатор проверяет правильность записи модели на языке  GPSS, но прогона модели не выполняет.

START 100,,25 - занесение значения 100 в итоговый счетчик, вывод накопленных статистических данных производится с интервалом изменения содержимого итогового счетчика в 25 единиц.

TABULATE MAT7 - в соответствующий интервал гистограммы  с именем MAT добавляется единица.

MAT7 TABLE P3,8,1,5  - описание таблицы (гистграммы) MAT7, предназначенной для табулирования величины, значения которой находятся в третьем параметре транзакта, входящего в оператор TABULATE MAT7, верхний предел левого интервала гистограммы равен 8, ширина каждого последующего интервала равна 1, всего интервалов 5.

5 VARIABLE X2 -  K25 - вычислительный оператор, в данном случае из хранимой величины N 2 вычитается число 25 и результат присваивается переменной N 5.

SAVEVALUE 5,*3 - хранимая величина N 5 (X5) получает значение третьего параметра транзакта.

Основные команды инетерпретатора  GPSSPC

@<имя файла> - загрузить исходный текст модели

SAVE <имя файла> - сохранить текст модели

DISPLAY[<строка N 1>],[< строка N 2>] - вывести на экран текст модели, начиная со строки N1 , до строки N 2.

DELETE [<строка N 1>],[<строка N 2>] - удалить из  программы текст, начиная со строки N1 , до строки N 2.

EDIT <номер строки> - отредактировать строку текста

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

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2 Практическая часть

 

2.1 Постановка задачи

 

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

Время поступления деталей  из источника распределено равномерно на

интервале  [а ± δ],  причем  деталь  поступает  в  минимальную из  очередей  к станкам.

Если деталь поступает  на станок 1, то затем она поступает  на станок 2.

Если деталь поступает  на станок 2, то затем она поступает  на станок 1.       Время  работы деталей на станках 1, 2 распределено равномерно на интервалах [b1 ± ε1] и [b2 ± ε2] соответственно.

После цикла механообработки  деталь попадает в накопитель (на 10       деталей). Из накопителя все детали одновременно передаются в технологический  модуль для окончательной обработки. Время обработки в технологическом  модуле распределено равномерно на интервале [b3 ± ε3]. 

Затем осуществляется укладка  деталей в паллеты по 10 шт. Транспортный  робот  отбирает  по  2  паллеты  и  транспортирует  их  на  склад.  Время транспортировки распределено равномерно на интервале         [с ± γ].

Цель. Разработать GPSS-модель для анализа процесса функционирования автоматизированной технологической  линии.

Исходные данные, с:

а) а = 10, δ = 2, b1 = 10, ε1 = 4, b2 = 9, ε2 = 3, b3 = 6, ε3 = 2, с = 16, γ = 4;

 

 

 

2.2 Построение концептуальной модели

 

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

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

Структурная схема модели представлена А на рисунке 2.1.

Рисунок 2.1 – Структурная  схема модели

Деталь поступает в минимальную из очередей. Если деталь поступает на станок 1, то затем она поступает на станок 2. Если деталь поступает на станок 2, то затем она поступает на станок 1.       Время работы деталей на станках 1, 2 распределено равномерно на интервалах [10 ± 4] и [9 ± 3] соответственно.

После цикла механообработки  деталь попадает в накопитель (на 10       деталей). Из накопителя все детали одновременно передаются в технологический  модуль для окончательной обработки. Время обработки в технологическом  модуле распределено равномерно на интервале [6 ± 3]. 

Затем осуществляется укладка  деталей в паллеты по 10 шт. Транспортный  робот  отбирает  по  2  паллеты  и  транспортирует  их  на  склад.  Время транспортировки распределено равномерно на интервале         [16 ± 4].

Q-схема представлена на рисунке 2.2.

 

 

 

 

 

 

2.3 Алгоритм работы системы

 

Блок-схема алгоритма  представлена в приложении А на рисунке А.1.

Первым шагом является генерация входного потока (блок-схема 1). Время поступления деталей из источника распределено равномерно на интервале  [10 ± 2],  причем  деталь  поступает  в  минимальную из  очередей к станкам. Далее происходит создание транзакта (блок-схема 2). Если длина первой очереди не равна нулю, то происходит создание транзакта 2 (блок-схемы 3, 4).

Если длина перед первым станком больше чем перед вторым (блок-схема 5), то деталь поступает на обработку на второй станок (блок-схема 6), иначе деталь поступает на первый станок (блок-схема 7).

Далее проводится анализ: если деталь поступает на станок 1, то затем  она поступает на станок 2. Если деталь поступает на станок 2, то затем она  поступает на станок 1 (блок – схемы 8,9).

После обработки детали на первом и втором станках, детали поступают  в накопитель. В накопителе содержится десять деталей (блок-схемы 10-13). Следующим шагом является передача из накопителя одновременно в технологический модуль для окончательной обработки (блок-схема 14).

Затем осуществляется укладка  деталей в паллеты по 10 шт (блок-схемы 15-17).  Транспортный  робот отбирает  по  2  паллеты и транспортирует  их  на  склад (блок-схема 18).

 

 

2.4 Реализация алгоритма  программным способом

 

INITIAL x$detali,0 ; счетчик деталей

INITIAL x$pallets,0 ; счетчик паллетов

GENERATE 10,2     ; генерация транзактов

TEST L Q$och1,Q$och2,Met2 ; нахождение минимальной очереди

Met1 QUEUE och1           ; встать в очередь к станку 1

SEIZE stan1               ; начало обслуживания станком 1      

DEPART och1               ; освобождение очереди      

ADVANCE 10,4              ; время обслуживания станком 1

RELEASE stan1             ; освобождение станка 1

ASSIGN 1+,1               ; маркировка детали        

TEST E P1,2,Met2          ; проверка доп. обрабтки на станке 2

TRANSFER ,Met3            ; перенаправление в накопитель  тех.модуля   

Met2 QUEUE och2           ; встать в очередь к станку 2

SEIZE stan2               ; начало обслуживания станком 2

DEPART och2               ; освобождение очереди

ADVANCE 9,3               ; время обслуживания  станком 2

RELEASE stan2           ; освобождение станка 2

ASSIGN 1+,1               ; маркировка детали

TEST E P1,2,Met1          ; проверка доп.обрабтки на станке 1

TRANSFER ,Met3            ; перенаправление в накопитель  тех.модуля

Met3 QUEUE nakop_detali   ; поступление в накопитель тех.модуля

SAVEVALUE detali+,1       ; счетчик деталей в накопителе

TEST E x$detali,10,KILL   ; определение полноты накопителя

SAVEVALUE detali,0        ; обнуление счетчика

SEIZE techmod             ; начало обслуживание тех.модулем

DEPART nakop_detali       ; освобождение накопителя

ADVANCE 6,2               ; время обслуживания тех.модулем

RELEASE techmod           ; освобождение тех.модуля

QUEUE nakop_pallets       ; поситупление в накопитель тран.робота

SAVEVALUE pallets+,1      ; счетчик деталей в накопителе

TEST E x$pallets,2,KILL   ; определение полноты накопителя

SAVEVALUE pallets,0       ; обнуление счетчика

SEIZE robot               ; начало обслуживание тран.роботом

DEPART nakop_pallets      ; освобождение накопителя

ADVANCE 16,4              ; время обслуживания тран.роботом

RELEASE robot             ; освобождение тран.робота

KILL TERMINATE            ; покинуть техно.линию

GENERATE 3600  ;наблюдать работу техно.линии в течении 1 часа

TERMINATE 1  

start 1

 

Блок-схема алгоритма представлена на приложении А, рисунок А.2.

 

 

2.5 Анализ результата

 

 

              GPSS World Simulation Report - 20.141.1

 

 

                   Sunday, March 31, 2013 23:19:38 

 

           START TIME           END TIME  BLOCKS  FACILITIES  STORAGES

                0.000           3600.000    37        4          0

 

 

              NAME                       VALUE 

          DETALI                      10000.000

          KILL                           35.000

          MET1                            3.000

          MET2                           11.000

          MET3                           19.000

          NAKOP_DETALI                10009.000

          NAKOP_PALLETS               10012.000

          OCH1                        10002.000

          OCH2                        10003.000

          PALLETS                     10001.000

          ROBOT                       10013.000

          STAN1                       10006.000

          STAN2                       10008.000

          TECHMOD                     10011.000

 

 

LABEL              LOC  BLOCK TYPE     ENTRY COUNT CURRENT COUNT RETRY

                     1    GENERATE           359             0       0

                     2    TEST               359             0       0

MET1                3    QUEUE              358             5       0

                     4    SEIZE              353             0       0

                     5    DEPART             353             0       0

                     6    ADVANCE            353             1       0

                     7    RELEASE            352             0       0

                     8    ASSIGN             352             0       0

                     9    TEST               352             0       0

                    10    TRANSFER           352             0       0

MET2               11    QUEUE              359             0       0

                    12    SEIZE              359             0       0

                    13    DEPART             359             0       0

                    14    ADVANCE            359             1       0

                    15    RELEASE            358             0       0

                    16    ASSIGN             358             0       0

                    17    TEST               358             0       0

                    18    TRANSFER             0             0       0

MET3               19    QUEUE              352             0       0

                    20    SAVEVALUE          352             0       0

                    21    TEST               352             0       0

                    22    SAVEVALUE           35             0       0

                    23    SEIZE               35             0       0

Информация о работе Выбор языка программирования