question

Ranggi M avatar image
0 Likes"
Ranggi M asked Ranggi M commented

How to simulate this situation?

Hello Good day,

I have this trouble on how to simulate this detail situation that I want. I will illustrate what i want in several points.

1. There is Conveyor for incoming goods A, attached with several station with packer at its side. At the end of conveyor there is a queue of another incoming goods B

2. Incoming goods from conveyor will come to the first available packer that it pass. If the packer it passed doesnt available then the item will keep going to the end of conveyor.

3. But for point 2, the available packer means the packer should be at the station standing right at the side. Because, if there is incoming goods coming from the queue at the end of conveyor, the packer (lets call him Packer A) needs to travel and take the item to his station, which means there shouldnt be an items on the conveyor assigned to Packer A (or the conveyor will get stuck)

4. I know that at point 3, if we uncheck the wait at exit point for item, it wont get stuck and still go to the end of conveyor, BUT it will be really weird since then the item still assigned to Packer A and later packer A will go all the way to the end conveyor when there IS actually another packer stationed at the end of the conveyor also.

5. There is no priority on which item should be assigned first (conveyor or queue at the end) but it will be nife if we can give some (FIFO/Round robin/others)


I know these complicated task will need process flow, But I cant get the idea how to make sure the item on conveyor will get a packer only if the packer standing at its station.


Thank you sincerely for any suggestion given.

FlexSim 19.2.4
conveyoroperatorprocessorflexsim 19.2.4
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

Felix Möhlmann avatar image
0 Likes"
Felix Möhlmann answered Ranggi M commented

Hello @Ranggi M,

I adjusted the model from your question from yesterday to include operators. Whenever an item passes an "Aqcuire"-decision point, it will generate a token in the process flow. There it tries to acquire the station belonging to that decision point. If it is successful the item will be routed to that station and processed. As soon as the process is finished the station is made available again in the process flow.

The queue at the end functions similarly. It will try to acquire any of the stations (and by proxy the packer assigned to that station). The transport is then handled by the process flow.

The lower process flow utilizes process flow labels to only allow pick up of items in the queue if there are fewer items on the conveyor than a set threshold.

Only one of the two options (upper/lower) in the process flow should be active at a time. Connect/Disconnect the sources in the process flow the activities below them as needed.

Send_If_Available_1.fsm

I hope this helps to get you started on your model logic.


· 9
5 |100000

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

Ranggi M avatar image Ranggi M commented ·

Hello @Felix Möhlmann

Your model have been really helpful for me, I made my model based on your example. Just one problem tho. I notice that the sequence of station and Decision point should be as followed : DP-Station-DP-Station. But in my model I want to make the station look like this :

1629280606535.png

If there is a tote passed the first set (most right) of Decision Point, the token will created to assign to Processor 200 (Operator highlighted) but because there are another decision point before it can be picked by highligted operator, the item will be send to the Processor 207 (Operator with tote). Is there anyway I can make the send if available on the DP to read that the container already assigned to another station? (In the flow process I add decision to take token created for processor 207 to the sink, but I have no idea how to connect it to the 3D


Thank you

0 Likes 0 ·
1629280606535.png (182.1 KiB)
Felix Möhlmann avatar image Felix Möhlmann Ranggi M commented ·

Instead of just setting the "Acquired" label to 1, you could set it to the value of the "Station" label on the processor. Then the Decision Point can check whether the item is bound for the connected processor or not.

1629286969503.png

1629287044527.png

Together with sending the tokens of already acquired items directly to the sink, this should make sure, that the item is picked up by the correct packer.

0 Likes 0 ·
1629286969503.png (11.1 KiB)
1629287044527.png (6.9 KiB)
Ranggi M avatar image Ranggi M Felix Möhlmann commented ·

Oh , thats right, thank you. I don't know how I couldn't think of that. Thanks alot, I modify your model to this 1629348022641.png

and try to test the flow if there is totes from end queue (using the flow outside of the box), but this kind of error appear :

exception: Exception Caught in distancetotravel(treenode traveler, treenode destination)

exception: Exception Caught in ObjectFunction92__project_exec_commandlist_distancetotravel_node object: MAIN:/project/exec/commandlist/distancetotravel/node i: MAIN:/project/exec/commandlist/distancetotravel/node class: MAIN:/project/exec/commandlist/distancetotravel/node

exception: Exception caught in TreeNode::callMemberFunction() c++/dll execution. Throwing... MAIN:/project/exec/commandlist/distancetotravel/node c: MAIN:/project/exec/commandlist/distancetotravel/node i: MAIN:/project/exec/commandlist/distancetotravel/node thisClass: MAIN:/project/exec/commandlist/distancetotravel/node

exception: Exception caught in evaluation of MAIN:/project/exec/commandlist/distancetotravel/node

This is the configuration for "load"

1629348217147.png

I notice that, instead of walking towards the item in queue, the item will suddenly move to my operator when the token goes to load flow, and show those errors.

I don't know why, I will keep checking. I will made your answer as best answer thanks!

0 Likes 0 ·
1629348022641.png (29.2 KiB)
1629348217147.png (8.2 KiB)
Show more comments