Commit 1d3f1afa authored by Georgios Dagkakis's avatar Georgios Dagkakis Committed by Jérome Perrin

correction on how blockage is calculated now that postInterruptionActions is...

correction on how blockage is calculated now that postInterruptionActions is invoked also when the object was interrupted by off-shift period
parent e5b4f635
...@@ -84,7 +84,7 @@ class CoreObject(object): ...@@ -84,7 +84,7 @@ class CoreObject(object):
self.downTimeProcessingCurrentEntity=0 #holds the time that the machine was down while self.downTimeProcessingCurrentEntity=0 #holds the time that the machine was down while
#processing the current entity #processing the current entity
self.downTimeInTryingToReleaseCurrentEntity=0 #holds the time that the object was down while trying self.downTimeInTryingToReleaseCurrentEntity=0 #holds the time that the object was down while trying
#to release the current entity #to release the current entity . This might be due to failure, off-shift, etc
self.downTimeInCurrentEntity=0 #holds the total time that the self.downTimeInCurrentEntity=0 #holds the total time that the
#object was down while holding current entity #object was down while holding current entity
self.timeLastEntityLeft=0 #holds the last time that an entity left the object self.timeLastEntityLeft=0 #holds the last time that an entity left the object
...@@ -211,9 +211,7 @@ class CoreObject(object): ...@@ -211,9 +211,7 @@ class CoreObject(object):
def addBlockage(self): def addBlockage(self):
self.totalTimeInCurrentEntity=self.env.now-self.timeLastEntityEntered self.totalTimeInCurrentEntity=self.env.now-self.timeLastEntityEntered
self.totalTimeWaitingForOperator += self.operatorWaitTimeCurrentEntity self.totalTimeWaitingForOperator += self.operatorWaitTimeCurrentEntity
if self.timeLastEntityEnded<self.timeLastShiftStarted: blockage=self.env.now-(self.timeLastEntityEnded+self.downTimeInTryingToReleaseCurrentEntity)
self.offShiftTimeTryingToReleaseCurrentEntity=self.timeLastShiftStarted-self.timeLastShiftEnded
blockage=self.env.now-(self.timeLastEntityEnded+self.downTimeInTryingToReleaseCurrentEntity+self.offShiftTimeTryingToReleaseCurrentEntity)
self.totalBlockageTime+=blockage self.totalBlockageTime+=blockage
# ======================================================================= # =======================================================================
......
...@@ -881,8 +881,8 @@ class Machine(CoreObject): ...@@ -881,8 +881,8 @@ class Machine(CoreObject):
elif len(self.getActiveObjectQueue())==0 or self.waitToDispose: elif len(self.getActiveObjectQueue())==0 or self.waitToDispose:
self.totalOffShiftTime+=self.env.now-self.timeLastShiftEnded self.totalOffShiftTime+=self.env.now-self.timeLastShiftEnded
# we add the value only if it hasn't already been added # we add the value only if it hasn't already been added
if((mightBeBlocked) and (activeObject.nameLastEntityEnded==activeObject.nameLastEntityEntered) and (not alreadyAdded)): if((mightBeBlocked) and (activeObject.nameLastEntityEnded==activeObject.nameLastEntityEntered) and (not alreadyAdded)):
activeObject.totalBlockageTime+=(self.env.now-activeObject.timeLastEntityEnded)-(self.env.now-activeObject.timeLastShiftEnded)-offShiftTimeInCurrentEntity activeObject.totalBlockageTime+=(self.env.now-activeObject.timeLastEntityEnded)-offShiftTimeInCurrentEntity
#Machine was idle when it was not in any other state #Machine was idle when it was not in any other state
activeObject.totalWaitingTime=MaxSimtime-activeObject.totalWorkingTime-activeObject.totalBlockageTime-activeObject.totalFailureTime-activeObject.totalLoadTime-activeObject.totalSetupTime-self.totalOffShiftTime activeObject.totalWaitingTime=MaxSimtime-activeObject.totalWorkingTime-activeObject.totalBlockageTime-activeObject.totalFailureTime-activeObject.totalLoadTime-activeObject.totalSetupTime-self.totalOffShiftTime
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment