AnyLogic 5 Discussion

Доброго дня! Вообщем у меня такая проблема, в условиях задержки блока "HOLD" пишу, что если var1== false, то блокируй, при первом прохождении значение var1=true, а при попадание в "Delay" в событии onEnter : var1=false, тоесть должно выполняться условие задержки, а оно не выполняются. Что не так? Может кто знает?
Вместо var1=false написать прямо в событии onEnter блока Delay : hold.block() (естественно, вместо hold имя блока).
to Andrey: Значение параметра 'initiallyBlocked' вычисляется один раз, при создании блока, и в дальнейшем не изменяется. Поэтому, как верно заметил Алексей, нужно использовать метод block.
У меня следующая реализация блоков: Source->Queue2->Delay->Queue1->Hold->Split(разделяет на два потока->Delay1 и ->Delay2)->Sink Вообщем, если указывать Queue1.block() на OnExit, то выводится следующая ошибка: root.delay.output:entity was unable to leave immediately (time spent = 20.4301203232) A buffering object is probably needed, or capacity of the existing object needs to be increased. Моя задача состоит в том, что когда один из блоков Delay1 или Delay2 занят, то задания накапливаются в Queue1, а когда свободны, то поступают по цепи не задерживаясь. Каким образом можно реализовать данную задачу? Спасибо!
Если с тавлю условие в Queue1 на событии OnExit if(var1==false)queue1.block();, то очередь не блокируется. То же получается при установке события OnEnter... Не могу понять почему...?
Андрей, блокировать нужно не Queue, а блок Hold. Если Вы пишете queue1.block(), то блокируется входной порт очереди, т.е. ни одна заявка не можеть поступить в ОЧЕРЕДЬ. Вам нужно написать в событии OnEnter блока Queue1 Hold.block() а не queue1.block().
Да мне хоть, что-нибудь заблокировать... Я пишу в событии OnEnter блока Queue1 if(var1==false) hold.block(); (блок hold, именуется hold), но ничего не происходит, заявки проскакивают, а потом выдаётся ошибка. Что делаю не так?
Андрей, попробуй не использовать переменную var1 и сделать следующее: 1) в событии OnExit блока Queue1 написать hold.block() 2) в событии OnExit блока Delay1 написать if (Delay2.size() == 0) hold.unblock(); 3) в событии OnExit блока Delay2 написать if (Delay1.size() == 0) hold.unblock(); Попробуй, вроде работает ....
Спасибо, Алексей!!! Да, действительно в данном случае все работает. Может подскажешь, почему в "Оптимизационном эксперементе " не вставляются параметры?
Андрей, параметры можно выбрать из выпадающего списка. Но для этого сами параметры должны присутствовать в корневом активном объекте модели.