Навигация
Главная
Поиск
Форум
FAQ's
Ссылки
Карта сайта
Чат программистов

Статьи
-Delphi
-C/C++
-Turbo Pascal
-Assembler
-Java/JS
-PHP
-Perl
-DHTML
-Prolog
-GPSS
-Сайтостроительство
-CMS: PHP Fusion
-Инвестирование

Файлы
-Для программистов
-Компонеты для Delphi
-Исходники на Delphi
-Исходники на C/C++
-Книги по Delphi
-Книги по С/С++
-Книги по JAVA/JS
-Книги по Basic/VB/.NET
-Книги по PHP/MySQL
-Книги по Assembler
-PHP Fusion MOD'ы
-by Kest
Professional Download System
Реклама
Услуги

Автоматическое добавление статей на сайты на Wordpress, Joomla, DLE
Заказать продвижение сайта
Программа для рисования блок-схем
Инженерный калькулятор онлайн
Таблица сложения онлайн
Популярные статьи
OpenGL и Delphi... 65535
Форум на вашем ... 65535
21 ошибка прогр... 65535
HACK F.A.Q 65535
Бип из системно... 65535
Гостевая книга ... 65535
Invision Power ... 65535
Пример работы с... 65535
Содержание сайт... 65535
ТЕХНОЛОГИИ ДОСТ... 65535
Организация зап... 65535
Вызов хранимых ... 65535
Создание отчето... 65535
Имитационное мо... 65535
Программируемая... 65535
Эмулятор микроп... 65535
Подключение Mic... 65535
Создание потоко... 65535
Приложение «Про... 65535
Оператор выбора... 65535
Реклама
Сейчас на сайте
Гостей: 9
На сайте нет зарегистрированных пользователей

Пользователей: 13,370
новичок: dogoco6
Новости
Реклама
Выполняем курсовые и лабораторные по разным языкам программирования
Подробнее - курсовые и лабораторные на заказ
Delphi, Turbo Pascal, Assembler, C, C++, C#, Visual Basic, Java, GPSS, Prolog, 3D MAX, Компас 3D
Заказать программу для Windows Mobile, Symbian

Моделирование системы управления качеством производственного процесса на...
Моделирование автовокзала + Отчет + Блок схема
Моделирование процесса поступления заявок в систему, состоящую из трёх Э...

Задача №3. Необходимо промоделировать загрузку рабочих мест по проектированию печатных плат в GPSS World
Постановка задачи
Необходимо промоделировать загрузку рабочих мест по проектированию печатных плат. На вход модели подаются задания на разработку печатных плат. На выходе должны быть сведения о загрузке рабочих мест.
Схема прохождения проекта по рабочим местам:
1. Разработка схем
2. Моделирование схем
3. Корпусирование схем
4. Выпуск схемной документации
5. Разработка печатной платы
6. Выпуск документации по печатной плате.
В зависимости от варианта задания на каждый этап проектирования приходится от 1 рабочего места (1 канал в терминах GPSS) до 10 (много каналов). Необходимо «запустить» множество заданий по смоделированным рабочим местам и, имитируя задержку на выполнение этого «задания», оценить загрузку рабочих мест.
Для моделирования необходимо описать в терминах GPSS рабочие места (одно- и многоканальные устройства) и задать задержки на этих местах, а также правила перехода заданий (транзактов) с одного рабочего места (устройства) на другое.
Следует определиться в терминах. Под одноканальным устройством или одноканальным рабочим местом понимается такое рабочее место, на котором выполняется определенный единственный вид работы, причем нигде больше он не выполняется. Под многоканальным устройством или многоканальным рабочим местом понимается совокупность рабочих мест, на которых выполняется один и тот же вид работ. Когда задание при моделировании заходит в одноканальное рабочее место (устройство), оно «захватывает» его и «держит» до тех пор, пока не пройдет нужная задержка. Другое задание не может в это время зайти в захваченное устройство. Когда задание заходит в многоканальное устройство (группу рабочеих мест), то оно захватывает одну из ячеек (рабочих мест) и держит его до конца задержки.

Описание операторов языка GPSS
Выполнение лабораторной работы имеет своей целью моделирование загрузки рабочих мест, используемых для проектирования печатных плат.
1. Как определить некоторое множество рабочих мест, работающих над одной задачей (т.е. описать многоканальное устройство)? Для этого используется оператор STORAGE. Его формат:
<имя_хранилища> STORAGE <емкость_хранилища>.



Например: 25 INSH STORAGE 10, что означает: определим хранилище (многоканальное устройство или многоканальное рабочее место) на 10 рабочих мест и присвоим хранилищу имя INSH (для нашей задачи — сокращение от Input Scheme — рабочие места, на которых вводятся схемы). Примечание: 25 — это номер строки программы. Хранилище имеет некоторое сходство с массивом в алгоритмических языках программирования.
В зависисмости от задания опишите необходимое количество хранилищ с нужными объемами, моделирующих задаваемые по условию рабочие места.

2 Как задать (смоделировать) возникновение заданий на проектирование?
Представим себе, что задания на проектирование новой платы (единичное задание в нашей задаче) поступают каждые 20 часов с разбросом по времени +/- 10 часов.
Таким образом, минимальный промежуток между поступлением задания состваляет 20-10=10 часов, а максимальный 20+10=30 часов. Для моделирования возникновения заданий с такими параметрами появления используется оператор GENERATE. Его формат:
GENERATE <интервал_появления>, <разброс>.



Например, для нашего примера это будет GENERATE 20,10. Оператор GENERATE генерирует задания (в общем случае они называются транзактами) каждые 20 единиц времени с разбросом 10 единиц. Для генерации используется какой-то закон распределения случайной величины (обычно — Гаусса). Генерируемый транзакт отправляется «гулять» по модели, начиная со следующего за GENERATE блока.
3. Как задать режим работы многоканальных рабочих мест?
Для каждого вида работ надо описать отдельный блок из 3 операторов, моделирующих работу соответствующего вида. Моделирование заключается в том, что задания (транзакты) помещаются в многоканальное устройство и задерживаются там на случайный промежуток времени. Например, если работа над разными платами может длиться от 14 часов до 34 часов (в зависимости от сложности платы и квалификации работника и т.д.), то задание будет помещаться в хранилище (точнее, в любое из его отделений) с интервалом 24 часа и разбросом 10 часов. Следующие операторы моделируют помещение задания на какое-то рабочее место, задержку в нем (для работы над платой) на 14-34 часа и извлечения задания с рабочего места:

4.Как задать режим работы одноканального рабочего места?
Для определения одноканального рабочего места (устройства) не надо его специально описывать оператором STORAGE, достаточно просто указать его имя прямо в тексте программы перед тем, как описать задержку. Следующие операторы описывают одноканальное устройство и устанавливают задержку на выполнение с интервалом 16 часов и разбросом 10 часов. Устройство захватывается оператором SEIZE и освобождается оператором RELEASE:

5. Как передать управление в программе на GPSS? Как скопировать задание (транзакт) для параллельной обработки?
Для этого нужно поставить в том месте, куда вы хотите передать управление, метку, а затем с помощью какого-нибудь оператора передать туда управление. Прямая передача управления осуществляется оператором TRANSFER.
Пример:
203 MyLabel1 ENTER LyBRD,1 ; здесь стоит метка MyLabel1
.........
370 TRANSFER ,MyLabel1 ;переход на метку MyLabel1



Передача управления также применяется при копировании заданий (транзактов), например, когда одновременно (параллельно) ведутся разные работы. Копирование заданий осуществляется опреаторм SPLIT. Его формат:
SPLIT <число_создавемых_копий>, <метка_куда_отправить_копию>
Для нашего примера оператор SPLIT будет иметь вид:
205 SPLIT 1,MyLabel1



что означает: создать одну копию и отправить ее на метку MyLabel1.
6. Как собрать воедино результаты работы модели?
Для этого служит оператор ASSEMBLE <число_объединяемых_транзактов>. Он собирает вместе (задерживает) транзакты, и делает возможным обработку полученных данных. Этим оператором должна завершаться программа (но, естественно, перед TERMINATE). Пример:
260 FINAL ASSEMBLE 2 ; FINAL - метка конца программы
270 TERMINATE 1 ; закончим программу




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

В этой таблице указаны наименования работ и соответствующий видам работ разброс выполнения единичной работы (минимальное и максимальное время на выполнение одного задания), количество рабочих мест (4 варианта размещения работ). Несколько видов работ может совмещаться на одних и тех же рабочих местах (это указано стрелочками). При совмещении работ затрачиваемое время суммируется. Например, для 1 варианта для 2 рабочих мест — от min{Разработка схем}+min{Моделирование схем} до max{Разработка схем}+max{Моделирование схем}, т.е. оператор выглядит как ADVANCE 40,20.
(При написании программы не используйте коментарии на русском языке!!!)

Пример программы на GPSS
;определяем многоканальные устройства
10 INSH STORAGE 10 ; 10 рабочих мест для ввода схем
20 LYBRD STORAGE 3 ; 3 рабочих места на макет
; задания поступают через 20-40 ч
30 GENERATE 30,10
; Моделирование — ВВОД СХЕМ
; входим в многоканальное устройство INSH и занимаем одну ячейку
90 ENTER INSH,1
100 ADVANCE 24,10 ; задержка от 14 до 34 ч
110 LEAVE INSH,1 ; освободили 1 ячейку INSH ; Моделирование — ПРОВЕРКА СХЕМ
; занимаем одноканальное устройство CHSH
120 SEIZE CHSH ; захватили устройство CHSH
130 ADVANCE 16,10 ; задержка от 6 до 16 ч
140 RELEASE INSH,1 ; освободить устройство
; Моделирование — КОРПУСИРОВАНИЕ СХЕМ
; входим в многоканальное устройство INSH и занимаем одну ячейку
170 ENTER INSH,1
180 ADVANCE 8,5 ; задержка от 3 до 13 ч
190 LEAVE INSH,1 ; освободили 1 ячейку INSH
; Параллельное выполнение — одновременно подготовка схемной документации ; и разработка печатной платы
200 SPLIT 1,LYOUT ;создаем копию и отправляем ее на LYOUT
;Моделирование — ПОДГОТОВКА СХЕМНОЙ ДОКУМЕНТАЦИИ
; входим в многока нальное устройство INSH и занимаем одну ячейку
210 ENTER INSH,1
220 ADVANCE 16,10 ; задержка от 6 до 26 ч
230 LEAVE INSH,1 ; освободили 1 ячейку INSH
; Передаем упраление на метку
240 TRANSFER ,FINAL
; Моделирование — РАЗРАБОТКА ПЕЧАТНОЙ ПЛАТЫ
250 LYOUT ENTER LYBRD,1
260 ADVANCE 8,5 ; задержка от 3 до 13 ч
270 LEAVE LYBRD,1 ; освободили 1 ячейку INSH
; Моделирование — ПОДГОТОВКА ДОКУМЕНТАЦИИ ПО ПЕЧАТНОЙ ПЛАТЕ
280 ….SEIZE BRDDOC ; захватим устройство BRDDOC
290 ADVANCE 15,10 ; задержка от 5 до 25 часов
300 RELEASE BRDDOC ; освободить устройство
; Завершение программы
310 FINAL ASSEMBLE 2 ; Объединение заданий
320 TERMINATE 1 ; конец программы



Опубликовал Kest June 04 2009 14:10:34 · 1 Комментариев · 20030 Прочтений · Для печати

• Не нашли ответ на свой вопрос? Тогда задайте вопрос в комментариях или на форуме! •


Комментарии
Барбос March 01 2017 06:16:57
Вы че попутали?
140 RELEASE INSH,1 ; освободить устройство

ошибка же, в шары долбитесь
а в чем сами дошаривайте
Добавить комментарий
Имя:



smiley smiley smiley smiley smiley smiley smiley smiley smiley
Запретить смайлики в комментариях

Введите проверочный код:* =
Рейтинги
Рейтинг доступен только для пользователей.

Пожалуйста, залогиньтесь или зарегистрируйтесь для голосования.

Нет данных для оценки.
Гость
Имя

Пароль



Вы не зарегистрированны?
Нажмите здесь для регистрации.

Забыли пароль?
Запросите новый здесь.
Поделиться ссылкой
Фолловь меня в Твиттере! • Смотрите канал о путешествияхКак приготовить мидии в тайланде?
Загрузки
Новые загрузки
iChat v.7.0 Final...
iComm v.6.1 - выв...
Visual Studio 200...
CodeGear RAD Stud...
Шаблон для новост...

Случайные загрузки
Форма в форме
С# для профессион...
RbControls
Info
MPTools
Таймер и секундомер
Пятнашки и крести...
KOL & MCK v1.69
Assembler. Практикум
Разработка интерн...
База Allsubmitter...
Пишем программы и...
Borland C++Builde...
Язык программиров...
Delphi 2005 для .NET
ATComponents
Усложнённый кальк...
ICQ
Ehlib
Редактор текста (...

Топ загрузок
Приложение Клие... 100774
Delphi 7 Enterp... 97836
Converter AMR<-... 20268
GPSS World Stud... 17014
Borland C++Buil... 14191
Borland Delphi ... 10291
Turbo Pascal fo... 7374
Калькулятор [Ис... 5984
Visual Studio 2... 5207
Microsoft SQL S... 3661
Случайные статьи
Таблицы
ЛюбойЛюбой2
Добавление медиафа...
Какая команда выво...
Объектно-ориентиро...
Определить номера ...
Функция TextHeight...
Жизненный цикл про...
Часть 3. Реализ...
Вот что происходит...
Создание пользоват...
Асбестоцементные т...
Обновленные источн...
Как правильно раск...
Интернет – магазин...
Как мне заблокиров...
107.100.
Самоподобные решения
Примеры программир...
Разрыв страницы
й - Алфавитный ука...
Описание сообщений...
Гибкость, расширяе...
Структура
Поиск
Статистика



Друзья сайта
Программы, игры


Полезно
В какую объединенную сеть входит классовая сеть? Суммирование маршрутов Занимают ли таблицы память маршрутизатора?