Основные сведения о моделировании систем сетями Петри – см. раздел 3.1.2. конспекта лекций.
По варианту индивидуального задания разрабатывается сеть Петри. В отчете представляется:
- начальная (нулевая) разметка сети;
- описание всех позиций (вершин) сети с точки зрения условий, которые с ними связаны;
- описание всех переходов с точки зрения связанных с ними событий и времен наступления этих событий;
- описание всех значимых ситуаций функционирования заданной СМО и соответствующих им маркировок;
- схемы маркировок сети Петри (пошаговый прогон модели в Ingproject.exe) и их описание для всех значимых ситуаций функционирования СМО.
Практические рекомендации по выполнению работы и использованию программного обеспечения моделирования
Программа ingproject.exe
Для задания графического представления модели сети Петри в программе используются кнопки графической панели инструментов, описание которых представлено в таблице 29.
Для задания свойств вершин и переходов используется кнопка «Свойства» . После нажатия кнопки выбор объекта для задания свойств осуществляется щелчком мыши в рабочем поле. Окно ввода свойств вершины имеет вид, представленный на рис. 94. Для вершины задаются:
- имя и начальное количество меток (для нулевой разметки сети);
- вес и стиль отображения исходящих дуг при выборе их из списка;
- при необходимости в окне редактирования свойств можно задать удаление отдельных дуг вершины.
Внимание! Изменение свойств выходных дуг необходимо подтверждать нажатием кнопки «Задать». Нажатие кнопки «ОК» в конце редактирования подтверждает принятие заданных изменений.
Таблица 29
Обозначение
Описание
Кнопка для отображения позиции (вершины) – в рабочем поле размещение позиции задается щелчком мыши. При нажатой кнопке в панели инструментов левой клавишей мыши можно добавлять метки, правой – удалять. При наличии в вершине более двух меток их количество отображается числом.
Кнопка для отображения перехода. При нажатой кнопке переключение горизонтальной/вертикальной ориентации перехода задается щелчком левой клавиши мыши.
Кнопка задания дуги простого перехода. При нажатой кнопке в рабочем поле дуга единичного веса задается соединением вершины с переходом или перехода с вершиной при нажатой левой клавиши мыши. Соединение дугой двух позиций или двух переходов между собой невозможно.
Если необходимо задать дугу с весом более 1 для задания перехода типа n/m, то можно прорисовать одинарную дугу столько раз, каков требуемый вес, или изменить вес дуги в свойствах связанных с ней вершин или переходов.
Продолжение таблицы 29
Обозначение
Описание
Кнопка задания дуги ингибиторного перехода. Разрешенное направление такой дуги – только от вершины к переходу.
Кнопка перемещения – используется для перемещения элементов сети Петри – вершин и переходов.
Кнопка удаления элементов сети. При нажатой кнопке объект – вершина или переход – удаляется щелчком левой клавиши мыши вместе со всеми входными и выходными дугами. Удаление отдельных возможно дуг при редактировании свойств элементов сети.
Кнопка задания свойств вершин и переходов. При нажатой кнопке щелчок левой клавиши мыши по вершине или переходу открывает окно редактирования свойств.
Запуск моделирования. Перед запуском необходимо задать начальную (нулевую) разметку сети.
Остановка моделирования.
Запуск моделирования в пошаговом режиме.
Окно ввода свойств перехода имеет вид, представленный на рис. 95.
Процедура заданий свойств и значений полей аналогична за исключением задержки: этот параметр задает время срабатывания перехода после активизации в секундах.
Пример 1. Сеть Петри для моделирования процессов отказов и устранения неисправностей
Пусть в некоторой системе одновременно эксплуатируются три одинаковых блока. С некоторой периодичностью блоки выходят из строя. Для устранения отказа в системе имеется запасной блок. Замена отказавшего блока на запасной занимает некоторое время, после чего отказавший блок направляется на восстановление и, после восстановления, становится запасным. Сеть Петри, моделирующая процесс функционирования этой системы в условиях возникновения отказов, использования запасного блока для замены и последующим устранением неисправностей (восстановления) отказавшего блока, имеет вид, приведенный на рис. 96.
В таблице 30 представлено описание всех позиций (вершин) сети с точки зрения условий, которые с ними связаны, т. е. выполняются при наличии в вершине метки-маркера.
Таблица 30
Вершина
Описание
P1
Наличие в системе исправных рабочих блоков (количество меток соответствует количеству блоков)
P2
Наличие в системе отказавших рабочих блоков (количество меток соответствует количеству блоков)
P4
Наличие в системе исправного, готового к использованию для замены запасного блока
P3
Наличие в системе неисправного, требующего в восстановлении блока
Описание всех переходов с точки зрения связанных с ними событий и времен их наступления представлено в таблице 31.
Начальная маркировка, приведенная на рис. 96, соответствует наличию в системе трех рабочих блоков и одного запасного. Переходам соответствуют временные задержки: 1 – время между отказами; 2 – время замены; 3 – время восстановления.
Таблица 31
Переход
Описание
t1
Наступление отказа (время срабатывания перехода соответствует времени наступления отказа)
t2
Выполнение замены неисправного блока на запасной или резервный (время срабатывания перехода соответствует времени замены)
t3
Выполнение восстановления неисправного блока (время срабатывания перехода соответствует времени восстановления).
В реальной системе времена наступления событий случайны, и распределены по некоторому закону. В Ingproject возможно только детерминированное моделирование, т. е. величина времени задержки перехода является постоянной. Поэтому для исследования динамики работы системы необходимо назначать различные времена задержек, или реализовать равновероятное распределение времен путем использования нескольких переходов. Например, если время некоторого процесса составляет 3±1, то это моделируется тремя равновероятными переходами с временем срабатывания 2; 3 и 4 соответственно.
Все возможные по условиям функционирования системы маркировки представлены в таблице 32.
Таблица 32
Маркировка
Количество меток
в вершинах
Описание
Р1
Р2
Р3
Р4
№1
Начальная маркировка, соответствующая наличию в системе трех рабочих блоков и одного запасного.
№2
Наличие в системе двух рабочих блоков, одного отказавшего и одного запасного.
№3
Наличие в системе одного рабочего блока, двух отказавших и одного запасного (время замены больше чем суммарное время отказа двух блоков).
№4
Наличие в системе трех отказавших и одного запасного блока (время замены больше чем суммарное время трех отказов).
Продолжение таблицы 32
Маркировка
Количество меток
в вершинах
Описание
Р1
Р2
Р3
Р4
№5
Наличие в системе одного рабочего блока, двух отказавших и одного, находящегося на восстановлении.
№6
Наличие в системе трех отказавших и одного, находящегося на восстановлении.
№7
Наличие в системе двух рабочих блоков, одного отказавшего и одного, находящегося на восстановлении.
№8
Наличие в системе трех рабочих блоков и одного, находящегося на восстановлении.
Исследование динамики работы для различных временных задержек переходов реализованной в Ingproject.exe модели (см. файл пример1.pne) приведено на рис. 97-102 в виде маркировок некоторых значимых состояний, полученных в режиме пошагового прогона. На всех рисунках активные переходы выделены цветом. Реализация, приведенная на рис. 97 соответствует начальной маркировке (№1 в таблице 32).
На рис. 98 отображен запуск моделирования. Переход t1 активен – для его активизации в Р1 должна быть хотя бы одна метка, но еще не сработал, поскольку еще не истекло время задержки t1, соответствующее наступлению отказа.
На рис. 99 маркировка №2 (см. таблицу 32), соответствующая наличию одного отказавшего блока (метка в вершине Р2), двух рабочих (две метки в вершине Р1) и готового к использованию запасного (метка в вершине Р4). Активны переходы t1 и t2.
На рис. 100 приведена маркировка №8 (см. таблицу 32), соответствующая наличию в системе трех рабочих блоков (три метки в вершине P1) и одного, находящегося на восстановлении (метка в вершине Р3). Переход t1 активен – еще не истекло время до наступления очередного отказа. Переход t3 активен – еще не истекло время восстановления.
На рис. 101 приведена маркировка №6 (см. таблицу 32), соответствующая наличию в системе трех отказавших блоков (три метки в вершине Р2) и одного, находящегося на восстановлении (метка в вершине Р3). Переход t3 активен – еще не истекло время восстановления.
На рис. 102 приведена маркировка №4 (см. таблицу 32), соответствующая наличию в системе трех отказавших блоков (три метки в вершине Р2) и одного, готового к использованию исправного запасного блока (метка в вершине Р4). Переход t2 активен – еще не истекло время замены одного из отказавших блоков на запасной.
В примере приведены скриншеты 6 маркировок (всего возможных – 8). При выполнении работы следует приводить скриншеты всех значимых маркировок.
Пример 2. Сеть Петри для моделирования процесса пакетирования заявок с переменным размером пакета и параллельного обслуживания
Пусть три независимых потока заявок поступают во входную очередь СМО и пакетируются по 2 при наличии достаточного количества для обслуживания в процессоре параллельного обслуживания, в котором обслуживание очередного пакета подгружается к уже начатому, но единовременно могут обслуживаться не более 3-х пакетов. Количество заявок во входной очереди не должно превышать 10. Если ограничение нарушается, то пакетирование по 2 прекращается, заявки пакетируются по 10 и обслуживаются во втором процессоре. Второй процессор обслуживает пакеты последовательно. В системе реализованы отдельные счетчики обслуженных пакетов по 2 и пакетов по 10.
Сеть Петри, реализующая заданную СМО, имеет вид, представленный на рис. 103.
С переходами t1-t3 связаны времена поступления заявок входных потоков. Вершина Р1 моделирует входную очередь. Узлы t4-P2-t5 и t6-P3-t7 моделируют обслуживание пакетов в процессорах (моделирование цикла обслуживания с использованием ингибиторной ветви – см. рис. 22-б в разделе 3.1.2 конспекта лекций). Кроме того, переходами t6 и t4 моделируется процесс пакетирования: для их активизации необходимо 2 или 10 меток соответственно во входной вершине Р1. При срабатывании перехода t6 из входной вершины Р1 удаляются две метки, соответствующие заявкам, а в выходной вершине Р3 появляется одна, соответствующая пакету. При появлении в вершине Р1 десяти и более меток ингибиторная ветвь соответствующего веса «запирает» переход t6 и происходит пакетирование по 10, после чего возобновляется пакетирование по 2.
В таблице 33 представлено описание всех позиций (вершин) сети с точки зрения условий, которые с ними связаны.
Таблица 33
Вершина
Описание
P1
Наличие заявок во входной очереди (количество меток соответствует количеству заявок)
P2
Наличие пакета по 10 на обслуживании во втором процессоре
P3
Наличие пакетов по 2 на обслуживании в первом процессоре (количество меток соответствует количеству параллельно обслуживаемых пакетов)
P4
Наличие в выходной очереди (счетчике) обслуженных пакетов по 10 (количество меток соответствует количеству пакетов)
Р5
Наличие в выходной очереди (счетчике) обслуженных пакетов по 2 (количество меток соответствует количеству пакетов)
Описание всех переходов с точки зрения связанных с ними событий и времен их наступления представлено в таблице 34.
Таблица 34
Переход
Описание
t1-t3
Поступление заявок входных потоков 1-3 во входную очередь (время срабатывания перехода соответствует времени поступления очередной заявки потока)
t4
Пакетирование заявок по 10 (время срабатывания перехода соответствует времени пакетирования)
t5
Завершение обслуживания пакета по 10 (время срабатывания соответствует времени обслуживания)
t6
Пакетирование заявок по 2 (время срабатывания перехода соответствует времени пакетирования)
t7
Завершение обслуживания пакета по 2 (время срабатывания соответствует времени обслуживания)
Реализация модели в Ingproject.exe (см. файл пример2.pne) имеет вид, приведенный на рис. 104 (произвольно заданные времена срабатывания переходов обозначены над или рядом с планкой перехода).
Пример 3. Сеть Петри для моделирования магистрального канала передачи данных
Описание данного примера приведено в разделе 3.1.2 конспекта лекций, а граф сети Петри с начальной разметкой – на рис. 23. Реализация модели в Ingproject.exe (файл пример3.pne), имеет вид, представленный на рис. 105.
Варианты индивидуальных заданий
1. В систему на обслуживание от двух независимых источников поступают задачи 2-х типов. Задачи первого типа требуют 5 минут обслуживания, второго – 10 минут. Если две задачи разных типов приходят одновременно – сначала обслуживается задача первого типа. Если две задачи одного типа приходят одновременно – одна из них теряется.
2. Детали 2-х различных типов поступают по двум транспортерам на позицию сборки. Операция сборки требует наличия 3-х деталей с первого транспортера и одной со второго. Собранные изделия складируются по 10 штук на тележке и вывозятся из цеха. Если заполненную тележку не успевают вывезти, то изделия временно складируются на стеллаж с последующим первоочередным вывозом.
3. В процессе управления ТП непосредственно измеряются три технологических параметра (измерения осуществляются одновременно) и на основании результатов измерения рассчитывается показатель качества. Если хотя бы по одному из измерений происходит отказ (нет результата в требуемый момент времени, результат некорректен), результаты всех измерений аннулируются, а показатель качества оценивается аналитически на основании результатов оценки трех предыдущих значений.
4. Магистраль передачи данных состоит из двух каналов (основного и резервного) и общего накопителя. При нормальной работе данные в виде сообщений передаются по основному каналу. С некоторой периодичностью в основном канале происходит сбой. Если во время сбоя имела место передача сообщения, то передача прерывается и подключается запасной канал, передающий прерванное сообщение с начала. После восстановления основного запасной канал завершает начатую передачу, а основной продолжает работу с очередного сообщения.
5. Готовые изделия по двум транспортерам поступают в ОТК. Если два изделия с различных транспортеров поступают на позицию контроля одновременно, то контроль выполняется поочередно в произвольном порядке. Если по одному из транспортеров изделие поступает в тот момент, когда на позиции контроля уже осуществляется контроль другого изделия, то изделие поступает на резервную позицию контроля. Если заняты обе позиции, изделия накапливаются в предварительном буфере и поступают на освободившуюся позицию. Если результат контроля четыре раза последовательно устанавливает наличие брака, то процесс останавливается до внешней команды на возобновление после устранения неполадок на ТП.
6. По трем транспортерам в промежуточные накопители поступают изделия 3-х типов. В соответствии с внешними заказом формируются комплекты, в каждом из которых должно быть 1 деталь первого типа и по 3 детали второго и третьего. Если какого-либо типа для полного комплекта по i-тому заказу недостаточно, недоукомплектованный заказ при последующем поступлении деталей доукомплектовывается в первую очередь.
7. На позиции сборки осуществляется сборка изделия из 3-х деталей, поступающих транспортерам. При наличии на момент завершения предыдущей сборки всех 3-х деталей, осуществляется сборка и изделие помещается на выходной транспортер. При отсутствии на момент завершения деталей 1 или 2, осуществляется сборка имеющейся детали с 3-ей и частично собранное изделие помещается в промежуточный накопитель, индивидуальный для каждого типа частичной сборки. Завершение сборки осуществляется в первоочередном порядке при поступлении недостающих деталей. При отсутствии на момент завершения предыдущей сборки детали 3 процесс приостанавливается до ее поступления.
8. По двум транспортерам с накопителями поступают детали двух типов, причем в каждом потоке порядок деталей случаен. Сортировочный автомат группирует детали разных типов из обоих потоков попарно и подает на выходной транспортер, который подает пары деталей на позицию сборки. Если на позиции сборки оказывается более 5-ти пар деталей, сортировка прекращается, а детали по входным транспортерам начинают поступать в накопители входных транспортеров. Сортировка возобновляется в момент, когда на позиции сборки остается только одна пара.
9. В централизованной АСУ ТП используется две ЭВМ. Первая ЭВМ выполняет обработку данных о технологическом процессе и выработку управляющих сигналов, а вторая находится в «горячем» резерве. Данные в ЭВМ поступают через фиксированный интервал времени и обрабатываются в течении некоторого времени. После этого посылается управляющий сигнал, поддерживающий заданную периодичность контроля. Если к моменту посылки следующего набора данных не получен управляющий сигнал, то периодичность контроля для первой ЭВМ уменьшается вдвое, а время обработки – увеличивается вдвое. После выдачи трех управляющих сигналов подряд в этом режиме первая ЭВМ переключается в исходный режим обработки. Режим работы ЭВМ «горячего» резерва постоянен, данные, поступающие до получения управляющего сигнала завершения предыдущей обработки, теряются.
10. На обработку в систему поступают три класса заданий – А, В и С. Задания А и В могут обрабатываться одновременно, задание типа С – монополизирует систему. Задание класса С принимается к обслуживанию, если система полностью свободна; задания типа А и В могут «подгружаться» к текущему обслуживанию. На выходе системы задания сортируются: А и С покидают систему по одному каналу, В – по другому.
11. К ЭВМ подключено 4 терминала. По команде с терминала выполняются операции редактирования, трансляции, планирования и решения. Если хотя бы один терминал выполняет планирование, остальные простаивают. Если два терминала выдают задания на решение, то оставшиеся два простаивают, и если работают три терминала, выдающие задания на трансляцию, то оставшийся простаивает.
12. На участке термической обработки выполняется цементация и закаливание шестерен, поступающих через 10±5 минут. Цементация занимает 10±7 минут, закаливание – 10±6 минут. Качество определяется суммарным временем обработки. Шестерни с временем обработки больше 25 минут покидают участок, с временем от 20 до 25 минут передаются на повторную закалку, при времени обработки меньше 20 минут должны пройти повторную полную обработку.
13. Детали, необходимые для работы цеха, находятся на центральном и цеховом складах. На цеховом складе хранится 10 комплектов деталей, потребность в которых возникает через 60±10 минут и составляет один комплект. В случае снижения запасов до трех комплектов формируется заявка на пополнение запаса до 20-ти, и посылается на центральный склад, где в течении 30±20 минут происходит комплектование и за 30±10минут – доставка деталей в цех. Запасов центрального склада всегда достаточно для комплектации.
14. Вычислительная система включает три ЭВМ. В систему в среднем через 30 секунд поступают задания, которые попадают в очередь на обработку в первой ЭВМ. Обработка занимает в среднем 30 секунд. После этого задание поступает одновременно во вторую и третью ЭВМ. Вторая может обработать задание за 14±5 секунд, а третья – за 16±1 секунд. Окончание обработки задания на любой ЭВМ означает снятие ее с решения с той и другой машины.
15. Распределенная база данных системы сбора информации организован на базе ЭВМ, соединенных дуплексным каналом связи. Поступающий запрос обрабатывается на первой ЭВМ и с вероятностью 50% необходимая информация обнаруживается на месте. В противном случае необходима посылка запроса на вторую ЭВМ. Запросы поступают через 10±3 секунд, первичная обработка запроса требует 2 секунд, выдача ответа – 15±3 секунд, передача по каналу связи – 3 секунд. Временные параметры второй ЭВМ аналогичны первой.
16. ЭВМ обрабатывает сообщения, поступающие от датчиков и измерительных устройств через 3±1 секунд. До обработки сообщения хранятся в буфере. Продолжительность обработки сообщений в ЭВМ – 5±2 секунд. Динамика технологического процесса такова, что имеет смысл обрабатывать сообщения, ожидавшие обслуживания не более 12 секунд. Остальные сообщения теряются. Если теряется 3 сообщения подряд – формируется сообщение об ошибке.
17. Задания на обработку поступают в трехканальную систему с общей очередью и направляются на обработку на свободное устройство с наименьшим номером. В 20% случаев в заданиях обнаруживается ошибка ввода. На время корректировки ввода задание освобождает устройство, после корректировки начинается его повторная обработка. Возможность ошибки при повторной обработке исключается.
18. ЭВМ обрабатывает запросы, поступающие с пяти терминалов. Если запросы с трёх любых терминалов приходят одновременно, то они объединяются в пакет и обрабатываются пакетом; в противном случае – индивидуально. Обслуживание – безочередное, запросы, поступившие во время обслуживания, теряются.
19. На склад готовой продукции предприятия поступают изделия типа А партиями по 5 штук, изделия типа В – партиями по 20 штук. На складе изделия комплектуются в комплект по 10 штук каждого типа. Комплектация начинается, если изделия обоих типов имеются в достаточном количестве. После формирования 10-ти комплектов осуществляется их отгрузка и вывоз со склада. Ежедневный план отгрузки 50 комплектов. После выполнения плана комплектация прекращается, оставшиеся неукомплектованными детали складируются в специальный накопитель.
20. Запросы 4-х типов поступают на обслуживание асинхронно, каждый – в собственную очередь, и обслуживаются попарно в обслуживающем устройстве – запрос 1-го типа с запросом 3-го; 2-го – с запросом 4-го. Обслуживание начинается в момент поступления запроса нужного типа для образования пары. В случае одновременного формирования пар «нечетная» обслуживается в первую очередь.
21. Пять обслуживающих терминалов соединены по кольцу. Терминалы 1 и 3 принимают внешние запросы на обслуживание. Если в момент поступления нового запроса принимающий терминал уже занят обслуживанием, то запрос направляется на обслуживание на ближайший по часовой стрелке свободный терминал со следующим ограничением – запросы, принятые терминалом 1, не могут быть обслужены терминалом 3, а запросы приятые терминалом 3 не могут быть обслужены терминалом 1. Если в момент поступления запроса все терминалы заняты – он теряется, причем ведется учет потерянных запросов.
22. Запросы трех типов поступают в общий буфер, из которого запросы второго типа отправляются на обслуживание на устройство 1, а запросы первого и третьего типа – на устройство 2. Устройства по каждому типу запросов имеют отдельные выходные очереди. Из этих очередей обслуженные запросы пакетируются попарно в комбинациях 3-1 и 3-2. На выходе системы должны быть реализованы счетчики каждого из вариантов парных комбинаций.
23. Заявки поступают в систему на обслуживание и последовательно обслуживаются в устройствах 1 и 2. Очередь устройства 1 ограничена 3-мя заявками. В устройстве 2 могут одновременно обслуживаться две заявки, причем заявка, пришедшая позже, подгружается к текущему обслуживанию. 90% заявок покидают систему, 10% возвращаются на повторное обслуживание. Заявки, поступившие в систему с момента начала повторного обслуживания и до его завершения, теряются.
24. В систему поступают заявки двух типов – А и В, группируются в пакеты по две и обслуживаются первым устройством. Комбинации заявок АВ, ВА обслуживаются 2±1 секунды; АА, ВВ – 3±1 секунды. Затем пакеты поступают в очередь второго устройства, которое обрабатывает заявки по одной, и тратит на обслуживание заяви типа А 1±0,5 секунду, заявки типа В 0,5±0,2 секунды.
25. Компьютерная система бронирования принимает заказы на купейные билеты. По факту поступления единичных заявок отдельно комплектуются женские и мужские купе, в первую очередь бронируются нижние полки. В прочих случаях комплектация осуществляется по остаточному принципу с выдачей заказчику уведомления.
26. Система автоматического контроля измеряет 4 линейных размера детали. Если все размеры корректны, детали поступают на комплектацию, где формируются наборы из 10-ти штук. Если некорректны 1 или 2 размера – деталь возвращается на доработку, после чего снова поступает на контроль. Если некорректны более 2-х размеров – детали бракуются и поступают на комплектацию брака, где формируются наборы из 10-ти штук. Вывоз годных деталей осуществляется в первую очередь.
27. Заявки на обслуживание поступают от трех независимых источников. Заявки от первого источника обслуживаются первым устройством, заявки от второго – вторым, заявки третьего источника дублируются и поступают одновременно в оба устройства. Если заявка от третьего источника приходит одновременно с заявкой от первого или второго источника, то заявка первого или второго источника теряется. Если заявки от всех источников приходят одновременно – теряются все. Заявки покидают систему по одной, дубли заявок от третьего источника на выходе ликвидируются. Периодически происходит отказ одного из обслуживающих устройств. На время восстановления все заявки проходят обслуживание в работоспособном устройстве, потерь из-за одновременности и дублирования не происходит.
28. В систему на обработку поступают заявки двух типов; заявки первого типа поступают с вероятностью 30% и принимаются к обслуживанию в первую очередь. Время пребывания заявок в систему ограничено. Заявки каждого типа с каждым признаком завершения обслуживания (обслуживание не началась, обслуживание прервано, обслуживание завершено) покидают систему раздельно. На каждом выходе стоит счетчик заявок, который сбрасывается в ноль после каждого десятка.