|
@@ -516,30 +516,51 @@ namespace Venus_RT.Modules
|
|
|
{
|
|
|
ModuleName target = ModuleHelper.Converter(args[0].ToString());
|
|
|
int slot = (int)args[1];
|
|
|
-
|
|
|
- if (ModuleHelper.IsLoadPort(target))
|
|
|
+ if (seTM != null && VCE != null)
|
|
|
{
|
|
|
- LOG.Write(eEvent.WARN_ROUTER, "System", string.Format("Wafer already at LoadPort {0} {1}, return operation is not valid", target.ToString(), slot + 1));
|
|
|
- return false;
|
|
|
+ if (ModuleHelper.IsVCE(target))
|
|
|
+ {
|
|
|
+ LOG.Write(eEvent.WARN_ROUTER, "System", string.Format("Wafer already at vce {0} {1}, return operation is not valid", target.ToString(), slot + 1));
|
|
|
+ return false;
|
|
|
+ }
|
|
|
+ WaferInfo wafer = WaferManager.Instance.GetWafer(target,slot);
|
|
|
+ if (wafer.IsEmpty)
|
|
|
+ {
|
|
|
+ LOG.Write(eEvent.WARN_ROUTER, "System", string.Format("No wafer at {0} {1}, return operation is not valid", target.ToString(), slot + 1));
|
|
|
+ return false;
|
|
|
+ }
|
|
|
+ return CheckToPostMessage((int)MSG.SEMoveWafer,
|
|
|
+ target, slot,
|
|
|
+ (ModuleName)wafer.OriginStation, wafer.OriginSlot,
|
|
|
+ false, 0, false, 0, "Blade1");
|
|
|
}
|
|
|
-
|
|
|
- if (!WaferManager.Instance.IsWaferSlotLocationValid(target, slot))
|
|
|
+ else
|
|
|
{
|
|
|
- LOG.Write(eEvent.WARN_ROUTER, "System", string.Format("Invalid position,{0},{1}", target.ToString(), slot.ToString()));
|
|
|
- return false;
|
|
|
- }
|
|
|
+ if (ModuleHelper.IsLoadPort(target))
|
|
|
+ {
|
|
|
+ LOG.Write(eEvent.WARN_ROUTER, "System", string.Format("Wafer already at LoadPort {0} {1}, return operation is not valid", target.ToString(), slot + 1));
|
|
|
+ return false;
|
|
|
+ }
|
|
|
|
|
|
- WaferInfo wafer = WaferManager.Instance.GetWafer(target, slot);
|
|
|
- if (wafer.IsEmpty)
|
|
|
- {
|
|
|
- LOG.Write(eEvent.WARN_ROUTER, "System", string.Format("No wafer at {0} {1}, return operation is not valid", target.ToString(), slot + 1));
|
|
|
- return false;
|
|
|
- }
|
|
|
+ if (!WaferManager.Instance.IsWaferSlotLocationValid(target, slot))
|
|
|
+ {
|
|
|
+ LOG.Write(eEvent.WARN_ROUTER, "System", string.Format("Invalid position,{0},{1}", target.ToString(), slot.ToString()));
|
|
|
+ return false;
|
|
|
+ }
|
|
|
|
|
|
- return CheckToPostMessage((int)MSG.MoveWafer,
|
|
|
- target, slot,
|
|
|
- (ModuleName)wafer.OriginStation, wafer.OriginSlot,
|
|
|
- false, 0, false, 0, "Blade1");
|
|
|
+ WaferInfo wafer = WaferManager.Instance.GetWafer(target, slot);
|
|
|
+ if (wafer.IsEmpty)
|
|
|
+ {
|
|
|
+ LOG.Write(eEvent.WARN_ROUTER, "System", string.Format("No wafer at {0} {1}, return operation is not valid", target.ToString(), slot + 1));
|
|
|
+ return false;
|
|
|
+ }
|
|
|
+
|
|
|
+ return CheckToPostMessage((int)MSG.MoveWafer,
|
|
|
+ target, slot,
|
|
|
+ (ModuleName)wafer.OriginStation, wafer.OriginSlot,
|
|
|
+ false, 0, false, 0, "Blade1");
|
|
|
+ }
|
|
|
+
|
|
|
}
|
|
|
|
|
|
public PMEntity GetPM(ModuleName mod)
|