question

ShabDz avatar image
0 Likes"
ShabDz asked Cliff King commented

Stop sending item to specific conveyor when the slug is built

I need to divert flowitems to three branch conveyors (please see the picture). Each branch conveyor builds a slug (criteria: 90% fill).

The flowitems should go to the branch conveyors in order of priority:

First priority is sending them to the 1st branch conveyor. If the 1st branch conveyor's slug is complete, they should go to the second one. If the second one is complete, they should go to the 3rd one.

I was thinking of doing that by sending a message from a branch conveyor (with complete slug) to the decision point on the feeding conveyor. But, I couldn't find any relevant OnMessage option on the branch conveyors.

The model is attached. I would appreciate any help.

conveyor-sorting-slug.fsm

FlexSim 17.0.12
conveyorsortingconveyor decision pointslug building
5 |100000

Up to 12 attachments (including images) can be used with a maximum of 23.8 MiB each and 47.7 MiB total.

1 Answer

Cliff King avatar image
1 Like"
Cliff King answered Cliff King commented

Whenever your conveyor routing logic needs to be based on something more involved than simply reading a label of the item at the DP, then you typically will want to consider making a process flow to define where items should go. In your model, the routing logic may seem simple at first: "send to the first conveyor until it fills up, then redirect items to the next conveyor". But there's other things to consider, such as when is it ok to start sending items back to conveyor 1. You probably don't want to send items back to conveyor 1 until conveyor 2 fills up and begins releasing. Or maybe you would prefer to send to conveyor 3 next, and only when conveyor 3 fills up, start sending to conveyor 1 again. You will also need to concern yourself with what to do when all conveyors have filled up and/or are releasing simultaneously. In that case, you may want to divert items to another circulation conveyor, or stop the whole conveyor belt.

If the desire is to send a slug of items to conveyor 1, then conveyor 2, then conveyor 3 in a round robin fashion, then the following Destination in your OnArrival trigger code at the main conveyor's DP8 may do what you want (where 15 is the slug size):

current.outObjects[(trunc(current.labels.assert("roundRobinVal", 0).value++ / 15) % current.outObjects.length) + 1]

Here's what it will look like:


· 2
5 |100000

Up to 12 attachments (including images) can be used with a maximum of 23.8 MiB each and 47.7 MiB total.

ShabDz avatar image ShabDz commented ·

Hi @Cliff King, I appreciate your answer. I learned a lot from that. I have another version of my old question that you may know the answer.

In the attached model, I want to send boxes from primary conveyors to secondary conveyors in a round robin fashion (same as my old question). However, the hard part is that, the conveyors are coupled. In fact, they represent two lanes of flowitems on a single conveyor.

Assuming that the slug size is 6, first I want to send 6 boxes to the first couple of secondary conveyors (these 6 boxes are combination of red and brown boxes and it doesn't matter how many are red and how many are brown). Then, I want to do the same for the second couple of secondary conveyors.

I really appreciate your help.

test-slug.fsm

0 Likes 0 ·
test-slug.fsm (25.9 KiB)
untitled.png (78.9 KiB)
Cliff King avatar image Cliff King ShabDz commented ·

Hi @ShabDz, this new question is going to require a different approach, and so I would urge you to resubmit this as a totally new question in a separate post. Hopefully then, it will be seen by more people and others can respond. Thanks!!

Cliff

1 Like 1 ·