question

lili avatar image
0 Likes"
lili Suspended asked lili Suspended commented

unloading items from a task executor by crane

Hi everyone!


In the model I'm working on there's a truck loading items from a queue and moving them towards a storage. I want the crane to unload the items from the truck and place them in the storage (instead of the items being unloaded into the storage automatically by the truck itself)

Also, I need the crane to unload the items from the transporter to storage2 at the end of the process. I tried modeling this in my process flow however I get a couple of errors.

Any help would be appreciated.


Thanks in advance

batching test-3.fsm

FlexSim 22.2.0
transporter unloadingprocess flow unloadingunloading from a task executer
batching-test-3.fsm (78.6 KiB)
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 lili Suspended commented

The connector in the screenshot below actually leads to the Run Sub Flow directly, skipping the three activities above it. This can sometimes happen when you add activities to a block that already has connections. Just drag the connection away and reattach it to update it.

1687935926174.png

You don't actually need the Pull from List activity seen in the screenshot. The item references that are already on the token can be reused for the crane loading/unloading as well.

The crane in your model is currently set to not travel offsets. Since it is not moving along a travel network/AGV network/A* grid all movements are classified as offset travel. As a result the crane currently does not move. In the attached model I have changed it back to travel offsets.

batching-test-3-fm.fsm

To unload the items from the truck via crane you would do the same as you have with the Transporter: Control the transport logic via Process Flow to use both the truck and crane.


· 3
5 |100000

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

lili avatar image lili commented ·

Thank you so much for your response @Felix Möhlmann

I added the process flow for unloading items from the truck to storage2. I'll share it here for future reference of the users.

batching test-4.fsm


I also have two questions:

The first is regarding the run sub flow for loading items from task executor by crane. In the assign labels to children you added the following logic:

token.item[token.item.length + 1 - creationRank]

As I'm new to coding in flexsim can you explain what + 1 does and what this command means in general?

And the second one is how can I make sure the two cranes don't move through each other? (For instance when crane1 is busy sometimes crane2 will move towards storage2 and pass through crane1 to unload items when in reality that's not possible.)

0 Likes 0 ·
batching-test-4.fsm (84.0 KiB)
Felix Möhlmann avatar image Felix Möhlmann lili commented ·
The expression assigns a different element from the 'item' array label to each of the subflow tokens. In the Run Sub Flow activity for the transporter I just used token.item[creationRank], using the creation rank of the sub flow token to iterate through the array in ascending order (1, 2, 3, 4, ...). For the crane I wanted to iterate through the array in descending order (so the crane loads the items from the transporter from top to bottom). The 1 is just a necessary offset so the numbers count down correctly (token.item.length is 20 and creationRank goes from 1-20 -> 20 + 1 - 1 = 20, ..., 20 + 1 - 20 = 1).


You can search for "crane collision" on the forum. There are quite a few posts dealing with this topic already.

0 Likes 0 ·
lili avatar image lili Felix Möhlmann commented ·

I see, so we define a reverse priority system for the crane to pick up the items.

Thanks @Felix Möhlmann

0 Likes 0 ·