|  | @@ -140,6 +140,20 @@ void IoHeater::initialize()
 | 
	
		
			
				|  |  |  		else {
 | 
	
		
			
				|  |  |  			op->setTimes(device->getAlarmCondition()->alarmDelayDetectTimeS * 1000, TIME_STABLE_DEFAULT, device->getAlarmCondition()->alarmCheckTime, TIME_USE_LAST);
 | 
	
		
			
				|  |  |  		}
 | 
	
		
			
				|  |  | +		RecipeContext* context = RecipeContext::GetInstance();
 | 
	
		
			
				|  |  | +		if (context != NULL) {
 | 
	
		
			
				|  |  | +			if (context->currentStepNo > 0) {
 | 
	
		
			
				|  |  | +				double space = device->getWaferTemperatureSetPoint() - device->backupSetPoint;
 | 
	
		
			
				|  |  | +				if ((AlarmCondition*)device->backupAlarmCondtion == device->getAlarmCondition() &&
 | 
	
		
			
				|  |  | +					IS_ZERO(space)) {
 | 
	
		
			
				|  |  | +					//继续上一个alarm condition的计时
 | 
	
		
			
				|  |  | +					op->loadElapsedTime();
 | 
	
		
			
				|  |  | +				}
 | 
	
		
			
				|  |  | +			}
 | 
	
		
			
				|  |  | +			device->backupSetPoint = device->getWaferTemperatureSetPoint();
 | 
	
		
			
				|  |  | +			device->backupAlarmCondtion = device->getAlarmCondition();
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +		}
 | 
	
		
			
				|  |  |  		return OperatorStatusEnum::RUNNING;
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  		});
 | 
	
	
		
			
				|  | @@ -191,6 +205,7 @@ void IoHeater::initialize()
 | 
	
		
			
				|  |  |  		if (device->getAlarmCondition() == NULL) {
 | 
	
		
			
				|  |  |  			return OperatorStatusEnum::SUCCESS;
 | 
	
		
			
				|  |  |  		}
 | 
	
		
			
				|  |  | +		op->saveElapsedTime();//保存alarm condition的时间消耗,以便下一个step继续使用
 | 
	
		
			
				|  |  |  		if (IS_ZERO(device->getAlarmCondition()->alarmHigh) || IS_ZERO(device->getAlarmCondition()->alarmLow)) {
 | 
	
		
			
				|  |  |  			return OperatorStatusEnum::SUCCESS;
 | 
	
		
			
				|  |  |  		}
 |