|
@@ -2,12 +2,12 @@
|
|
|
using Aitex.Core.RT.DataCenter;
|
|
|
using Aitex.Core.RT.Device;
|
|
|
using Aitex.Core.RT.Device.Unit;
|
|
|
-using Aitex.Core.RT.Fsm;
|
|
|
using Aitex.Core.RT.Log;
|
|
|
using Aitex.Core.RT.OperationCenter;
|
|
|
using Aitex.Core.RT.SCCore;
|
|
|
using Aitex.Core.UI.Control;
|
|
|
using Aitex.Core.Util;
|
|
|
+using Aitex.Core.RT.Fsm;
|
|
|
using MECF.Framework.Common.Device.Bases;
|
|
|
using MECF.Framework.Common.Equipment;
|
|
|
using MECF.Framework.Common.SubstrateTrackings;
|
|
@@ -246,7 +246,7 @@ namespace Venus_RT.Devices
|
|
|
_Chiller = DEVICE.GetDevice<AIRSYSChiller>($"{Module}.{VenusDevice.Chiller}");
|
|
|
}
|
|
|
}
|
|
|
- else
|
|
|
+ else
|
|
|
if (SC.GetValue<bool>($"{Module}.Chiller.EnableChiller") &&
|
|
|
SC.GetValue<int>($"{Module}.Chiller.CommunicationType") == (int)CommunicationType.RS485 &&
|
|
|
SC.GetValue<bool>($"{Module}.Chiller.ShareCOM"))
|
|
@@ -391,7 +391,7 @@ namespace Venus_RT.Devices
|
|
|
{ ValveType.MainPurge,_MainPurgeValve},
|
|
|
{ ValveType.SecondPurge, _SecondPurgeValve},
|
|
|
};
|
|
|
- SensorWithAlarm();
|
|
|
+ SensorWithAlarm();
|
|
|
}
|
|
|
#endregion
|
|
|
|
|
@@ -459,6 +459,20 @@ namespace Venus_RT.Devices
|
|
|
|
|
|
public override bool IsMfc8ValveOpened => _Mfc8Valve.Status;
|
|
|
|
|
|
+ public override double MFC1FeedBack => DEVICE.GetDevice<IoMfc>($"{Module}.MfcGas1").FeedBack;
|
|
|
+ public override double MFC2FeedBack => DEVICE.GetDevice<IoMfc>($"{Module}.MfcGas2").FeedBack;
|
|
|
+ public override double MFC3FeedBack => DEVICE.GetDevice<IoMfc>($"{Module}.MfcGas3").FeedBack;
|
|
|
+ public override double MFC4FeedBack => DEVICE.GetDevice<IoMfc>($"{Module}.MfcGas4").FeedBack;
|
|
|
+ public override double MFC5FeedBack => DEVICE.GetDevice<IoMfc>($"{Module}.MfcGas5").FeedBack;
|
|
|
+ public override double MFC6FeedBack => DEVICE.GetDevice<IoMfc>($"{Module}.MfcGas6").FeedBack;
|
|
|
+ public override double MFC7FeedBack => DEVICE.GetDevice<IoMfc>($"{Module}.MfcGas7").FeedBack;
|
|
|
+ public override double MFC8FeedBack => DEVICE.GetDevice<IoMfc>($"{Module}.MfcGas8").FeedBack;
|
|
|
+ public override double MFC9FeedBack => DEVICE.GetDevice<IoMfc>($"{Module}.MfcGas9").FeedBack;
|
|
|
+ public override double MFC10FeedBack => DEVICE.GetDevice<IoMfc>($"{Module}.MfcGas10").FeedBack;
|
|
|
+ public override double MFC11FeedBack => DEVICE.GetDevice<IoMfc>($"{Module}.MfcGas11").FeedBack;
|
|
|
+ public override double MFC12FeedBack => DEVICE.GetDevice<IoMfc>($"{Module}.MfcGas12").FeedBack;
|
|
|
+ public override double HeliumFeedBack => DEVICE.GetDevice<IoMfc>($"{Module}.MfcHe").FeedBack;
|
|
|
+
|
|
|
public bool IsMfc9ValveOpened => _Mfc9Valve.Status;
|
|
|
|
|
|
public bool IsMfc10ValveOpened => _Mfc10Valve.Status;
|
|
@@ -492,6 +506,14 @@ namespace Venus_RT.Devices
|
|
|
|
|
|
public override bool LinerDoorClosed => _PM_LinerDoor_Closed.Value;
|
|
|
|
|
|
+ public override float PendulumPressure => _pendulumValve.Pressure;
|
|
|
+
|
|
|
+ public override float PendulumPosition => _pendulumValve.Position;
|
|
|
+
|
|
|
+ public override float BiasForwardPower => _GeneratorBias.ForwardPower;
|
|
|
+
|
|
|
+ public override float MagnetIntensity => _Magnet.MagnetPowerIntensity;
|
|
|
+
|
|
|
public override bool SlitDoorClosed
|
|
|
{
|
|
|
get
|
|
@@ -878,8 +900,8 @@ namespace Venus_RT.Devices
|
|
|
_GasFinalValve.TurnValve(false, out _);
|
|
|
//_SoftPumpValve.TurnValve(false, out _);
|
|
|
_FastPumpValve.TurnValve(false, out _);
|
|
|
- _TurboPumpPumpingValve.TurnValve(false, out _);
|
|
|
- _TurboPumpPurgeValve.TurnValve(false, out _);
|
|
|
+ //_TurboPumpPumpingValve.TurnValve(false, out _);
|
|
|
+ //_TurboPumpPurgeValve.TurnValve(false, out _);
|
|
|
_GuageValve.TurnValve(false, out _);
|
|
|
_PurgeValve.TurnValve(false, out _);
|
|
|
_N2Valve.TurnValve(false, out _);
|
|
@@ -976,9 +998,9 @@ namespace Venus_RT.Devices
|
|
|
public override bool GeneratorBiasSetpower(float val)
|
|
|
{
|
|
|
if (_GeneratorBias == null) return false;
|
|
|
-
|
|
|
- _GeneratorBias.SetPower((ushort)val);
|
|
|
-
|
|
|
+
|
|
|
+ _GeneratorBias.SetPower((ushort)val);
|
|
|
+
|
|
|
return true;
|
|
|
}
|
|
|
|
|
@@ -1309,7 +1331,7 @@ namespace Venus_RT.Devices
|
|
|
{
|
|
|
if (on && (!TurboPumpInterlock || !IsCDA_OK || !IsTurboPumpAtSpeed || !IsWLK))
|
|
|
{
|
|
|
- LOG.Write(eEvent.ERR_PENDULUM_VALVE,Module, "Cannot open PendulumValve, as Interlock not arrival");
|
|
|
+ LOG.Write(eEvent.ERR_PENDULUM_VALVE, Module, "Cannot open PendulumValve, as Interlock not arrival");
|
|
|
return false;
|
|
|
}
|
|
|
return _pendulumValve.TurnValve(on);
|
|
@@ -1392,7 +1414,7 @@ namespace Venus_RT.Devices
|
|
|
|
|
|
public override bool EndPick()
|
|
|
{
|
|
|
- if (!SetLinerDoor(false, out string reason))
|
|
|
+ if (!SetLinerDoor(false, out string reason))
|
|
|
{
|
|
|
LOG.Write(eEvent.ERR_PM, Module, $"Set Liner Door Close failed:{reason}");
|
|
|
return false;
|
|
@@ -1404,17 +1426,7 @@ namespace Venus_RT.Devices
|
|
|
}
|
|
|
return true;
|
|
|
}
|
|
|
- public override bool EndPlaceIsOK()
|
|
|
- {
|
|
|
- return CheckSlitDoorClose() && LiftPinIsDown;
|
|
|
- }
|
|
|
- public override bool EndPickIsOK()
|
|
|
- {
|
|
|
- return CheckSlitDoorClose();
|
|
|
- }
|
|
|
-
|
|
|
- #endregion
|
|
|
- private void ALARM_Notify()
|
|
|
+ private void ALARM_Notify()
|
|
|
{
|
|
|
Singleton<RouteManager>.Instance.GetPM(Module).PostMsg(FSM_MSG.ALARM);
|
|
|
}
|
|
@@ -1428,18 +1440,28 @@ namespace Venus_RT.Devices
|
|
|
_GasBoxDoor.WarningAction += ALARM_Notify;
|
|
|
_GasBoxPressure.WarningAction += ALARM_Notify;
|
|
|
}
|
|
|
+ public override bool EndPlaceIsOK()
|
|
|
+ {
|
|
|
+ return CheckSlitDoorClose() && LiftPinIsDown;
|
|
|
+ }
|
|
|
+ public override bool EndPickIsOK()
|
|
|
+ {
|
|
|
+ return CheckSlitDoorClose();
|
|
|
+ }
|
|
|
+
|
|
|
+ #endregion
|
|
|
|
|
|
protected override void CheckPermanentInterlock()
|
|
|
{
|
|
|
- if (ProcessPressure > 950 && _GuageValve.SetPoint)
|
|
|
+ if (ChamberPressure > 950 && _GuageValve.SetPoint)
|
|
|
{
|
|
|
_GuageValve.TurnValve(false, out _);
|
|
|
- LOG.Write(eEvent.WARN_DEVICE_INFO, Module, $"Process pressure:{ProcessPressure} exceed 950 mtorr, Guage Valve (DO-31) closed automaticlly.");
|
|
|
+ LOG.Write(eEvent.WARN_DEVICE_INFO, Module, $"Process pressure:{ChamberPressure} exceed 950 mtorr, Guage Valve (DO-31) closed automaticlly.");
|
|
|
}
|
|
|
- if (ProcessPressure < 950 && !_GuageValve.SetPoint)
|
|
|
+ if (ChamberPressure < 950 && !_GuageValve.SetPoint)
|
|
|
{
|
|
|
_GuageValve.TurnValve(true, out _);
|
|
|
- LOG.Write(eEvent.WARN_DEVICE_INFO, Module, $"Process pressure:{ProcessPressure} exceed 950 mtorr, Guage Valve (DO-31) closed automaticlly.");
|
|
|
+ LOG.Write(eEvent.WARN_DEVICE_INFO, Module, $"Process pressure:{ChamberPressure} exceed 950 mtorr, Guage Valve (DO-31) closed automaticlly.");
|
|
|
}
|
|
|
}
|
|
|
public override void PMInError()
|
|
@@ -1449,6 +1471,7 @@ namespace Venus_RT.Devices
|
|
|
GeneratorBiasPowerOn(false);
|
|
|
OpenValve(ValveType.TurboPumpPumping, true);
|
|
|
OpenValve(ValveType.TurboPumpPurge, true);
|
|
|
+ _pendulumValve.SetPosition(1000);
|
|
|
OnOffSetESCHV(false);
|
|
|
}
|
|
|
|