Лабораторная работа №3 - Сети Петри - файл n3.docx
Лабораторная работа №3 - Сети Петрискачать (1490.4 kb.)
Доступные файлы (4):
n3.docx
Федеральное государственное автономное
образовательное учреждение
высшего профессионального образования
«СИБИРСКИЙ ФЕДЕРАЛЬНЫЙ УНИВЕРСИТЕТ»
Институт Космических и Информационных Технологий
Кафедра «Системы автоматики, автоматизированное управление
и проектирование»
УТВЕРЖДАЮ
Заведующий кафедрой
_____ _____________
подпись инициалы, фамилия
« _____» _______ 20 ___ г.
ЛАБОРАТОРНАЯ РАБОТА №5по дисциплине «Моделирование систем»
Сети Петри
Студент, КИ 08-05 __________ О.В. Дрозд
номер группы подпись, дата инициалы, фамилия
Преподаватель __________ И.Н. Пожаркова
подпись, дата инициалы, фамилия
Красноярск 2011
Задание на лабораторную работу: Диспетчер управляет внутризаводским транспортом и имеет в своем распоряжении два грузовика. Заявки на перевозки поступают к диспетчеру каждые

мин. С вероятностью

диспетчер запрашивает по радио один из грузовиков и передает ему заявку, если тот свободен. В противном случае он запрашивает другой грузовик и таким образом продолжает сеансы связи, пока один из грузовиков не освободится. Каждый сеанс связи длится ровно

мин. Диспетчер допускает накопление у себя до пяти заявок, после чего вновь прибывшие заявки получают отказ. Грузовики выполняют заявки на перевозку за

мин.
Смоделировать работу внутризаводского транспорта в течение Т часов. Подсчитать число обслуженных и отклоненных заявок. Определить коэффициенты загрузки грузовиков.
Постановка задачи: Диспетчер управляет транспортом и имеет в распоряжении два грузовика, на которые поступают заявки. Интервал времени между двумя заявками -

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

. Вероятность запроса диспетчером грузовика -

, и, если тот свободен, то принимает заявку, в противном случае запрашивается другой грузовик. Это сеанс связи, который длится ровно

мин.
Максимальное количество заявок

. Если

, то последующие заявки не рассматриваются.
Интервал времени выполнения заявки грузовиком

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

.
Требуется смоделировать работу грузовиков в течение Т часов (

), считая, что первая заявка поступает в момент времени равный 0.
В
результате моделирования требуется определить следующие характеристики:
Количество и номера заявок, завершивших обслуживание;
Количество и номера заявок, получивших отказ;
Коэффициенты загрузки грузовиков
и
, которые соответственно равны:
и
.
Принципиальная схема работы внутризаводского транспорта:
Блок 1 – формирование входного массива грузовиков на основе исходного массива моментов времени поступления заявок на грузовики.
Блок 2 – получение заявки.
Блок 3 – обработка информации о количестве заявок.
Блок 4 – запрос первого грузовика.
Блок 5 – запрос второго грузовика.
Блок 6 – установление связи с грузовиком.
Блок 7 – выполнение заявки.
Блок 8 – логический блок, определяющий переход к рассмотрению очередной заявки или завершение процесса анализа обработки заявок.
Вариант задания: № | ф | a1 | b1 | a2 | b2 | P1 | T |
1 | 3 | 5 | 3 | 60 | 10 | 0.3 | 10 |
2 | 3 | 6 | 3 | 70 | 20 | 0.4 |
3 | 3 | 7 | 3 | 60 | 30 | 0.5 |
4 | 3 | 8 | 3 | 70 | 10 | 0.3 |
5 | 3 | 7 | 3 | 80 | 20 | 0.4 |
6 | 3 | 6 | 3 | 90 | 30 | 0.5 |
7 | 3 | 5 | 3 | 40 | 10 | 0.3 |
8 | 3 | 6 | 3 | 50 | 20 | 0.4 |
9 | 3 | 7 | 3 | 60 | 30 | 0.5 |
10 | 3 | 9 | 3 | 50 | 10 | 0.3 |
11 | 3 | 8 | 3 | 40 | 20 | 0.4 |
12 | 3 | 7 | 3 | 60 | 30 | 0.5 |
13 | 3 | 6 | 3 | 70 | 10 | 0.3 |
14 | 3 | 5 | 3 | 60 | 20 | 0.4 |
15 | 3 | 8 | 3 | 70 | 30 | 0.5 |
16 | 3 | 9 | 3 | 80 | 10 | 0.3 |
17 | 3 | 5 | 3 | 90 | 20 | 0.4 |
18 | 3 | 6 | 3 | 40 | 30 | 0.5 |
19 | 3 | 7 | 3 | 50 | 10 | 0.3 |
20 | 3 | 8 | 3 | 60 | 20 | 0.4 |
21 | 3 | 7 | 3 | 50 | 30 | 0.5 |
22 | 3 | 6 | 3 | 40 | 10 | 0.3 |
23 | 3 | 5 | 3 | 60 | 20 | 0.4 |
24 | 3 | 6 | 3 | 70 | 30 | 0.5 |
25 | 3 | 7 | 3 | 60 | 10 | 0.3 |
Реализация:В процессе создания схемы были использованы следующие блоки библиотеки Sim Events:
Time based Entity Generator - блок формирования распределенных во времени сигналов, имитирующих последовательность поступающих на вход системы запросов на обслуживание
Event-Based random Number - блок формирования временных интервалов, используемых в качестве времен обслуживания заявок
Path Combiner – блок для объединения входных сигналов
Input Switch – управляемый ключ
Output Switch – управляемый ключ
FIFO Queue - блок, реализующий очередь обслуживания заявок
Single Server – обслуживающий блок
Entity Sink – приемник обслуженных заявок
Сама схема выглядит следующим образом:

Система внутризаводского транспорта состоит из следующих элементов:
Time-Based Entity Generator – генератор заявок через случайные промежутки времени от 2 до 8 (определяются блоком Event-Based Random Number2)
FIFO Queue – очередь, определяющая максимальное количество заявок
. Если
, то последующие заявки не рассматриваются.
Input Switch – управляемый ключ, пропускающий заявки на выполнение только в том случае, если нет в данный момент сеанса связи ни с одним грузовиком. Управляется схемой из блока OR и математической суммы, для переключения входов, если «1 + 1» - второй ход, то заявки не поступают. Если «0+1» - заявка поступает на обработку.
Output Switch – управляемый ключ, определяет, к какому из грузовиков заявка попадет на обработку. Ключ управляется схемой на основе блока Uniform Random Number и блока Switch, который подключает первый выход Output Switch, если входная величина больше 0,7.
Path Combiner, Path Combiner1 – обьединяют потоки заявок к грузовикам.
Seans svyazi 1, Seans svyazi 2 – имитация сеансов связи с грузовиками в течении фиксированного времени в 3 с.
Output Switch1, Output Switch2 – управляемые ключи, распределяют заявки между грузовиками в заивсимости от их занятости. Так, если заявка предназначалась грузовику №1, а этот грузовик «занят», то заявка направляется грузовику №2. Для управления клучами считывается параметр статистики #n блоков Perevozka1 и Perevozka2 и к нему прибавляется единица (для адекватного управления выходами ключей).
Perevozka1, Perevozka2 – имитируют процесс перевозки груза первым и вторым грузовиком соответственно в течении случайного промежутка времени от 50 до 70, определяемого блоками Event-Based Random Number и Event-Based Random Number1.
Реализация подсистем:Подсистема Dlinna Ocheredi:Структура подсистемы:
Подсистемы осуществляют запись в рабочую облать номеров заявок, завершивших обслуживание и получивших отказ. Для записи номеров заявок, получивших отказ, на вход 1 подается параметр статистики #d блока FIFO Queue (очередь заявок), а на вход 2 подается параметр статистики #d блока Time-Based Entity Generator (количество сгенерированных заявок).
Для записи номеров заявок, завершивших обслуживание, на вход 1 подается парметр статистики #a блока Entity Sink (количество выполненых заявок, отдельно для каждого грузовика), а на вход 2 подается параметр статистики #d блока Time-Based Entity Generator (количество сгенерированных заявок).
Триггерная подсистема осуществляет саму запись в рабочую область.
Параметры блока Transport Delay (необходим для получения прямоугольных импульсов для включения триггерной подсистемы):
Подсистема Work:Структура подсистемы:
Подсистема осуществляет вычисление коэффициентов загрузки грузовиков k
1 и k
2. На входа 1 и 2 подсистемы подаются соответственно значения параметров статистики #n блоков Perevozka1 и Perevozka2 (текущее состояние блока, 1 или 0). На выходах 1 и 2 получаем время работы первого и второго грузовиков, а на выходах 3 и 4 получаем значения коэффициентов k
1 и k
2.