question

Howard avatar image
0 Likes"
Howard asked Howard commented

Proper way to setup rework priority

I want to setup a source to add rework to the queue pending to be processed.

I setup priority = 1 for the rework items from the source but it doesn't not get to transfer and processed first. How should I set this up?

Is it possible to set priority in a global table and use that higher priority items get transferred and processed first?

globaltabledemohr-globallist- Rework.fsm

FlexSim 24.0.2
priorityrework
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 Howard commented

First you need a way to differentiate between normal items and rework items. For this I added the "Rework" label to all items with a value of either 0 or 1.

You can now use this label in two different spots to give priority to the rework items.

- Make the priority of the transport task sequence created in Process Flow (Create TS) depend on the label, so rework items are moved first.

- Make Queue1-4 sort their items by the rework label whenever a new item enters (On Entry Trigger -> Control -> Sort By Expression)

I modified the arrival times of Source3 to show both cases in the attached model.

globaltabledemohr-globallist-rework_1.fsm


· 6
5 |100000

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

Howard avatar image Howard commented ·

How do I approach to set up rework arrival by percentage?

For example, Product 1 have 30% rework rate. I want to setup a rework part "ProductRW1" to have arrival at 30% of the time.

Currently, the arrival schedule will always have a ProductRW1 right after Product1.

Please let me know if this is a good approach or there is a better way to handle this.

globaltabledemohr-globallist-rework-2 (Rework in one arrival table).fsm1720836977365.png

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

Assign the Rework label by percentage in the On Creation trigger and adjust the Type if needed.

globaltabledemohr-globallist-rework-2-rework-in-on_1.fsm

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

This method seem to work but I saw a weird pattern when the rework % at 10%, 50%, 60%, 70%.

Assume the arrival source Qty=10, at 10% shouldn't there be 1 rework item and at 70% there should be 7 rework item?

Rework % # of Rework item
0% 0
10% 2
20% 2
30% 3
40% 4
50% 4
60% 4
70% 5
80% 8
90% 9
100% 10
0 Likes 0 ·
Show more comments
Howard avatar image Howard commented ·

For each of the rework item, is there a way to set the itemName to ProductRW1 for product1 for example? I need the itemName=ProductRW1 so it will pull the correct rework steps from the global table.


What does this code mean below?

item.Rework == 1 ? (10):(item.Type)

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

Use a code snippet to set the name based on the rework label. Though I would not use names to identify items. Typically labels like "Type" are used for that purpose.

if(item.Rework == 1) {
item.name = "ProductRW1"
}

For the expression, see the box on "Ternary Operator" here:

https://docs.flexsim.com/en/24.2/Reference/CodingInFlexSim/WritingLogic/WritingLogic.html#if

0 Likes 0 ·