question

Erick L avatar image
0 Likes"
Erick L asked Joseph Gillespie commented

How to set up a process flow to make a layer pick of cartons off of a pallet?

I am trying to set up a process flow to make a pick of 4 cartons (or a layer) off a pallet using the crane and place them on a take away conveyor, and when the pallet no longer has cartons, have the crane then pick up the empty pallet and move it to port 2 to be taken away. I am sure this needs to be done using process flow but dont know where to start. Any help would be greatly appreciated. Thank you for your help in advance.

FlexSim 19.1.0
process flowcombinerrackpickingcrane
· 5
5 |100000

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

Erick L avatar image Erick L commented ·
0 Likes 0 ·
Erick L avatar image Erick L commented ·

gantry-flexsim-question-1.fsm

I added an attempt I started using process flow. But I still can't figure out how to separate the cartons from the pallets

0 Likes 0 ·
Joerg Vogel avatar image Joerg Vogel commented ·

Perhaps you think about another strategy. Each carton layer could be on an invisible pallet. The pallet has got the height of the cartons, the cartons are in the pallet. Then you can stack the carton layers by the invisible pallet and you don’t need to transport 4 cartons by your crane, just the invisible pallet. If you dissemble the layer you can use an invisible separator object. Or you dissemble the layer in an unload event driven process flow where you destroy the invisible pallet.

The realistic approach would be the crane loads the 4 cartons. The crane load time is involved with the last carton only. You adjust the carton location in relation to the crane hook and you adjust the locations at the unload station again.

0 Likes 0 ·
Erick L avatar image Erick L Joerg Vogel commented ·

gantry-flexsim-question-1.fsm

@Jörg Vogel, Thank you for your input. I took your advice and created objects of each layer separately so that the tokens can identify separately. If you take a look at the process flow I came up with I believe everything is set up to run correctly however once the source pulls from the list all the tokens stop moving and won't process through the rest of the logic. Any idea what might be happening here? Any suggestions to make this logic better?

Thank you for your help in advance. I really appreciate it.

0 Likes 0 ·
Joseph Gillespie avatar image Joseph Gillespie commented ·

@Erick L

Was my answer helpful to you? Do you have any further questions?

0 Likes 0 ·

1 Answer

Joseph Gillespie avatar image
1 Like"
Joseph Gillespie answered Joseph Gillespie commented

@Erick L

I decided to take a look at your model and found the issue with the pulling in your process flow. In the "Push to List" activity of your process flow, you gave it the Partition ID of current. Since your list had no partitions in it, it was not pushing to the list.

By removing the ID (changing it to None), it began to pull from the list.

----

After that began working, I noticed that it was still only loading one item at a time from the pallet. You could try telling it to load an array of items off of the pallet (I'm not sure if that would work or not). I made some modifications to your model that would implement Jorg's idea of putting layers in invisible pallets in these models: gantryquestionanswer.fsm gantryquestionanswer2.fsm

The difference between the first model and the second model is that in the first one I visually moved the layers down relative to the bottom pallet, so it looks good until a layer gets loaded on the conveyor. In the second one, I individually moved the items down into the invisible pallets, and it looks good all the way through.

I didn't put in functionality to separate the items from the invisible pallets at the end, but let me know if you want to and can't figure out how to do it. Also, I made a lot of changes to the model in the examples, so let me know if you have any questions about them.


· 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.

Erick L avatar image Erick L commented ·

@Joseph Gillespie Thank you very much! This is exactly what I was trying to recreate. I took what you had done and tried to apply it to the next steps and was successful except for one part. Once the layer picking begins within the cells the cranes will randomly jump to other cells and make a pick there. I have been unable to define why this is happening. If you let the model run past 14000 seconds you will see what I'm mentioning. Any suggestions on how to correct this? I'm assuming it comes down the label management but I have been unable to figure it out. gantry-flexsim-question-2.fsm

0 Likes 0 ·
Joseph Gillespie avatar image Joseph Gillespie Erick L commented ·

@Erick L

When you said "jump to other cells" I wasn't sure if you meant other racks or just other cells in the same rack, but here's solutions to both in case you want them:

Stopping Cranes From Picking from other Racks

In your process flow under "Pallet Creation" you had 4 blocks in which pallets were pulled from a main list and added to lists based on which rack they were going into. The problem you had here was that it was picking any pallet from the main list, not the pallet that just entered the conveyor. The result was that a pallet could be in rack 1 but on the list for rack 4. I was able to resolve this by giving the item arriving at the conveyor a label called "Item":

Then, I set the "Pull from List" activity to choose the pallet on the list that matches token.Item

(When you pushed the token to Incoming Pallets, the reference to the pallet was called "pallet". Also, "puller" refers to the token that is pulling from Incoming Pallets)

I did this for each of the four blocks and it works just fine now.

Stopping Cranes From Picking from Other Cells Before Finishing a Pallet

If you want the Crane to pick up all the layers off a pallet and pick up the pallet itself before moving on to another pallet, you need to make sure that another process flow won't acquire the crane before it is done. This can be fixed easily by having the crane be acquired before starting to pick layers on a pallet, and then releasing the crane after the pallet is empty and the pallet has been moved to the conveyor. No need to acquire and release the crane before and after each layer.

I also noticed that crane 3 was unloading Layer4 at the wrong conveyor and fixed that.

Here's your model with both of those fixes: gantryflexsimquestionanswer.fsm

0 Likes 0 ·
capture.png (5.6 KiB)
capture2.png (2.7 KiB)