Построение имитационной модели роботизированной производственной системы



Оглавление

 

Введение 3

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

1.1 Переработка модели 5

2 Анализ задачи моделирования и выдвижение гипотез 6

2.1 Анализ задачи моделирования 6

2.2 Выдвижение гипотез 8

3 Описание реализации модели 9

3.1 Разработка концептуальных моделей 9

3.2 Выбор программного средства моделирования 10

3.3 Выбор программы для реализации имитационной модели 11

4 Описание имитационной модели 14

4.1 Описание использованных в модели объектов 16

4.2 Организация экспериментов в GPSS 19

5 Анализ и оценка результатов моделирования 20

Заключение 22

Список использованной литературы 23

Приложение А. Листинг исходной модели 24

Приложение Б. Листинг второй модели 28

Приложение С. Статистика программы 31

 

Введение

Имитационное моделирование  становится эффективным методом  исследования сложных систем со случайным  взаимодействием элементов, таких  как транспортные потоки, многоступенчатое промышленное производство, распределенные объекты управления. Принцип имитационного  моделирования заключается в  том, что поведение системы отображают компьютерной моделью взаимодействия её элементов во времени и пространстве.

Главная ценность имитационного  моделирования состоит в том, что в его основу положена методология  системного анализа. Она дает возможность  исследовать проектируемую или  анализируемую систему по технологии операционного исследования, включая  такие взаимосвязанные этапы, как  содержательная постановка задачи; разработка концептуальной модели; разработка и  программная реализация имитационной модели; оценка адекватности модели и  точности результатов моделирования; планирование экспериментов; принятие решений. Изучение системы с помощью модели позволяет проверить новые решения без вмешательства в работу реальной системы, растянуть или сжать время функционирования системы, понять сложное взаимодействие элементов внутри системы, оценить степень влияния факторов и выявить недостатки.

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

В ходе выполнения курсовой работы у  студента должно формироваться представление  о принципах и способах построения имитационной модели экономических  процессов.

В ходе достижения цели решаются следующие  задачи:

  1. Проведение анализа возможных методов решения поставленной задачи;
  2. Организация экспериментов с моделью;
  3. Обработка результатов моделирования;
  4. Изучение современных способов имитационного моделирования.
  1. Постановка задачи

Целью данной курсовой работы является написание двух имитационных моделей, отображающих два способа закрепления  роботов за операциями:

а) по одному роботу на каждый из путей  перемещения 

б) каждый робот может использоваться на каждом из путей перемещения.

Как задачи можно выделить:

а) определение на основе получаемой статистики наиболее предпочтительного 

(с точки зрения пропускной  способности) варианта распределения  роботов;

б) получение и анализ таких статистических показателей как:

1) распределение времени прохождения  деталей;

2) коэффициенты использования роботов  и станков;

3) максимальная ёмкость бункера  для хранения деталей на участке  прибытия.

Роботизированная производственная система имеет два станка с  числовым программным управлением, три робота, пункт прибытия и склад  обработанных деталей. Детали прибывают  на пункт прибытия в соответствии с экспоненциальным законом распределения  со средним значением 40 секунд, захватываются одним из свободных роботов и перемещаются к первому станку, после чего робот освобождается. После завершения обработки на первом станке деталь захватывается одним из роботов и перемещается на второй станок, а после обработки на втором станке одним из роботов перемещается на склад обработанных деталей.

Время перемещения робота между пунктом прибытия и первым станком, первым и вторым станками, вторым станком и складом составляет 6, 7, 5 секунд, соответственно, независимо от того, «холостой» это ход или нет. Роботу необходимо время 8 ± 1 секунд на захват или освобождение деталей. Время обработки на первом станке распределено по нормальному закону со средним значением 60 секунд и имеет стандартное отклонение 10 секунд. Время обработки на втором станке имеет экспоненциальный закон распределения со средним значением 100 секунд.

Определить наилучший (с точки зрения повышения пропускной способности производственной системы) способ закрепления роботов за операциями.

Каждый робот может использоваться на каждом из путей перемещения деталей (при этом должен использоваться ближайший из роботов).

Найти:

  • распределение времени прохождения деталей;
  • коэффициенты использования роботов и станков;
  • максимальную емкость бункера для хранения деталей на участке прибытия.
    1. Переработка модели

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

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

Входными параметрами модели являются частота прибытия деталей на приёмный пункт, а также такие характеристики устройств, как длительность обработки  детали станком, время захвата, освобождения, перемещения детали роботом и  время «холостого» передвижения робота. Среди перечисленных временных  характеристик устройств встречаются  как дискретно - (временные характеристики работы робота), так и непрерывно-распределённые случайные величины (частота поступления деталей, время обработки детали станком), что придаёт особую сложность использованию аналитических методов моделирования. В данном случае более предпочтительным является использование методов имитационного моделирования.

  1. Анализ задачи моделирования и выдвижение гипотез

  1.  Анализ задачи моделирования

В данном случае, имеем достаточно сложную и объемную систему, которая  требует некоторого упрощения для  ее реализации, в рамках имеющейся  в нашем распоряжении версии GPSS World Student Version 4.3.5.0. Данная версия содержит ограничения на количество используемых операторов - не более 150. В дальнейшем, при разработке модели, мы увидим,  что выполнить полноценное моделирование поставленной задачи в объемах задачи в бесплатной версии невозможно. Для того чтобы уменьшить количество используемых операторов можно переработать изначального кода GPSS-модели в ущерб ее читаемости и наглядности или же упростить модель за счет уменьшения качественных характеристик.

Переработка кода GPSS-модели, приведет к невыполнению задач указанных в задании в полной мере объема изучения поведения модели. Если же уменьшить количество однотипных объектов системы, то можно получить полностью рабочую и исчерпывающе отображающую предметную область первоначальной системы. Такой подход не приведет к уменьшению читаемости и наглядности системы, а только повысит эффективность моделирования.

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

При уменьшении количества роботов  необходимо также уменьшить количество станков с числовым программным управлением до одного для равноценного сокращения количественных характеристик модели. Вследствие чего получаем систему, которая не будет требовать перегруженности кода в рамках доступного программного обеспечения. Очевидно, что у всех трех роботов поведение будет аналогичное, а следовательно и программные коды, описывающие их поведения будут повторять один и тот же набор действий.

Измененная область моделирования  будет выглядеть следующим образом:

Роботизированная производственная система имеет станок с числовым программным управлением, два робота, пункт прибытия и склад обработанных деталей. Детали прибывают на пункт  прибытия в соответствии с экспоненциальным законом распределения со средним  значением 40 секунд, захватываются одним из свободных роботов и перемещаются к первому станку, после чего робот освобождается. После завершения обработки на первом станке деталь захватывается одним из роботов и перемещается на склад обработанных деталей.

Время перемещения робота между пунктом прибытия и станком, станком и складом составляет 6, 7 секунд, соответственно, независимо от того, «холостой» это ход или нет. Роботу необходимо время 8 ± 1 секунд на захват или освобождение деталей. Время обработки на первом станке распределено по нормальному закону со средним значением 60 секунд и имеет стандартное отклонение 100 секунд.

Определить наилучший (с точки зрения повышения пропускной способности производственной системы) способ закрепления роботов за операциями. Возможные варианты закрепления:

а) по одному роботу на каждый из путей перемещения деталей 
(пункт прибытия – станок, станок – склад);

б) каждый робот может  использоваться на каждом из путей  перемещения деталей (при этом должен использоваться ближайший из роботов).

Найти:

  • распределение времени прохождения деталей;
  • коэффициенты использования роботов и станков;
  • максимальную емкость бункера для хранения деталей на участке прибытия.
  •  Выдвижение гипотез

Перед данной курсовой поставлен ряд  задач, таких как определение  оптимального способа закрепления  роботов, нахождение времени прохождения  деталей, коэффициентов использования  роботов и станков и максимальной ёмкости бункера для хранения деталей на участке прибытия.

Что касается определения способов закрепления роботов, их, как уже было сказано в постановке задачи, два: жёсткое закрепление робота за одним из путей и использование ближайшего к данному участку робота. При определённом наборе входных параметров модели тот или иной способ является более предпочтительным. Недостатком второго способа является затрата дополнительного времени на определение ближайшего робота, а также возможность длительных «холостых» прогонов роботов. Данный способ эффективен, когда время работы робота значительно больше времени работы станка и интервалов поступления заявок, т.е. когда один робот не успевает перевозить все детали и станок простаивает. Если же значительной разницы во времени не наблюдается рациональней использовать более простой первый способ. Если рассматривать первый набор входных параметров модели, то очевидно, что время работы первого робота, равное сумме времени передвижения к приёмному пункта, захвата детали, передвижения к станку и освобождения детали, что составляет 21 секунду, почти вдвое меньше среднего времени прибытия деталей – 40 секунд, а время работы второго робота, вычисленное аналогичным первому способом и равное 23 секунды, меньше среднего времени обработки детали на станке – 60 секунд. Отсюда можно сделать вывод о рациональности использования для первого набора параметров первого способа закрепления роботов.

 

  1. Описание реализации модели

  • Разработка концептуальных моделей

Рассмотрим объект моделирования  и определим характер взаимодействия его элементов между собой  и с окружающей средой. Многие параметры  объекта представлены в виде законов  распределения со своими параметрами, соответственно свойства модели имеют  стохастический характер. Кроме этого,

так как  состояния в объекте изменяются не в заданные фиксированные моменты  времени, а непрерывно, то модель непрерывна. Известно, что для описания непрерывных  стохастических моделей в виде типовых  математических схем используют Q-схемы. Любая Q-схема состоит из простейших единиц: каналов обслуживания, накопителей, источников, клапанов, а также связей, указывающих пути перемещения транзактов или управляющих воздействий. Для  построения Q-схемы заданного объекта  необходимо определить в нем основные составляющие: устройства, очереди, источники, клапаны, связи. Для рассматриваемой системы будет существовать источник, генерирующий заявки, устройства: станок и два робота, а также очереди перед каждым из устройств. Склад обработанных деталей также будет представлен очередью. Две Q-схемы модели, отображающие два способа закрепления роботов за операциями, представлены на рисунках 1 и 2.

 

Источник

Робот 1

Станок

Приёмный пункт

Склад обработанных деталей

Очередь перед станком

Очередь перед вторым роботом

Робот 2

Рисунок 1 – Q-схема модели, для первого способа закрепления роботов. 

Вышеприведённая Q-схема описывает следующую последовательность действий: поступившие в модель заявки ожидают на приёмном пункте освобождения устройства «Робот 1»; это устройство перемещает их в очередь станка; обработанные заявки поступают в очередь второго робота, который затем перевозит их на склад.

Очередь перед роботом



Источник


Робот 1

Станок

Приёмный пункт

Очередь перед станком

Робот 2

Склад

 Рисунок 2 – Q-схема модели, для второго способа закрепления роботов за операциями. 

Приведённая на рисунке 2 Q-схема описывает следующее функционирование системы массового обслуживания. Поступившие заявки ожидают своей очереди на приёмном пункте. Они могут быть обработаны как первым, так и вторым роботом, в результате чего попадут в очередь станка. После обработки станком заявки ожидают транспортировки одним из роботов на склад обработанных деталей. Все вышеописанные Q-схемы справедливы и для ситуации первоначально поставленной задачи, когда в системе присутствуют три робота и два станка, с добавлением соответствующих блоков.

  • Выбор программного средства моделирования

Для разработки программной модели системы, был использован язык GPSS World Student Version 4.3.5.0. GPSS является языком моделирования, используемым для построения моделей и проведения моделирования на ЭВМ. Модели на GPSS компактны, часто состоят из меньшего числа операторов. Это объясняется тем, что в GPSS встроено максимально возможное число логических программ, необходимых для моделирующих систем. В него также входят специальные средства для описания динамического поведения систем, меняющихся во времени, причем изменение состояний происходит в дискретные моменты времени. GPSS очень удобен при программировании, поскольку интерпретатор GPSS (здесь и далее интерпретатором называется моделирующая часть системы GPSS) многие функции выполняет автоматически. Например, GPSS без специального на то указания пользователя собирает статистические данные, описывающие поведение модели, автоматически печатает итоговую статистику по завершении моделирования. Пользователю нет необходимости включать в модель операторы для сбора и накопления этих данных или задавать формат, указывающий, в каком виде должны быть распечатаны итоговые данные. В язык включены и многие другие полезные элементы. Например, GPSS обслуживает таймер модельного времени, планирует события, которые должны

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

  • Выбор программы для реализации имитационной модели

Описание системы на GPSS представляет собой последовательность блоков, каждый из которых соответствует некоторому оператору (подпрограмме). Каждый блок имеет определенное количество реквизитов, называемых полями, которые отделяются друг от друга запятой (это аналоги  параметров процедур и функций в  языках программирования), но положение  полей строго фиксировано, и отсутствие некоторого поля отмечается запятой.

Для облегчения пользователю процесса построения модели в GPSS разработан так называемый язык блок-диаграмм, позволяющий упростить переход от алгоритма к программе модели. Каждый блок GPSS имеет свой графический аналог, с помощью которого отображается пространственная конструкция модели, упрощая дальнейшую линеаризацию программы модели.

Построение блок-диаграмм знакомит программиста с набором операторов языка. Набор операторов языка однозначно соответствует набору блоков для описания блок- диаграммы. Вследствие чего, очевидно, что построение блок-диаграммы является не самоцелью, а лишь промежуточным этапом при написании имитационной модели исследуемой системы с использованием операторов языка GPSS. При этом процесс создания модели можно изобразить в виде схемы, показанной на рисунке 3.

 

 
Рисунок 3 – Процесс создания модели с использованием GPSS.

 

Реализуем построенные Q-схемы моделей в терминах команд GPSS. Блочная диаграмма первой модели с жёсткой фиксацией роботов за операциями представлена на рисунке 3.

Объекты GPSS подразделяются на 7 категорий  и 14 типов (таблица 1) и позволяют, с одной стороны, описать их взаимодействие сравнительно несложными наборами операций, с другой — достаточно просто и наглядно представить процесс функционирования исследуемой системы, формализуемой в виде Q-схемы.

 

Таблица 1 – Классификация объектов GPSS

Категория

Типы объектов

Динамическая

Транзакты

Операционная

Блоки

Аппаратная

Устройства

Памяти

Ключи

Вычислительная

Переменные:

арифметические,

булевские

Функции

Статистическая

Очереди

Таблицы

Запоминающая

Матрицы ячеек

Ячейки

Группирующая

Списки пользователя

Группы


 

 

  1. Описание имитационной модели

 

(EXPONENTIAL(1,t_0#2,(t_0)))

GENERATE

priem

MARK

robot1

priem

(t_1#2+t_4+t_5)

robot1

pered_stankom1

stanok1

pered_stankom1

(normal(1, t_6, t_7))

stanok1

posle_stanka1

robot2

posle_stanka1

(t_2#2+t_4+t_5)t_7))

robot2

TABULATE VREMIA_TRANZAKTA

QUEUE

SEIZE

DEPART

ADVANCE

RELEASE

QUEUE

SEIZE

DEPART

ADVANCE

RELEASE

QUEUE

SEIZE

DEPART

ADVANCE

RELEASE

TERMINATE

 

 
Рисунок 4 – Блочная диаграмма первой GPSS-модели.

 

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

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

stanok1


pered_stankom1


stanok1


pered_stankom1


(normal(1, t_6, t_7))


TABULATE VREMIA_TRANZAKTA


TERMINATE

QUEUE priem

MARK

(EXPONENTIAL(1,t_0#2,(t_0)))

TEST NE X$pos1,0,seize_robot1

TEST NE X$pos2,0,seize_robot2

proverka_pos1

proverka_pos2

TEST NE X$pos1,1,izm_progon1

proverka_pos1_1

TEST NE X$pos2,1,izm_progon2

proverka_pos2_1

TEST NE X$pos1,2,izm_progon11

proverka_pos1_2

TEST NE X$pos2,2,izm_progon22

proverka_pos2_2

SAVEVALUE progon, X$t_1

Izm_progon1

SAVEVALUE progon, X$t_1

Izm_progon2

SAVEVALUE progon, (X$t_1+X$t_2)

Izm_progon11

SAVEVALUE progon, (X$t_1+X$t_2)

Izm_progon22

robot1

SAVEVALUE pos1, 1

posle_stanka1

(X$t_1+X$t_4+X$t_5 + X$progon)

robot1

robot1

SAVEVALUE pos1, 1

posle_stanka1

(X$t_1+X$t_4+X$t_5 + X$progon)

robot1

Seize_robot1

Seize_robot2

GENERATE

QUEUE

SEIZE

DEPART

ADVANCE

RELEASE

SEIZE

DEPART

ADVANCE

RELEASE

QUEUE

SEIZE

DEPART

ADVANCE

RELEASE

 Рисунок  5 – Блочная диаграмма части второй модели, описывающей ввод транзакта в модель, работу первого робота, станка и вывод транзакта из модели. 

 

  • Описание использованных в модели объектов

Ключевое отличие второй модели состоит в поиске для транзакта  ближайшего робота. Как видно из рисунка, в модели это выполняется  с помощью последовательности блоков Test, логику работы которых в случае определения ближайшего к приёмному пункту робота можно представить в виде следующей блок-схемы (рисунок 6).

 

+

+

+

+

+

Начало

X$pos1 <> 0

X$pos2 <> 0

X$pos1 <> 1

X$pos2 <> 1

X$pos1 <> 2

X$pos2 <> 2

Работа первого робота

Работа второго робота

Работа станка

1

2

1

2

Progon = t_1

1

Progon = t_1

2

Progon = t_1+t_2

1

Progon = t_1+t_2

2

Конец

 
Рисунок 6 – Блок-схема поиска ближайшего робота.

Список использованных при программной  реализации объектов приведён в таблице 2.

Таблица 2 – Список использованных объектов GPSS

Элемент GPSS

Интерпретация

Переменные:

t_0, t_1 … t_8

X$pos1, X$pos2

 

X$progon

 

Значения параметров

Положения роботов (приёмный пункт – 0, станок – 1, склад обработанных деталей – 2)

Время «холостого» хода робота

Таблицы:

VREMIA_TRANZAKTA TABLE M1,80,5,60

 

Таблица, хранящая время  распределения транзактов. Может  содержать до 60 интервалов длительностью 5 единиц. Содержит значения, начиная  с восьмидесяти.

Устройства:

robot1, robot2

 

stanok1

 

Устройства, выполняющие  операции транспортировки деталей

Устройство, выполняющее  обработку деталей

Очереди:

priem

pered_stankom1, posle_stanka1

 

Очередь, моделирующая приёмный пункт

Хранение деталей до и  после обработки на станке


 

Для подтверждения гипотезы выдвинутой в пункте 2 - курсовой работы, построим модель системы в первоначальном варианте, используя за основу построенную модель упрощенного варианта. Листинг программного кода исходного варианта модели указан в приложении В. При попытке запуска данного кода в оболочке GPSS, выдается ошибка о прерывании моделирования на 150-ом операторе модели, чем и подтверждается необходимость к прибегнутому упрощению. В общем случае, основываясь на полной работоспособности выполненного нами моделирования, можно предположит, что и неупрощенная модель системы будет адекватно и точно работать в более полной версии GPSS. И полностью повторит результаты моделирования в более упрощенном варианте.

 

  • Организация экспериментов в GPSS

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

Ниже приведён пример запуска модели.

CLEAR

RMULT

INITIAL X$t_0,40

INITIAL X$t_1,6

INITIAL X$t_2,7

INITIAL X$t_3,5

INITIAL X$t_4,8

INITIAL X$t_5,1

INITIAL X$t_6,60

INITIAL X$t_7,10

INITIAL X$t_8,100

TRANSFER ,nachalo

start 10

Блок «CLEAR» производит возврат процесса моделирования к начальному состоянию, т.е. сбрасывает всю накопленную статистику, удаляет все транзакты из модели и устанавливает отсчет (нумерацию) транзактов, сгенерированных блоками GENERATE, начиная c единицы. Затем командой RMULT меняет последовательности выдаваемые генераторами случайных чисел, которые действуют независимо друг от друга, так как при каждом запуске системы генераторы выдают одну и ту же последовательность чисел. Далее следует установление при помощи блоков INITIAL значений параметров, переход к началу, к моменту генерации заявок, и моделирование десяти запусков модели.

Реализация эксперимента средствами встроенного языка PLUS основана на процедурах и «экспериментах». Это очень гибкий и мощный инструмент, так как c его помощью можно задать выполнение разнообразных, достаточно сложных действий. Кроме того, выполняющийся эксперимент позволяет вызывать любые команды GPSS из процедур на языке PLUS.  

 

  1. Анализ и оценка результатов моделирования

В результате проведения экспериментов  с моделями получены статистические данные, характеризующие работу моделей. В курсовой требовалось для обеих  моделей, для каждого набора параметров найти распределение времени прохождения деталей, коэффициенты использования роботов и станков, максимальную емкость бункера для хранения деталей на участке прибытия. Необходимые для сравнения результатов работы моделей данные приведены в таблице 3. Для сравнения распределения времени прохождения деталей в таблице указано среднее время прохождения транзакта.

Таблица 3 – Статистические результаты моделирования

Статистическая характеристика

Величина указанной 

статистической

 характеристики 

при первом

способе закрепления

Величина указанной статистической

характеристики при

 втором способе 

закрепления роботов

1

3

4

Среднее время прохождения  транзакта

104.327

121.059

Коэффициент использования  первого робота

0.176

0.440

Коэффициент использования  второго робота

0.193

0.000

Коэффициент использования  станка

0.506

0.502

Максимальная ёмкость  для хранения деталей на участке  прибытия

1

1

Построение имитационной модели роботизированной производственной системы