question

Kane C avatar image
0 Likes"
Kane C asked tannerp edited

Rack to queue(s) replenish base on exit trigger from processor

Hi all, I am having difficulties in releasing items from the rack to specific queues base on their output station.

In the model:

a)Initial set value in global table Sequence to 0.
b)OnReset, it triggers all processors to send message to Rack which will reduce the value in global table Sequence to -10 (each processor reduce by 1).
c)This will open port of Rack which will release flowitems out of Rack. At the same time global table Sequence will increase by 1, until they reaches 0 and it would be close.

This works well for a single station, and in this model, it will be station 1. However, is it possible to create a second station, and also a third to perform the same and directing the box to the specific queues?

FlexSim 19.1.0
replenish queues base on their output station
porting.png (150.7 KiB)
flexmodel.fsm (73.7 KiB)
· 1
5 |100000

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

Kane C avatar image Kane C commented ·

As attached is the original behavior when dealing with a single station

0 Likes 0 ·
flexmodel-og.fsm (49.1 KiB)

1 Answer

tannerp avatar image
0 Likes"
tannerp answered tannerp edited

Hi @Kane C,

While I'm not sure I understand everything going on in this model, I think I gathered that you just need a way to send the boxes to different conveyors. You already had the label "DP" being used, so I set up the Decision Point on the first conveyor to just send to the other conveyors based on that label.

Is this what you're looking for?

flexmodel-1.fsm


dp-send-to-port.png (63.7 KiB)
flexmodel-1.fsm (75.5 KiB)
· 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.

Kane C avatar image Kane C commented ·

Hi @tanner.p, the label "DP" is an assorted items inside the rack and could range from DP 1 to infinite. Basically, the item required would be pulled out from the rack to replenish. For example, when station 1 requires a box to replenish, based on a trigger, box label DP 1 would be pulled out from the rack. When station 2 requires a box to replenish, based on a trigger, box label DP 2 would be pulled out from the rack.

0 Likes 0 ·
tannerp avatar image tannerp Kane C commented ·

@Kane C,

Thanks for providing more details. I think you're going to have a lot more success by using Process Flow rather than using 3D object triggers. Based on what was in your model and the additional information you gave, I have updated your model to include Process Flow logic that listens to the Processors and sends items from the rack based on the label, "DP". I'll give a brief explanation and then if you have any questions, you can ask those specifically.

First, the Processors all have a unique label called "DPType" which is used to indicate which items to pull from the rack. The event called "Item Exits Processor" listens to all the Processors in a Group and creates a token on item exit that contains a label with a pointer to the Processor that released the item.

Meanwhile, the items in the rack are being pushed to a list that is partitioned based on the label, "DP". The Process Flow can access that list in the activity called "Pull Item from Rack". The token specifically looks for an item that is in the partition that matches the label "DPType" on the Processor.

At this point, the token can acquire the operator, load the designated item, unload it at the conveyor, and release the operator. It will do this for each token that is created when an item exits a processor. This should all be familiar from the FlexSim tutorials and training material. The Custom Code activity is performing the function of the trigger that was in the rack that increments the table[1][1] value by 1.

Hopefully this helps you move in the right direction with this model.

flexmodel-update.fsm

0 Likes 0 ·