In my model, I have machines with failures.
I wanted to set the availability on these machines. I wrote it on the init method but my model did not take into account this new availability. Then I wrote it on the reset and it was working.
I also noticed that when I set the availability on the init method, if the availability is going from 100% to 75%, the model does not take 75% into account but when the availability is going from 75% to 100%, the model takes into the new value (100%).
Can you please explain me why it was working the second time and not the first one (when I run my model, I reset and then start it).
Is there any other parameter that I have to set only on the reset method?
Thanks in advance for your answer.
Solved! Go to Solution.
My initial guess is that you need to set FailureActive to false, change the values and then set FailureActive to true again for each object.
Looks like this where obj is the object you want to change and Failure is the name of the failure profile:
obj.FailureActive := false;
obj.Failures.Failure.Availability := 75; obj.Failures.Failure.MTTR := 500; obj.FailureActive := true;
when you set the new availability the first failure event is already computed.
Only when this event is executed your new setting will become active.
The suggestion from verbalins is great to solve this.
When you switch off failures the existing event is deleted.
Then you apply your new setting.
When you now switch on failures again the new settings are used.
Thank you verbalins and Ralf for your answers.
In fact, the suggestion from verbalins solves the problem.
But I still do not really understand why this is doing so. When the availability is going from 75% to 100%, if the first failure event is already computed, this means that a failure will happen and then once this event is executed, the new setting will become active (the new availability will be 100% - so no more failure will happen). In this case, at the end, I will notice one failure. But in reality no failure happened.
You're right, this is a special case.
Setting the availability to 100% in fact turns off failures. So all events will be deleted.