question

Krish S avatar image
1 Like"
Krish S asked Ben Wilson commented

Operator work on 2 processors when one on a break

I have 2 processors with 2 operators. When one of them goes on a break I need the other operator to cover for him. I tried many things but it doesn't seem to work.

Operator Select.fsm

FlexSim 18.1.2
operatorsbreakdownflexsim 18.1.2operators assignmentbreaks
operator-select.fsm (35.2 KiB)
· 3
5 |100000

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

Ben Wilson avatar image Ben Wilson ♦♦ commented ·

Hi @Krish S, was Raja Sekaran's answer helpful? If so, please click the red "Accept" button on 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 unaccept and comment back to reopen your question.

1 Like 1 ·
tannerp avatar image tannerp commented ·

@Krish S,

Do you want the operator to "finish" the other operator's work? If so, you could try saving the existing task sequence assigned to the operator that goes on break, then send that task sequence back to the dispatcher.

Another thing to consider: If the other operator has his own work to do, which work should he prioritize? His own?

0 Likes 0 ·
Krish S avatar image Krish S tannerp commented ·

I want the operator to finish the work before he leaves. And the other operator should prioritize his own before moving to do the other person job.

0 Likes 0 ·

1 Answer

·
Raja Sekaran avatar image
2 Likes"
Raja Sekaran answered

Hi @Krish S

I have removed the dispatcher and connected and connect "Operator 1" as a center port connection 1 and connect "Operator 2" as a center port connection 2 for both the processors. Then I used the below code to assign the operator for "Processor 1" based on their state value.

int portnum = 1;
Variant stateVal = current.centerObjects[portnum].stats.state().valueString;
if(stateVal == "breakdown")
{
    return current.centerObjects[2];
}
else
{
    return current.centerObjects[1];
}

Below code to assign the operator for "Processor 2".

int portnum = 2;
Variant stateVal = current.centerObjects[portnum].stats.state().valueString;
if(stateVal == "breakdown")
{
    return current.centerObjects[1];
}
else
{
    return current.centerObjects[2];
}

Attached the model for your reference (Flexsim Version 19.0.0)

Let me know if this is what you are looking for.

assignOperator_v1.0.fsm

Thanks


5 |100000

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

Write an Answer

Hint: Notify or tag a user in this post by typing @username.

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