Можете ли вы подключить 2 отдельные блок-схемы с одной ограниченной зоной? - PullRequest
1 голос
/ 01 ноября 2019

В нашей модели ProductionOrder используется несколько операторов. Захватывающий блок имеет блок-схему подготовки, чтобы операторы могли пройти через воздушный шлюз (PAL) в помещение. После операции ProductionOrder (блок задержки) операторы освобождаются и имеют блок-схему, которая отправляет их из комнаты через тот же шлюз. Поскольку в этом воздушном шлюзе может быть только 2 человека, нам необходимо ограничить объединенные операторы в блок-схемах подготовки и обертки до 2 человек в воздушном шлюзе независимо от того, входят они или выходят (т. Е. Максимум 2 в любое время).

enter image description here

Если мы сделаем это, соединив блоки с соединителями, возникнет ошибка, в основном говоря, что вы не можете подключить потоковую диаграмму Prepare к потоковой диаграмме Wrap-up.

enter image description here

Есть ли способ связать обведенные очереди и стартовые блоки ограниченной области?

1 Ответ

2 голосов
/ 02 ноября 2019

Вместо использования очереди (PALqueue) используйте там блок ожидания (в обоих потоках)

И вы можете сделать это при вводе каждого блока ожидания PALqueue:

if(PALCapacityLimit.entitiesInside()+PALCapacityLimit1.entitiesInside()<2){
    self.free(agent);
}

И в Onter от PalInLimit (оба)

if(PALqueue.size()>0)
PALqueue.free(PALqueue.get(0)); //remember now PALqueue is a wait block
else if(PALqueue1.size()>0)
PALqueue1.free(PALqueue1.get(0));

И вот вы идете:)

...