|
@@ -639,7 +639,7 @@ namespace VirgoRT.Devices.EFEM
|
|
|
|
|
|
return _pm[mod - ModuleName.PMA];
|
|
return _pm[mod - ModuleName.PMA];
|
|
}
|
|
}
|
|
- private readonly R_TRIG _trigCDAError = new R_TRIG();
|
|
|
|
|
|
+
|
|
//----------------------------------Private Method-------------------------------
|
|
//----------------------------------Private Method-------------------------------
|
|
//
|
|
//
|
|
private void MsgOnEventUpdated(object sender, EventArgs e)
|
|
private void MsgOnEventUpdated(object sender, EventArgs e)
|
|
@@ -681,13 +681,15 @@ namespace VirgoRT.Devices.EFEM
|
|
this.CassetteDoor = baData1[15] ? LidState.Close : LidState.Open; // bit 15
|
|
this.CassetteDoor = baData1[15] ? LidState.Close : LidState.Open; // bit 15
|
|
|
|
|
|
// Post warning and alarm
|
|
// Post warning and alarm
|
|
- if (!baData1[0]) // Bit[0] ON=Normal, OFF=Abnormal
|
|
|
|
|
|
+ _trigVACError.CLK = !baData1[0];
|
|
|
|
+ if (_trigVACError.Q) // Bit[0] ON=Normal, OFF=Abnormal
|
|
{
|
|
{
|
|
EV.Notify(EFEMVacuumPressureError);
|
|
EV.Notify(EFEMVacuumPressureError);
|
|
EV.PostAlarmLog(ModuleName.EFEM.ToString(), "EFEM System vacuum source pressure low");
|
|
EV.PostAlarmLog(ModuleName.EFEM.ToString(), "EFEM System vacuum source pressure low");
|
|
Singleton<RouteManager>.Instance.EFEM.PostMsg(EfemEntity.MSG.Error);
|
|
Singleton<RouteManager>.Instance.EFEM.PostMsg(EfemEntity.MSG.Error);
|
|
}
|
|
}
|
|
- if (!baData1[1]) // Bit[1] ON=Normal, OFF=Abnormal
|
|
|
|
|
|
+ _trigAIRError.CLK = !baData1[1];
|
|
|
|
+ if (_trigAIRError.Q) // Bit[1] ON=Normal, OFF=Abnormal
|
|
{
|
|
{
|
|
if (!SC.ContainsItem("EFEM.IgnoreIonizerError") ||
|
|
if (!SC.ContainsItem("EFEM.IgnoreIonizerError") ||
|
|
!SC.GetValue<bool>("EFEM.IgnoreIonizerError"))
|
|
!SC.GetValue<bool>("EFEM.IgnoreIonizerError"))
|
|
@@ -704,7 +706,8 @@ namespace VirgoRT.Devices.EFEM
|
|
EV.PostAlarmLog(ModuleName.EFEM.ToString(), "EFEM System compressed air pressure low");
|
|
EV.PostAlarmLog(ModuleName.EFEM.ToString(), "EFEM System compressed air pressure low");
|
|
Singleton<RouteManager>.Instance.EFEM.PostMsg(EfemEntity.MSG.Error);
|
|
Singleton<RouteManager>.Instance.EFEM.PostMsg(EfemEntity.MSG.Error);
|
|
}
|
|
}
|
|
- if (!baData1[4]) // Bit[4] ON=Normal, OFF=Abnormal
|
|
|
|
|
|
+ _trigFlowError.CLK = !baData1[4];
|
|
|
|
+ if (_trigFlowError.Q) // Bit[4] ON=Normal, OFF=Abnormal
|
|
{
|
|
{
|
|
if (!SC.ContainsItem("EFEM.IgnoreWaterFlowError") ||
|
|
if (!SC.ContainsItem("EFEM.IgnoreWaterFlowError") ||
|
|
!SC.GetValue<bool>("EFEM.IgnoreWaterFlowError"))
|
|
!SC.GetValue<bool>("EFEM.IgnoreWaterFlowError"))
|
|
@@ -714,31 +717,36 @@ namespace VirgoRT.Devices.EFEM
|
|
Singleton<RouteManager>.Instance.EFEM.PostMsg(EfemEntity.MSG.Error);
|
|
Singleton<RouteManager>.Instance.EFEM.PostMsg(EfemEntity.MSG.Error);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
- if (!baData1[5]) // Bit[5] ON=Normal, OFF=Abnormal
|
|
|
|
|
|
+ _trigLeakageError.CLK = !baData1[5];
|
|
|
|
+ if (_trigLeakageError.Q) // Bit[5] ON=Normal, OFF=Abnormal
|
|
{
|
|
{
|
|
EV.Notify(EFEMLeakageAlarm);
|
|
EV.Notify(EFEMLeakageAlarm);
|
|
EV.PostAlarmLog(ModuleName.EFEM.ToString(), "EFEM Leakage alarm");
|
|
EV.PostAlarmLog(ModuleName.EFEM.ToString(), "EFEM Leakage alarm");
|
|
Singleton<RouteManager>.Instance.EFEM.PostMsg(EfemEntity.MSG.Error);
|
|
Singleton<RouteManager>.Instance.EFEM.PostMsg(EfemEntity.MSG.Error);
|
|
}
|
|
}
|
|
- if (!baData1[10]) // Bit[10] ON=Normal, OFF=Abnormal
|
|
|
|
|
|
+ _trigIonizerError.CLK = !baData1[10];
|
|
|
|
+ if (_trigIonizerError.Q) // Bit[10] ON=Normal, OFF=Abnormal
|
|
{
|
|
{
|
|
EV.Notify(EFEMIonizerAlarm);
|
|
EV.Notify(EFEMIonizerAlarm);
|
|
EV.PostAlarmLog(ModuleName.EFEM.ToString(), "EFEM Ionizer alarm");
|
|
EV.PostAlarmLog(ModuleName.EFEM.ToString(), "EFEM Ionizer alarm");
|
|
Singleton<RouteManager>.Instance.EFEM.PostMsg(EfemEntity.MSG.Error);
|
|
Singleton<RouteManager>.Instance.EFEM.PostMsg(EfemEntity.MSG.Error);
|
|
}
|
|
}
|
|
- if (!baData1[11]) // Bit[11] ON=Normal, OFF=Abnormal
|
|
|
|
|
|
+ _trigFFUError.CLK = !baData1[11];
|
|
|
|
+ if (_trigFFUError.Q) // Bit[11] ON=Normal, OFF=Abnormal
|
|
{
|
|
{
|
|
EV.Notify(EFEMFFUAlarm);
|
|
EV.Notify(EFEMFFUAlarm);
|
|
EV.PostAlarmLog(ModuleName.EFEM.ToString(), "FFU alarm");
|
|
EV.PostAlarmLog(ModuleName.EFEM.ToString(), "FFU alarm");
|
|
Singleton<RouteManager>.Instance.EFEM.PostMsg(EfemEntity.MSG.Error);
|
|
Singleton<RouteManager>.Instance.EFEM.PostMsg(EfemEntity.MSG.Error);
|
|
}
|
|
}
|
|
- if (!baData1[13]) // Bit[13] ON=RUN, OFF=Maintain
|
|
|
|
|
|
+ _trigMaintainError.CLK = !baData1[13];
|
|
|
|
+ if (_trigMaintainError.Q) // Bit[13] ON=RUN, OFF=Maintain
|
|
{
|
|
{
|
|
EV.Notify(EFEMOffline);
|
|
EV.Notify(EFEMOffline);
|
|
EV.PostAlarmLog(ModuleName.EFEM.ToString(), "EFEM switch to Maintain mode, HomeAll to recover");
|
|
EV.PostAlarmLog(ModuleName.EFEM.ToString(), "EFEM switch to Maintain mode, HomeAll to recover");
|
|
//Singleton<RouteManager>.Instance.EFEM.PostMsg(EfemEntity.MSG.ToInit);
|
|
//Singleton<RouteManager>.Instance.EFEM.PostMsg(EfemEntity.MSG.ToInit);
|
|
}
|
|
}
|
|
- if(!baData1[27])
|
|
|
|
|
|
+ _trigN2Error.CLK = !baData1[27];
|
|
|
|
+ if (_trigN2Error.Q)
|
|
{
|
|
{
|
|
if (!SC.ContainsItem("EFEM.IgnoreN2Error") ||
|
|
if (!SC.ContainsItem("EFEM.IgnoreN2Error") ||
|
|
!SC.GetValue<bool>("EFEM.IgnoreN2Error"))
|
|
!SC.GetValue<bool>("EFEM.IgnoreN2Error"))
|