|
@@ -19,13 +19,13 @@ namespace Venus_RT.Devices
|
|
|
public abstract bool IsLidClosed { get; }
|
|
|
public abstract bool IsLidLoadlockClosed { get; }
|
|
|
|
|
|
- public abstract bool IsSlitDoorClosed { get; }
|
|
|
+ public abstract bool IsSlitDoorClosed { get; }
|
|
|
|
|
|
public abstract bool IsPumpRunning { get; }
|
|
|
public abstract bool IsTurboPumpRunning { get; }
|
|
|
public abstract bool IsTurboPumpAtSpeed { get; }
|
|
|
public abstract float TurboPumpSpeed { get; }
|
|
|
- public abstract bool HasPumpError { get; }
|
|
|
+ public abstract bool HasPumpError { get; }
|
|
|
|
|
|
public abstract bool HasTurboPumpError { get; }
|
|
|
|
|
@@ -114,6 +114,8 @@ namespace Venus_RT.Devices
|
|
|
public abstract bool PendulumValveIsOpen();
|
|
|
|
|
|
public abstract double LoadlockPressure { get; }
|
|
|
+
|
|
|
+ public virtual bool WaferIsDown { get; }
|
|
|
public double TMPressure { get { return Singleton<RouteManager>.Instance.TM.TMPressure; } }
|
|
|
|
|
|
public bool IsTMATM { get { return Singleton<RouteManager>.Instance.TM.IsTMATM; } }
|
|
@@ -122,20 +124,20 @@ namespace Venus_RT.Devices
|
|
|
|
|
|
|
|
|
private readonly JetEPDBase _epdClient;
|
|
|
- public List<string> EPDCfgList => _epdClient?.CFGFileList;
|
|
|
+ public List<string> EPDCfgList => _epdClient?.CFGFileList;
|
|
|
|
|
|
|
|
|
- public bool EPDCaptured => _epdClient.Captured;
|
|
|
- public bool EPDConnected => _epdClient.IsEPDConnected;
|
|
|
+ public bool EPDCaptured => _epdClient.Captured;
|
|
|
+ public bool EPDConnected => _epdClient.IsEPDConnected;
|
|
|
|
|
|
- public JetChamber ChamberType= JetChamber.None;
|
|
|
+ public JetChamber ChamberType = JetChamber.None;
|
|
|
|
|
|
- public JetPMBase(ModuleName module) : base(module.ToString(), module.ToString(), module.ToString(), module.ToString())
|
|
|
+ public JetPMBase(ModuleName module) : base(module.ToString(), module.ToString(), module.ToString(), module.ToString())
|
|
|
{
|
|
|
Module = module;
|
|
|
|
|
|
_epdClient = DEVICE.GetDevice<JetEPDBase>($"{Module}.{VenusDevice.EndPoint}");
|
|
|
- ChamberType= (JetChamber)SC.GetValue<int>($"{Module}.ChamberType");
|
|
|
+ ChamberType = (JetChamber)SC.GetValue<int>($"{Module}.ChamberType");
|
|
|
DATA.Subscribe($"{Name}.ForelinePressure", () => ForelinePressure);
|
|
|
DATA.Subscribe($"{Name}.ProcessHighPressure", () => ProcessHighPressure);
|
|
|
DATA.Subscribe($"{Name}.ProcessLowPressure", () => ProcessLowPressure);
|
|
@@ -164,7 +166,7 @@ namespace Venus_RT.Devices
|
|
|
|
|
|
DATA.Subscribe($"{Name}.GetPVPosition", () => GetPVPosition());
|
|
|
|
|
|
- DATA.Subscribe($"{Name}.ESCHV.Temp", () => CoolantOutletTempFB);
|
|
|
+ DATA.Subscribe($"{Name}.ESCHV.Temp", () => CoolantOutletTempFB);
|
|
|
DATA.Subscribe($"{Name}.Chiller.Temp", () => CoolantInletTempFB);
|
|
|
|
|
|
|
|
@@ -173,7 +175,8 @@ namespace Venus_RT.Devices
|
|
|
|
|
|
|
|
|
|
|
|
- OP.Subscribe($"{Module}.SetLiftPin", (cmd, args) => {
|
|
|
+ OP.Subscribe($"{Module}.SetLiftPin", (cmd, args) =>
|
|
|
+ {
|
|
|
if ((bool)args[0] == true)
|
|
|
{
|
|
|
return SetLiftPin(MovementPosition.Up, out _);
|
|
@@ -203,7 +206,8 @@ namespace Venus_RT.Devices
|
|
|
return true;
|
|
|
});
|
|
|
|
|
|
- OP.Subscribe($"{Module}.SetBRf", (cmd, args) => {
|
|
|
+ OP.Subscribe($"{Module}.SetBRf", (cmd, args) =>
|
|
|
+ {
|
|
|
|
|
|
var ison = (bool)args[1];
|
|
|
if (ison == true)
|
|
@@ -220,66 +224,79 @@ namespace Venus_RT.Devices
|
|
|
});
|
|
|
|
|
|
|
|
|
- OP.Subscribe($"{Module}.SetSlitDoor", (cmd, args) => {
|
|
|
+ OP.Subscribe($"{Module}.SetSlitDoor", (cmd, args) =>
|
|
|
+ {
|
|
|
SetSlitDoor((bool)args[0], out _);
|
|
|
return true;
|
|
|
});
|
|
|
|
|
|
- OP.Subscribe($"{Module}.SetESCHVIsOn", (cmd, args) => {
|
|
|
+ OP.Subscribe($"{Module}.SetESCHVIsOn", (cmd, args) =>
|
|
|
+ {
|
|
|
OnOffSetESCHV((bool)args[0]);
|
|
|
return true;
|
|
|
});
|
|
|
- OP.Subscribe($"{Module}.SetESCHV", (cmd, args) => {
|
|
|
+ OP.Subscribe($"{Module}.SetESCHV", (cmd, args) =>
|
|
|
+ {
|
|
|
SetESCClampVoltage((int)args[0]);
|
|
|
return true;
|
|
|
});
|
|
|
|
|
|
- OP.Subscribe($"{Module}.SetPVPostion", (cmd, args) => {
|
|
|
+ OP.Subscribe($"{Module}.SetPVPostion", (cmd, args) =>
|
|
|
+ {
|
|
|
SetPVPostion((int)args[0]);
|
|
|
return true;
|
|
|
});
|
|
|
|
|
|
- OP.Subscribe($"{Module}.SetPVPressure", (cmd, args) => {
|
|
|
+ OP.Subscribe($"{Module}.SetPVPressure", (cmd, args) =>
|
|
|
+ {
|
|
|
SetPVPressure((int)args[0]);
|
|
|
return true;
|
|
|
});
|
|
|
|
|
|
- OP.Subscribe($"{Module}.ClosePump", (cmd, args) => {
|
|
|
+ OP.Subscribe($"{Module}.ClosePump", (cmd, args) =>
|
|
|
+ {
|
|
|
TurnDryPump(false);
|
|
|
return true;
|
|
|
});
|
|
|
- OP.Subscribe($"{Module}.CloseTurboPump", (cmd, args) => {
|
|
|
+ OP.Subscribe($"{Module}.CloseTurboPump", (cmd, args) =>
|
|
|
+ {
|
|
|
TurnTurboPump(false);
|
|
|
return true;
|
|
|
});
|
|
|
- OP.Subscribe($"{Module}.ControlValve", (cmd, args) => {
|
|
|
+ OP.Subscribe($"{Module}.ControlValve", (cmd, args) =>
|
|
|
+ {
|
|
|
OpenValve((ValveType)((int)args[0]), (bool)args[1]);
|
|
|
return true;
|
|
|
});
|
|
|
|
|
|
- OP.Subscribe($"{Module}.TurnPendulumValve", (cmd, args) => {
|
|
|
+ OP.Subscribe($"{Module}.TurnPendulumValve", (cmd, args) =>
|
|
|
+ {
|
|
|
TurnPendulumValve((bool)args[0]);
|
|
|
return true;
|
|
|
});
|
|
|
|
|
|
- OP.Subscribe($"{Module}.HeatChiller", (cmd, args) => {
|
|
|
+ OP.Subscribe($"{Module}.HeatChiller", (cmd, args) =>
|
|
|
+ {
|
|
|
var chillerType = (ChillerType)Enum.Parse(typeof(ChillerType), args[0].ToString());
|
|
|
HeatChiller(chillerType, (float)args[1], (float)args[2]);
|
|
|
return true;
|
|
|
});
|
|
|
- OP.Subscribe($"{Module}.OnOffChiller", (cmd, args) => {
|
|
|
+ OP.Subscribe($"{Module}.OnOffChiller", (cmd, args) =>
|
|
|
+ {
|
|
|
var chillerType = (ChillerType)Enum.Parse(typeof(ChillerType), args[0].ToString());
|
|
|
var ison = Convert.ToBoolean(args[1]);
|
|
|
OnOffChiller(chillerType, ison);
|
|
|
return true;
|
|
|
});
|
|
|
- OP.Subscribe($"{Module}.WallChiller", (cmd, args) => {
|
|
|
+ OP.Subscribe($"{Module}.WallChiller", (cmd, args) =>
|
|
|
+ {
|
|
|
float value;
|
|
|
float.TryParse(args[0].ToString(), out value);
|
|
|
SetWallTCTemperature(value);
|
|
|
return true;
|
|
|
});
|
|
|
- OP.Subscribe($"{Module}.SetBacksideHeFlow", (cmd, args) => {
|
|
|
+ OP.Subscribe($"{Module}.SetBacksideHeFlow", (cmd, args) =>
|
|
|
+ {
|
|
|
double value;
|
|
|
double.TryParse(args[0].ToString(), out value);
|
|
|
SetBacksideHeFlow(value);
|
|
@@ -309,21 +326,21 @@ namespace Venus_RT.Devices
|
|
|
public abstract void OpenValve(ValveType vlvType, bool on);
|
|
|
|
|
|
public virtual void Monitor()
|
|
|
- {
|
|
|
-
|
|
|
+ {
|
|
|
+
|
|
|
}
|
|
|
public virtual bool Initialize()
|
|
|
{
|
|
|
return true;
|
|
|
}
|
|
|
public virtual void Terminate()
|
|
|
- {
|
|
|
-
|
|
|
+ {
|
|
|
+
|
|
|
}
|
|
|
|
|
|
public virtual void Reset()
|
|
|
- {
|
|
|
-
|
|
|
+ {
|
|
|
+
|
|
|
}
|
|
|
|
|
|
public abstract bool OnOffSetESCHV(bool on);
|
|
@@ -339,7 +356,11 @@ namespace Venus_RT.Devices
|
|
|
|
|
|
public abstract void Home();
|
|
|
|
|
|
- public abstract bool SetLiftPin(MovementPosition dirt, out string reason);
|
|
|
+ public virtual bool SetLiftPin(MovementPosition dirt, out string reason)
|
|
|
+ {
|
|
|
+ reason = "";
|
|
|
+ return false;
|
|
|
+ }
|
|
|
|
|
|
public abstract bool SetSlitDoor(bool open, out string reason);
|
|
|
|
|
@@ -364,9 +385,9 @@ namespace Venus_RT.Devices
|
|
|
|
|
|
public abstract int GetPVPosition();
|
|
|
|
|
|
- public abstract void HeatChiller(ChillerType chillerType,double value, double offset);
|
|
|
+ public abstract void HeatChiller(ChillerType chillerType, double value, double offset);
|
|
|
|
|
|
- public abstract void OnOffChiller(ChillerType chillerType,bool onoff);
|
|
|
+ public abstract void OnOffChiller(ChillerType chillerType, bool onoff);
|
|
|
|
|
|
public abstract bool CheckChillerStatus();
|
|
|
|
|
@@ -406,7 +427,7 @@ namespace Venus_RT.Devices
|
|
|
_epdClient?.RecipeStart(recipe);
|
|
|
}
|
|
|
catch
|
|
|
- {
|
|
|
+ {
|
|
|
}
|
|
|
}
|
|
|
|
|
@@ -417,9 +438,9 @@ namespace Venus_RT.Devices
|
|
|
_epdClient?.RecipeStop();
|
|
|
}
|
|
|
catch
|
|
|
- {
|
|
|
+ {
|
|
|
}
|
|
|
-
|
|
|
+
|
|
|
}
|
|
|
|
|
|
public void EPDStepStart(string cfgName, int step)
|
|
@@ -429,7 +450,7 @@ namespace Venus_RT.Devices
|
|
|
_epdClient?.StepStart(cfgName, step);
|
|
|
}
|
|
|
catch
|
|
|
- {
|
|
|
+ {
|
|
|
}
|
|
|
}
|
|
|
|
|
@@ -440,7 +461,7 @@ namespace Venus_RT.Devices
|
|
|
_epdClient?.StepStop();
|
|
|
}
|
|
|
catch
|
|
|
- {
|
|
|
+ {
|
|
|
}
|
|
|
}
|
|
|
|
|
@@ -452,6 +473,42 @@ namespace Venus_RT.Devices
|
|
|
|
|
|
public abstract bool SetBacksideHeThreshold(int nMin, int nMax);
|
|
|
|
|
|
-
|
|
|
+ public virtual bool PreparePlace()
|
|
|
+ {
|
|
|
+ return false;
|
|
|
+ }
|
|
|
+ public virtual bool PreparePick()
|
|
|
+ {
|
|
|
+ return false;
|
|
|
+ }
|
|
|
+ public virtual bool PreparePlaceIsOK()
|
|
|
+ {
|
|
|
+ return false;
|
|
|
+ }
|
|
|
+ public virtual bool PreparePickIsOK()
|
|
|
+ {
|
|
|
+ return false;
|
|
|
+ }
|
|
|
+ public virtual bool EndPlace()
|
|
|
+ {
|
|
|
+ return false;
|
|
|
+ }
|
|
|
+ public virtual bool EndPlaceIsOK()
|
|
|
+ {
|
|
|
+ return false;
|
|
|
+ }
|
|
|
+ public virtual bool EndPick()
|
|
|
+ {
|
|
|
+ return false;
|
|
|
+ }
|
|
|
+ public virtual bool EndPickIsOK()
|
|
|
+ {
|
|
|
+ return false;
|
|
|
+ }
|
|
|
+ public virtual bool HighTemperatureHeaterGotoPosition(HighTemperatureHeaterPosition highTemperatureHeaterPosition)
|
|
|
+ {
|
|
|
+ return false;
|
|
|
+ }
|
|
|
+
|
|
|
}
|
|
|
}
|