0

I have two conveyors running simultaneously, and then there is sorter which sorts the items coming from these two conveyors, one by one, so if the sorter is sorting the item coming from conveyor 1 then both the conveyors should stop and similarly for conveyor 2. So basically, if sorter is sorting any item, coming from conveyor 1 or 2 both the conveyors should stop in that case.enter image description here

So how should I do it?

1 Answers1

0

Use a Custom Station (which I think you are using) and then, say, a Delay block to simulate the sorting. Use on-enter and on-at-exit actions of the Delay block to stop and start the conveyors (using their stop() and run() functions).

Because using a custom station requires you to 'split' the incoming and outcoming conveyors (cf. a normal Station), you will have to remember which conveyor they came in on (by storing that information inside a custom Material Item agent which is flowing through the process) so that you know which outbound conveyor to put them on.

From a visual perspective, you can also make sure the agent leaves the inbound conveyor and is removed from space (Convey block "Leave conveyor on exit" and "are removed from the space" option), but then have them appear in, say, a Rectangular Node defined on top of the custom station when they are in the Delay block ("Agent location" setting).

Below is a little minimal example model.

enter image description here

The agent flowing through the process has a parameter sourceConvey (of type Convey) which stores the Convey block it is arriving to the sorter from. (Could also have stored the conveyor space markup instance instead or, in this case since there are only 2 conveyors, just a boolean saying whether it is from 'conveyor 1' or not.)

The Source blocks set the agent's sourceConvey appropriately and then the outbound Convey block (convey2 in the picture) dynamically assigns the source and target conveyor based on where the thing came from:

agent.sourceConvey == convey ? conveyor2 : conveyor3

(Where conveyor2 is the top outbound conveyor and conveyor3 the bottom one.)

(You could also have used a SelectOutput with two outbound Convey blocks for each possible path.)

Stuart Rossiter
  • 2,432
  • 1
  • 17
  • 20