А45 Производство мороженого

https://youtu.be/gRdwIefV4ug

Программа имитационного моделирования «Производство мороженого» состоит из двух классов и эксперимента

Логика и содержимое модели заключены в классе Main. Класс «Мороженое» является образцом по подобию, которого в программе создаются агенты-транзакты. С логической точки зрения это —производимое мороженое, которое перемещается по конвейеру.

Визуализация моделируемого процесса в программе отображается в 3-х измерениях с помощью специального компонента «3Д анимация», Рис.1

Рис.1 Визуализация моделируемого процесса производства мороженого

У создаваемых агентов по шаблону «Мороженое» есть два параметра и рисунок для анимации. Первый параметр «видимость», как и второй, («закрытая») — логические параметр. Если он в значении «true», то коробка будет видна на анимации, в противном случае картинка коробки от мороженого исчезнет с экрана.

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

Условия видимости прописаны в свойствах картинок

из класса «Мороженое».

Рис.2 Содержимое класса «Мороженое»

Рис.3. Свойства картинок в классе «Мороженое»

Создаются экземпляры «мороженого» в блоках source в логических цепях модели. Рис.4. Затем последовательно созданные агенты-транзакты проходят блок за блоком. Например, попав в блок с именем «КонвейерДо1», мороженое сдвинется в пространсте от одной точки конвейера к другой, до агрегата обработки. Доехав до этого аппарта, агент задерживается в нём на определённый интервал времени, установленный в блоке «задержка1Аппарат». После вынужденной задержки, мороженое отправляется в завершающий путь до конца конвейерной линии.

Рис.4 Часть логики модели

Помимо логических цепей, задающих перемещение продукция по конвейеру, есть компоненты, которые создают аварийную ситуацию в одном из трёх агрегатов после того, как пользователь нажмёт кнопку «создать аварию»Рис.5

Рис.5 Часть интерфейса программы

Рядом с кнопкой располагаются ещё две кнопки для перемещения по области пространства программы. Рис.6

Рис.6 Часть интерфейса программы

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

Рис.7 Графики роста числа произведённой продукции после аварии

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

Рис.8 Анимация модели после аварии

Перечисленные индикаторы аварии остаются до тех пор, пока не будет устранена авария. По логике программы этот момент произойдёт, когда транзакт аварии покинет блок «починка» .Рис.9

Рис.9. Логическая цепь аварийных ситуаций в модели

До тех пор, пока авария не устранена, вся приходящая на вход конвейера продукция уничтожается сразу же после появления. Рис.10. Т.е. компонент «исправно» отправляет транзакты по второй ветке, потому что булевая переменная «авария» — в значении «true».

Рис.10 Часть логической цепи в программе

Рис.11 Проверка устранения аварии в свойствах блока «исправно»

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *