question

Ramesh Yadav avatar image
0 Likes"
Ramesh Yadav asked Eric M commented

How to give priority for rework part and use different process times in processor

reworkpriority.fsmI am a Student and just started learning flexsim. I want to create 4 items (20%, 30% 40% 10%) distrubuted, these items will be created and wait in queue1 and follow each type processor(item 1 to processor 1) then they will again waits in queue2, after testing only 90% will be send to sink and remaining 10 will be send back to queue1 for rework. Rework part needs to given preference over others in queue. and Processor will take uniform (100, 120) sec for normal part and Uniform (120, 130) sec for rework parts.

Please help me whether I Have created this model right? Please give me your valuable suggestions.

FlexSim 7.5.4
processorreworkprocess time by caserank in queue
reworkpriority.fsm (17.4 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

Adrian Haws avatar image
0 Likes"
Adrian Haws answered Eric M commented

Ramesh,

Your model looks great. There are just a couple small changes that you need to make for your model's logic to work correctly.

In the "Process Time" for each processor, you have chosen the option for "Values By Case", which works for what you're trying to do. However, instead of calling the case getlabelnum(current, "l==1") you would want to use something like getlabelnum(item, "l") == 1. The parameter value "current" refers to the processor itself, not the item in the processor.

Another thing worth mentioning is that you are actually setting a label "I" to be equal to 1 for all items (in the FlowItem Bin), and incrementing that label value to a 2 for rework items. Either you will want to only set that label on rework items and make it a 1 or you'll need to change the case value above to be getlabelnum(item, "l") == 2, since that's the label value on the items that need rework.

One last thing to consider is that there is a chance for that 10% of items that needed rework to be sent back a second time for more rework. One thing you can do to prevent this is to change the "Sent to Port" option in Queue8 to be "Port By Case". Then set the case to be getlabel(item, "I"), then Case 1 for Port 1 and Case 2 for Port 2 (that is, if your label value for rework items is still 2). Then add a connection from Queue8 to a new processor with the same process time as Processor9, and connect the new processor to the Sink.

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