A25 Модель химико-технологического процесса

состоит из классов Заказ и Main и эксперимента Simulation.


Класс «Заказ» является шаблоном, в соответствии с которым в модели создаются все транзакты.

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



Создаются заказы в блоке «СырьёПоступает», затем в блоке timeMeasureStart фиксируется время старта транзакта. После этого наступает этап экструдирования, который происходит одновременно на трёх линиях. Если экструдер загружен на 100%, то лишнее сырьё будет находиться перед (блок ОчередьЭкструдер). Задержка на время экструдирования имитируется с помощью блока экструд_ние. Следующий этап «вырубка» так же имитируется двумя блоками ОчередьВырубка,вырубка. Аналогично для всех оставшихся этапов используются по два блока:

Завершает логическую цепь продвижения заказов во времени блок timeMeasureEnd и sink().

В первом блоке фиксируется время выполнения цикла выпуска — этому моменту соответствует событие, когда все 15 заказов обработаны. А в блоке удаляются обработанные заказы и выполняется один раз за период моделирования следующий код:

if (sink.count() == 15) {

времяВыпуска=time()-времяВыпуска;

pauseSimulation();

}

Распределение заказов в разные последовательности реализовывается с помощью кода ниже:

времяВыпуска=time();

int newindex=uniform_discr(0, 14);

while(индексыMap.containsValue(newindex))

newindex=uniform_discr(0, 14);

индексыMap.put((int)СырьёПоступает.count(),newindex);

agent.индекс=newindex;

text1.setText(text1.getText()+» -> «+newindex);

Интерфейс модели дополняет схема химико-технологического процесса и числовые характеристики двух показателей.

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

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