Навигация
Главная
Поиск
Форум
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
HACK F.A.Q 65535
Бип из системно... 65535
Гостевая книга ... 65535
Содержание сайт... 65535
Вызов хранимых ... 65535
Эмулятор микроп... 65535
Приложение «Про... 64162
Организация зап... 62781
Оператор выбора... 62622
Invision Power ... 62198
Подключение Mic... 60993
Модуль Forms 59909
Создание отчето... 59834
ТЕХНОЛОГИИ ДОСТ... 56035
Программируемая... 55534
Пример работы с... 53151
Имитационное мо... 51422
21 ошибка прогр... 46410
Реклама
Сейчас на сайте
Гостей: 7
На сайте нет зарегистрированных пользователей

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

Двунаправленный динамический список на Delphi + Блок схемы
Моделирование системы управления качеством производственного процесса на...
Моделирование интернет магазина (Apache, Php, Html) на GPSS + Блок схема

Реклама



Подписывайся на YouTube канал о программировании, что бы не пропустить новые видео!

ПОДПИСЫВАЙСЯ на канал о программировании
Задача №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 17:10:34 · 1 Комментариев · 15735 Прочтений · Для печати

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


Комментарии
Барбос March 01 2017 09: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...
Шаблон для новост...

Случайные загрузки
Длинный заголовок...
Tenis [Исходник н...
Форма в форме
Разработка клиент...
LaserTank [Исходн...
Профессиональное ...
Профессиональное ...
Мод "register.php...
VFW
DiskInfo
Философия C++. Пр...
Atb
IIIDTrans
Игра в крестики н...
Шейдеры в Delphi
ComboBox97
Text effect
Comdrv
DelTrayIcon [Исхо...
Пишем программы и...

Топ загрузок
Приложение Клие... 100366
Delphi 7 Enterp... 82132
Converter AMR<-... 20046
Borland C++Buil... 11044
GPSS World Stud... 10402
Borland Delphi ... 8031
Turbo Pascal fo... 6959
Visual Studio 2... 4961
Калькулятор [Ис... 4259
FreeSMS v1.3.1 3508
Случайные статьи
tldЧтобы регистрир...
Чем занимаются СРО?
Hemstädning N...
Разборка приставки...
Внедрение решенияК...
Разделяемая память
Подбор плитки в кухню
VW Polo
«Вычитание» подстр...
Реализация одного ...
Псевдонимы адресов
ГЛАВА 5 ВВОД И ВЫВОД
Повышенная надежно...
Применение техноло...
Наслаждайтесь рабо...
Стандартные иденти...
Преобразование иде...
Блок GATE
Выбор режима экспо...
Введение в PHP
Песочные часы с вы...
В чем сложность ст...
Прием находится в ...
Администрирование ...
Чтение и запись зн...
Статистика



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


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