Этап 9. Моделирование доставки готовой продукции
из цеха на склад
Для доставки готовых изделий на склад готовой продукции исполь-
зуется грузовик большего объема, чем грузовики для доставки на склад
деталей. Для него создадим отдельный агент Lorry.
Для этого перейдите в агент main и перетащите элемент Агент на ра-
бочее поле модели. На первом шаге мастера выберите пункт Создать
единственного агента
. На втором шаге — создать новый тип агента.
На третьем шаге задайте имя агента Lorry. На четвертом — выбери-
те анимацию (фура). На пятом шаге создайте параметр агента order
типа int. Перейдите в агента Lorry.
Грузовик в модели может быть в трех состояниях: находиться в цехе,
находиться на складе готовой продукции и ехать на склад. Промодели-
руем все эти состояния с помощью диаграммы состояний. Постройте
диаграмму состояний из трех состояний, просто перетаскивая элемен-
ты из библиотеки Диаграмма состояний. Соедините состояния пере-
ходами так, как показано на рис. 2.53.
Рис. 2.53. Диаграмма состояний агента Lorry
Зайдите в свойства перехода из состояния atPlant в состояние
atStorage_Production
и задайте их так, как на рис. 2.54.
56
Лабораторная работа № 2
Рис. 2.54. Свойства перехода из состояния atPlant в состояние atStorage_Production
Такой переход будет происходить при получении сообщения
“to_storage_production”
агентом Lorry. При этом агент начнет движение
к агенту storage_Production и в переменную order агента Lorry запишет-
ся количество произведенной в цехе продукции.
Выделите переход из состояния atStorage_Production в состояние
movingToPlant
. Перейдите в его свойства и задайте их так, как показа-
но на рис. 2.55.
Рис. 2.55. Свойства перехода из состояния atStorage_Production
в состояние movingToPlant
Такой переход будет происходить сразу после прибытия агента Lorry
на склад готовой продукции, причем содержимое переменной order
агента Lorry будет записываться в параметр production агента storage_
Production
. После этого грузовик отправляется к цеху.
57
Разработка модели внутризаводской логистики
Выделите переход из состояния movingToPlant в состояние atPlant
и перейдите в его свойства. Задайте свойства перехода, как показано
на рис. 2.56.
Рис. 2.56. Свойства перехода из состояния movingToPlant в состояние atPlant
Такой переход сработает, когда агент начнет движение в цех. При
этом содержимое его параметра order обнулится.
Поскольку грузовик не всегда находится в цехе, в агенте Plant нуж-
но организовать функцию для определения того, свободен ли грузо-
вик в агенте Plant. Назовем ее isFree и построим с помощью Диаграммы
действий
. Перейдите в агент Plant. С помощью элементов библиоте-
ки Диаграмма действий постройте функцию isFree так, как показано
на рис. 2.57.
Рис. 2.57. Функция isFree
58
Лабораторная работа № 2
Выделите начальный элемент диаграммы и задайте свойства функ-
ции так, как показано на рис. 2.58.
Рис. 2.58. Свойства функции isFree
Данная функция будет возвращать истину, если грузовик свободен,
и ложь, если он занят.
Выделите элемент Решение и задайте его свойства так, как показа-
но на рис. 2.59.
Рис. 2.59. Свойства элемента Решение
В элементе Решение проверяется информация о нахождении гру-
зовика (агент Lorry) в состоянии atPlant, т. е. он находится в цехе. Если
грузовик в цехе, то он свободен.
59
Разработка модели внутризаводской логистики
Отправкой грузовика на склад готовой продукции будет заниматься
функция izdeliya агента Plant. Перетащите элемент Функция из агент-
ной библиотеки и задайте его свойства так, как показано на рис. 2.60.
Рис. 2.60. Свойства функции izdeliya
В этой функции грузовик записывается в виде переменной t. Далее,
если в цехе есть готовая продукция (параметр number_of_izdeliya>0)
и есть свободный грузовик (функция isFree () возвращает истину),
то грузовику посылается сообщение “to_storage_production” и он от-
правляется на склад готовой продукции.
Для активации этой функции используется событие izdeliya_deliver.
Перетащите элемент Событие из агентной библиотеки на рабочее поле
агента Plant и задайте его свойства так, как показано на рис. 2.61.
Такое событие будет происходить 10 раз за час, и каждый раз будет
вызываться функция izdeliya.
Запустите модель. От цеха должны двигаться грузовики на склад де-
талей и на склад готовой продукции (рис. 2.62).
60
Лабораторная работа № 2
Рис. 2.61. Свойства события izdeliya_deliver
Рис. 2.62. Работа конечной модели
61
Лабораторная работа № 3
Использование анимации
в дискретно-событийном подходе
в AnyLogic 8.1
Задача
В
этой работе нужно дополнить созданную в лабораторной ра-
боте № 1 модель технологической сборки изделия анимаци-
ей процесса.
Решение
Достарыңызбен бөлісу: |