question

Oscar C13 avatar image
0 Likes"
Oscar C13 asked Jason Lightfoot edited

Problem with preemptions

Hello everybody,
I have a problem with mi moden and I tried to replicate it with this example.

While an activity that lasts 60 seconds is being executed (being in fr1), every 40 seconds the operators must go to FR2 and stay 5 seconds. When the operator finis the activity that he is doing in fr1 he has to go to fr3 but he have to keep in mind that every 40 secons he still has to go to fr2. fr2 has to go a totl of 2 times. I made a tracked variable so that it looks at the times it has already fone fr2 and make the save context with differente values. It gives me an error and it doesn´t work either.
Any ideas?

preempt.fsm

FlexSim 22.1.2
preemptiondispatch activitymilestone tasks
preempt.fsm (40.9 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

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

Please take a look at this post where the use of task sequences and milestone is outlined. This is a better way to preempt that the token context saving method you have tried.

This is the example model:

interruptionv2-jl3.fsm


· 9
5 |100000

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

Oscar C13 avatar image Oscar C13 commented ·

Thanks for your answer

The problem with the attached model in your answer is that it is not doing exactly what is requested. The 10 seconds are counted all the time, and not from the moment the operator arrives at queue2. Another problem is that it is an infinite loop, it does not stop when the operator has been in queue2 for 40 seconds.


On the other hand, I didn´t understand the use of milestones and how they can help.

0 Likes 0 ·
Jason Lightfoot avatar image Jason Lightfoot ♦♦ Oscar C13 commented ·

It was from another question (linked) so I didn't expect it to have the same parameters as yours.

It isn't in an infinite loop - the 'core system' task completes at 479 seconds, having been preempted away for the other 439 seconds.

It's an example of how to preempt a task executer using the best method. If you had any number of core tasks at different locations , the use of the milestone allows you to preempt to a different location and not worry about knowing where the operator needs to return to complete a task - the milestone does it for you. Change the timing and see how it works.

0 Likes 0 ·
Oscar C13 avatar image Oscar C13 Jason Lightfoot ♦♦ commented ·
Sorry really, but I don´t understand how your model works. What makes it stop at that time?


0 Likes 0 ·
Show more comments