question

Eduardo Perez avatar image
0 Likes"
Eduardo Perez asked Jeanette F commented

Cross-docking simulation with tasksequence

Hi, I'm getting some troubles with my simulation of a cross-docking solution.

In my simulation I have eight sources and eight sinks (represented as trucks). each Income truck has a table of different products to unload and they do on pairs, so they send the product to 4 queues. Each queue has a dispatcher with an operator assigned to it. The output of the products follows the same scheme, 4 output queues that each serves to two possible client trucks, and each output truck is gonna carry a single type of product.

1712783353800.png


I had the model with simple connections but I wan't implement it using task sequence but I just can't figure out how should i do it...

I adjunct the model working and the poor try I made of getting it to work

cross-docking-case1.fsm
cross-docking-case1-processflow.fsm

FlexSim 23.0.15
process flow tasksequence
· 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.

Joerg Vogel avatar image Joerg Vogel commented ·
Process Flow is a logic level. You can do almost everything in this logic level. And you have to do it all by yourself. In your 3D model you use several automatic features:
  • Choose a taskexecuter by center port connection,
  • Load from same loadstation,
  • Capacity of Taskexecuter,
  • transport to a destination object.

You start in your process Flow with an item to load. Please use global list instead of a local list, because you find entries in the model tree.

You know about an item a value of label Type and Object where it is by property up. You need data for a destination by type or queue, a taskexecuter doing a transport job. Then you collect two items of same type or residing in same queue from a list by a single query or multiple queries in pull form list activities. You load both items from a run sub flow sequence of activities. You let travel a chosen taskexecuter to a destination and you unload both items in a sub flow.

0 Likes 0 ·
Jeanette F avatar image Jeanette F ♦♦ commented ·

Hi @Eduardo Perez, was Felix Möhlmann's answer helpful? If so, please click the "Accept" button at the bottom of their answer. Or if you still have questions, add a comment and we'll continue the conversation.

If we haven't heard back from you within 3 business days we'll auto-accept an answer, but you can always comment back to reopen your question.

0 Likes 0 ·

1 Answer

Felix Möhlmann avatar image
1 Like"
Felix Möhlmann answered

You can push the items to a global list directly in the "Use Transport" field. This has the added benefit that certain parameters, like the destination, are written to the item as labels. In the attached model I also write a reference to the input queue to a label, so the task executers can pull from 'their' queue.

1712839072127.png

In the Process Flow I create one token per task executer. These then pull two items from the list and transport them one by one. Note that because multiple items are pulled at a time, the resulting label is an array that contains all the pulled items. You need to load and unload them individually though. For this you can use a subflow and run through it once per entry in the array.

cross-docking-case1-processflow_example.fsm

To get closer to the 3d-model logic, you would need to make some further adjustments:

- Only pull a single item at first, then note down its type and try to pull additional items of the same type, so all pulled items will go to the same destination.

- Separate the load and unload into two subflows; first load all pulled items in a subflow, then travel to the destination queue, then unload all items in a subflow and finally travel back to the input queue.


5 |100000

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