0

I am designing a manufacture process and I using an assembler to package the components. The case is that there is a limit number of components so when we ran out of one type of component I am trying to redirect the flow to another assembler in order to change the configuration.

enter image description here

The condition that I am imposing is that is true when the towerFactorystorage output is below 180. As you can see in the picture below in the first lane the selectOutput7 changed but selectrOutput11 not when the condition is the same.

It looks like a component is blocking the selectOuput11 block. Any ideas on what is happening?

enter image description here

Adrian
  • 23
  • 4
  • 1
    Likely, you are checking a condition that has not actually materialized yet. The condition code is actually executed *before* an agent (truly) leaves the upstream block. If you have some code in the "on exit" block of an upstream block, it is executed *after* the condition is evaluated. This trips up many people. If in doubt, put a dump Delay block before each SelectOutput with a delay of 0 – Benjamin Nov 01 '22 at 12:40
  • I am not sure if I am understanding you... I am not using any code in the on exit block. I just have a condition that depends on the quee.The line that I am using is the following: "(towerFactoryStorage.out.count()<180)" . Maybe I can trigger manually the gate with "selectOutput11.condition(agent)" right? – Adrian Nov 01 '22 at 12:50
  • Probably easiest if you revert your model to the point where it still worked and investigate what is causing this, tbh. Very hard to analyze from a picture alone – Benjamin Nov 01 '22 at 13:59

0 Answers0