|
@@ -140,6 +140,20 @@ void IoHeater::initialize()
|
|
else {
|
|
else {
|
|
op->setTimes(device->getAlarmCondition()->alarmDelayDetectTimeS * 1000, TIME_STABLE_DEFAULT, device->getAlarmCondition()->alarmCheckTime, TIME_USE_LAST);
|
|
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;
|
|
return OperatorStatusEnum::RUNNING;
|
|
|
|
|
|
});
|
|
});
|
|
@@ -191,6 +205,7 @@ void IoHeater::initialize()
|
|
if (device->getAlarmCondition() == NULL) {
|
|
if (device->getAlarmCondition() == NULL) {
|
|
return OperatorStatusEnum::SUCCESS;
|
|
return OperatorStatusEnum::SUCCESS;
|
|
}
|
|
}
|
|
|
|
+ op->saveElapsedTime();//保存alarm condition的时间消耗,以便下一个step继续使用
|
|
if (IS_ZERO(device->getAlarmCondition()->alarmHigh) || IS_ZERO(device->getAlarmCondition()->alarmLow)) {
|
|
if (IS_ZERO(device->getAlarmCondition()->alarmHigh) || IS_ZERO(device->getAlarmCondition()->alarmLow)) {
|
|
return OperatorStatusEnum::SUCCESS;
|
|
return OperatorStatusEnum::SUCCESS;
|
|
}
|
|
}
|