Operator to continue to load before the processor finish

Operator to continue to load before the processor finish

howy3508
Not applicable
180 Views
7 Replies
Message 1 of 8

Operator to continue to load before the processor finish

howy3508
Not applicable

[ FlexSim 24.0.2 ]

I want the operator to not wait until the processor finishes and continue to load different part number from the QueueIn to the next QueueX based on the GlobalTable lookup.


1712846527550.png

1712846844088.png

1712846576916.png

If I do the followings, it errors out.

  1. Uncheck the "Dispatch and Wait" in the Create TS
  2. Uncheck the "Wait Until Complete"
    1. Travel to Item
    2. Load Item from QueueX
    3. Travel to QueueX
    4. Unload Item at QueueX

globaltabledemo


[GlobalList] 20240411 V0.fsm

0 Likes
Accepted solutions (1)
181 Views
7 Replies
Replies (7)
Message 2 of 8

moehlmann_fe
Enthusiast
Enthusiast
Accepted solution

Since you only have a single token right now that runs through the routing table row by row, the entries in the table necessarily have to happen in that exact sequence. To allow for the order of operations to vary, create one token per row and syncronize them through the list.

I modified your model so only QueueIn2 and the processors push to the list (when the item needs to be moved via Process Flow). I also changed the way the process time is read by assigning the row number of the current task to a label on the item.

globaltabledemohr-globallist-20240411-v0-fm.fsm

0 Likes
Message 3 of 8

howy3508
Not applicable

@Felix Möhlmann

Your way of having Pull from List to synchronize with the list is good!

I am having an issue when I change the source quantities. The Product5 quantity changes from 1 to 2 in the Source2.

1712940719428.png

The operator is taking first box(Product 5) to Queue5 and then second box(Product 5) to QueueOut2. It supposed to take Product5 to Queue5 and then to QueueOut2.

1712940698485.png

globaltabledemohr-globallist-20240411-v0-fm V0.fsm

0 Likes
Message 4 of 8

moehlmann_fe
Enthusiast
Enthusiast

The Process Flow was build on the assumption that each row in the routing table would only be used once. There is no logic in place that dictates that a "Product5" item needs to always use the first row first.

A better approach then might be to create one token per item that enters the input queue. This token then gets the first row for that product type from the table and manages the entire process until the item enters the output queue. To that end, I added an additional column that denotes which row follows the current one.

globaltabledemohr-globallist-20240411-v0-fm-v0_1.fsm

0 Likes
Message 5 of 8

howy3508
Not applicable

Hi Felix, @Felix Möhlmann


I ran into another issue if I add more destination to Product5 on Row 2 in the GlobalTable2_Routing.

1713204304818.png

Now the item just go back and fore the processor and the queue itself now.

globaltabledemohr-globallist-20240415-v0-fm-v0_1.fsm

0 Likes
Message 6 of 8

moehlmann_fe
Enthusiast
Enthusiast

Well, that is what you have currently entered in the table. The next row after the 4th is set to be the 4th, same for the 6th and 8th.

If you want less work when changing the table you could instead always increment the row by one and stop the loop when the "ItemName" column doesn't match the item's name anymore. (As long as the entries are always in the correct order.)

globaltabledemohr-globallist-20240415-v0-fm-v0-2.fsm

0 Likes
Message 7 of 8

howy3508
Not applicable
This is a simple and efficient way to handle this issue. Thank you for your support!
0 Likes
Message 8 of 8

Jeanette_Fullmer
Community Manager
Community Manager

Hi @Howard, 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