question

Bryan Quiros avatar image
0 Likes"
Bryan Quiros asked Jason Lightfoot commented

Operator Task Assignment During Breaks

I am currently working on a model where 3 operators (OP 1, OP 2, and OP 3) manage two production lines with red and blue machines. Presently, during break times for Operator 3, Operators 1 and 2 take over the respective lines.


However, I am trying to optimize the system by having Operator 3 handle tasks for Line 1 when Operator 1 is on break and Line 2 when Operator 2 is on break. I've experimented with additional dispatchers and break times, but it's becoming more complex.


I have attached the file for your reference. Could you please provide suggestions or insights on how I can achieve this task assignment without complicating the model further?

WISP Cushion propuesta - Copy.fsm

FlexSim 23.2.0
break time
· 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.

Jason Lightfoot avatar image Jason Lightfoot ♦♦ commented ·

This model has its process flow under one of the operators - you should probably correct this by running this script.

Object procFlow=Model.find("Operator1/ProcessFlow");
procFlow.up=Model.find("Tools/ProcessFlow");
0 Likes 0 ·
Jason Lightfoot avatar image Jason Lightfoot ♦♦ commented ·

Hi @Bryan Quiros, was Jason Lightfoot'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

Jason Lightfoot avatar image
0 Likes"
Jason Lightfoot answered Jason Lightfoot commented

When you give an operator a preempting tasksequence to stop the current task it will look for somewhere to send the interrupted task on the operators output ports. So you can try connecting an output to DispatcherOP3. That in itself is not enough though, since this output also serves as an overflow if Operator1 is busy. So at reset, close the output of the operator; open it with the timetable Down Function, and close it again with the timetable Resume Function.

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

Bryan Quiros avatar image Bryan Quiros commented ·

Thank you. Im just wondering what you mean by "close the output of the operator"? Can I do that with a trigger function?

0 Likes 0 ·
Jason Lightfoot avatar image Jason Lightfoot ♦♦ Bryan Quiros commented ·
Yes - on the reset trigger:
closeoutput(current);

Then in the timetable's down function:

openoutput(downobject);  // before you stop the object

And in the resume function:

closeoutput(downobject);
0 Likes 0 ·
Bryan Quiros avatar image Bryan Quiros Jason Lightfoot ♦♦ commented ·

Could you please check the file? I created the trigger function for Operator 1 and inserted the timetables function as instructed but now Operator 1 wont go on breaks. I might have missed or misunderstood something.


WISP Cushion propuesta - Copy.fsm



0 Likes 0 ·
Show more comments