question

Mike avatar image
0 Likes"
Mike asked Mike commented

Operator Task Priority

Hi there,

I would like to fix a few thing in the attached model.

1. Operator 3 should attend to when processor 1 or 2 are down and operator 1 and 2 are not available.

2. I want operator 1 and 2 do some animation as long as they are in busy state.

3. I notice that operator 1 is not attending to processor 1 even thought he is in idle state when the processor 1 is down.


Could someone help me fix these issues? Thanks a lot.


Operator3 task priority_V2.fsm

FlexSim 23.1.1
operator task priority
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 Mike commented

1. and 3.

You do not need the second dispatcher. It is (part of) the reason the first processor never gets fixed. When the first dispatcher can't pass the task to Operator1 or 2 the task will always go to dispatcher2. From there it can only go to Operator3, so even if one of the other two becomes available, they won't receive the task.

Furthermore, because there is no pause between Operator3 finishing a task sequence and a new one being given from the process flow, the second dispatcher never gets to pass the pending tasks on. Use a Breathe to make it possible to interrupt Operator 3 for a different task.

capture1.png

2. Check out the other parameters you can pass into the function when starting an animation. In this case you need to overwrite the default repeat type of the animation, so it plays more than once.

https://docs.flexsim.com/en/23.1/Reference/CodingInFlexSim/FlexScriptAPIReference/Data/Animation.html#Method-start


capture1.png (20.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.

Mike avatar image Mike commented ·

Hmm, would you mind to modify for me? Thanks a lot.

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

I am confident that you can manage to remove dispatcher2 and connect operator3 to the first one yourself.

The speed type can probably stay as the default, to repeat the animation you can use REPEAT_TYPE_TIME_AFTER_END which restarts the animation X seconds after it ends, where X is given as the fourth parameter in the function.

...animations["..."].start(SPEED_TYPE_DEFAULT, 0, REPEAT_TYPE_TIME_AFTER_END, 0);
0 Likes 0 ·
Mike avatar image Mike Felix Möhlmann commented ·

Ok. Thanks.

0 Likes 0 ·