Procházet zdrojové kódy

1. 增加autounload配置项
2. 去除autounload后自动offline
3. 增加TM.ChamberPressure,VCEA.ChamberPressure,VCEB.ChamberPressure用于压力的历史数据查询

zhouhr před 1 měsícem
rodič
revize
4fd3496043

+ 3 - 2
Mars/EfemDualRT/Config/System.sccfg

@@ -7,9 +7,9 @@
     <config default="15" name="ATMProcessDelayTime" description="ATM Process Delay Time" max="999" min="10" paramter="" tag="" unit="" type="Integer" />
     <config default="false" name="IsCycleMode" description="Is Cycle Mode" max="" min="" paramter="" tag="" unit="" type="Bool" />
     <config default="LotCount" name="CycleBy" description="Cycle By LotCount or WaferCount" max="0" min="0" paramter="LotCount;WaferCount" tag="ReadOnlySelection" unit="" type="String"  visible="false"/>
-    <config default="3" name="CycleCount" description="Cycle Lot Count" max="999999" min="1" paramter="" tag="" unit="" type="Integer" />
+    <config default="1" name="CycleCount" description="Cycle Lot Count" max="999999" min="1" paramter="" tag="" unit="" type="Integer" />
     <config default="25" name="CycleWaferCount" description="Cycle Wafer Count" max="999999" min="1" paramter="" tag="" unit="" type="Integer"  visible="false"/>
-    <config default="true" name="IsSmartControlPressure" description="True:Smart Control,False: Pump Base Pressure" max="" min="" paramter="" tag="" unit="" type="Bool" />
+    <config default="false" name="IsSmartControlPressure" description="True:Smart Control,False: Pump Base Pressure" max="" min="" paramter="" tag="" unit="" type="Bool" />
     <config default="1500" name="PMControlPressureCheckPoint" description="PM Control Pressure Check Point" max="5000" min="0" paramter="" tag="" unit="mTorr" type="Integer"/>
     <config default="800" name="PMControlPressureTarget" description="PM Control Pressure Target" max="5000" min="0" paramter="" tag="" unit="mTorr" type="Integer"/>
     <config default="false" name="BypassInterlock" description="Bypass Interlock" max="0" min="0" paramter="" tag="" unit="" type="Bool" visible="false"/>
@@ -21,6 +21,7 @@
     <config default="90" name="LogsSaveDays" description="Log文件保留天数" max="365" min="10" paramter="" tag="" unit="" type="Integer" />
     <config default="false" name="IsEnableCompressLogFileFunc" description="启用压缩log文件功能" max="0" min="0" paramter="" tag="" unit="" type="Bool" />
     <config default="100" name="SingleLogFileMaxSize" description="单个log文件最大字节数(MB),大于将被压缩" max="1000" min="50" paramter="" tag="" unit="" type="Integer" />
+    <config default="false" name="IsAutoUnLoad" description="是否跑完货后VCE自动unload" max="0" min="0" paramter="" tag="" unit="" type="Bool"/>
 
 
     <config default="false" name="IsServiceControlMode" description="Is Service Control Mode" max="" min="" paramter="" tag="" unit="" type="Bool" visible="false" />

+ 1 - 1
Mars/EfemDualRT/Equipments/Systems/EfemDualEquipment.cs

@@ -137,7 +137,7 @@ namespace EfemDualRT.Equipments.Systems
         {
             if (ModuleHelper.IsVCE(target))
             {
-                OP.DoOperation($"{target}.SetOffline");
+                //OP.DoOperation($"{target}.SetOffline");
                 Modules[target].PostMsg(VceMSG.SafeUnload);
             }
         }

+ 6 - 1
Mars/EfemDualSchedulerLib/VCEDualAutoTransfer.cs

@@ -90,6 +90,7 @@ namespace EfemDualSchedulerLib
         private const string LogSource = "Scheduler";
         private SchedulerFACallback _faCallback;
         private SchedulerDBCallback _dbCallback;
+        private bool IsAutoUnLoad = false;
 
         private Dictionary<string, List<MovingStatus>> _VceModules = new Dictionary<string, List<MovingStatus>>();
         private RState _cycleState = RState.Init;
@@ -140,6 +141,10 @@ namespace EfemDualSchedulerLib
                 IsParallelMode = true;
             }
 
+            IsAutoUnLoad = SC.GetValueOrDefault<bool>("System.Scheduler.IsRunInParallelMode");
+
+
+
             _action = ActionAfterJobDone;
 
             _faCallback = new SchedulerFACallback();
@@ -978,7 +983,7 @@ namespace EfemDualSchedulerLib
             //逻辑说明:最后一个cycle中出现complete将其vcemodule controljob等从中间剥离
             
             //未整体cycle 但是一边已经做完
-            if (!_isCycleMode && CycleIndex == CycleNum && _lstControlJobs.Exists(x=> x.State == EnumControlJobState.Completed))
+            if (!_isCycleMode && CycleIndex == CycleNum && IsAutoUnLoad && _lstControlJobs.Exists(x=> x.State == EnumControlJobState.Completed))
             {
                 _lstControlJobs.FindAll(x => x.State == EnumControlJobState.Completed).ForEach(ctrljob =>
                 {

+ 1 - 1
Mars/EfemDualSimulator/App.config

@@ -5,7 +5,7 @@
     <section name="customSettings" type="System.Configuration.NameValueSectionHandler"/>
   </configSections>
   <customSettings>
-    <add key="SimulatorType" value="0"/>
+    <add key="SimulatorType" value="1"/>
   </customSettings>
   <startup>
     <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5.2"/>

+ 3 - 0
Mars/JetMainframe/Devices/HongHuTM.cs

@@ -442,6 +442,9 @@ namespace JetMainframe.Devices
             DATA.Subscribe($"{Module}.LeftVCEChamberPressure", () => LeftVCEPressure);
             DATA.Subscribe($"{Module}.RightVCEChamberPressure", () => RightVCEPressure);
             DATA.Subscribe($"{Module}.TMChamberPressure", () => TMPressure);
+            DATA.Subscribe($"VCEA.ChamberPressure", () => LeftVCEPressure);
+            DATA.Subscribe($"VCEB.ChamberPressure", () => RightVCEPressure);
+            DATA.Subscribe($"{Module}.ChamberPressure", () => TMPressure);
 
 
             return true;