Browse Source

Venuse DE routine update &fix config can't hide bugs

hecl 1 year ago
parent
commit
ea59788c5a

+ 8 - 0
Venus/Venus_MainPages/Unity/SystemConfigProvider.cs

@@ -102,6 +102,14 @@ namespace Venus_MainPages.Unity
                 {
                     XmlElement element = groupItem as XmlElement;
                     ConfigNode sc = new ConfigNode() { Path = item.Name };
+
+                    string strVisible = element.GetAttribute("visible");
+                    bool bVisible;
+                    if (!bool.TryParse(strVisible, out bVisible))
+                        bVisible = true;
+
+                    if (!bVisible)  //do not show the item if visible field is false
+                        continue;
                     BuildTree(element, sc, chambertype);
                     item.SubNodes.Add(sc);
                 }

+ 10 - 0
Venus/Venus_RT/Config/System.sccfg

@@ -492,6 +492,16 @@
 			<config default="1000" name="ChamberForelinePressureThreshold" nameView="Chamber Foreline Pressure Threshold" description="" max="10000" min="0" paramter="" tag="" unit="mtorr" type="Double" />
 			<config default="20" name="ChamberForelinePressureTimeout" nameView="Chamber Foreline Pressure Timeout" description="" max="3000" min="0" paramter="" tag="" unit="s" type="Integer" />
 		</configs>
+    <configs name="Magnet" nameView="Magnet" visible="false">
+      <config default="1" name="Magnetwareform" nameView="Magnet wareform" description="厂商, 0:SIN,1:Squre,2:Single" max="2" min="0" paramter="" tag="" unit="" type="Integer" visible="true"/>
+      <config default="0.25" name="MagentFieldRatio" nameView="Magent Field Ratio" description="" max="1" min="0" paramter="" tag="" unit="" type="Integer" visible="true"/>
+      <config default="4s" name="Magnetcycleperiod" nameView="Magnet cycle period" description="serial port name of pump" max="10" min="0" paramter="" tag="" unit="s" type="String" visible="true"/>
+      <config default="50" name="Magnet 1A output full scale" nameView="Magnet 1A output full scale" description="" max="100" min="50" paramter="" tag="" unit="gs" type="Double" visible="true"/>
+      <config default="50" name="Magnet 1B output full scale" nameView="Magnet 1B output full scale" description="" max="100" min="0" paramter="" tag="" unit="gs" type="Integer" visible="true" />
+      <config default="50" name="Magnet 2A output full scale" nameView="Magnet 2A output full scale" description="" max="100" min="0" paramter="" tag="" unit="gs" type="Integer" visible="true" />
+      <config default="50" name="Magnet 2B output full scale" nameView="Magnet 2B output full scale" description="" max="100" min="0" paramter="" tag="" unit="gs" type="Integer" visible="true" />
+      <config default="3" name="Min Magnet Coil current" nameView="Min Magnet Coil current" description="" max="100" min="0" paramter="" tag="" unit="A" type="Integer" visible="true" />
+    </configs>
 		<configs name="Rf" nameView="Source RF" >
 			<config default="1" name="MFG" nameView="MFG" description="厂商, 1:AdTec; 2:Comet" max="10" min="0" paramter="" tag="" unit="" type="Integer" />
 			<config default="1" name="CommunicationType" nameView="Communication Type" description="0:Analogue; 1:RS232; 2:Ethernet" max="10" min="0" paramter="" tag="" unit="" type="Integer" />

+ 4 - 0
Venus/Venus_RT/Modules/PMs/GasBoxLeakCheckRoutine.cs

@@ -223,6 +223,10 @@ namespace Venus_RT.Modules.PMs
         private void PreSetValves()
         {
             _chamber.OpenValve(ValveType.FastPump, false);
+            if(_chamber.ChamberType!=JetChamber.VenusDE) 
+            {
+                _chamber.OpenValve(ValveType.SoftPump, false);  
+            }
             _chamber.OpenValve(ValveType.SoftPump, false);
             _chamber.OpenValve(ValveType.TurboPumpPumping, true);
             _chamber.OpenValve(ValveType.Guage, true);

+ 43 - 13
Venus/Venus_RT/Modules/PMs/PumpDownRoutine.cs

@@ -20,8 +20,10 @@ namespace Venus_RT.Modules.PMs
             kTurboN2Purge,
             kVATValve,
             kOpenTurboPumpPurgeGasFinal,
+            kOpenTurboPump,
+            kGasFinal,
             kFinalStep,
-            kEnd,
+            kEnd, 
         }
 
         //private int _ventTime;
@@ -30,7 +32,7 @@ namespace Venus_RT.Modules.PMs
         private int _vHe2FlowPressure = 200;
         private int _basePressure = 10;
         private JetChamber jetChamber = JetChamber.None;
-        private bool needsoft=true;
+        private bool needsoft = true;
         public PumpDownRoutine(JetPMBase chamber) : base(chamber)
         {
             jetChamber = (JetChamber)SC.GetValue<int>($"{chamber.Name}.ChamberType");
@@ -73,16 +75,33 @@ namespace Venus_RT.Modules.PMs
         public RState Monitor()
         {
 
-            Runner.Delay(PumpStep.kDelay_2s,                _delay_2s)
-                .Run(PumpStep.kCloseISOValve,               HOFs.WrapAction(_chamber.OpenValve, ValveType.TurboPumpPumping, false),     _delay_2s)
-                .RunIf(PumpStep.kSoftPump,        needsoft,            HOFs.WrapAction(_chamber.OpenValve, ValveType.SoftPump, true),              () => { return _chamber.ChamberPressure < _roughPumpPressure; })
-                .Run(PumpStep.kFastPump,                    OpenFastPump,       () => { return _chamber.ChamberPressure < _vHe2FlowPressure; })
-                .Run(PumpStep.kPVHe2,                       OpenHe2Valve,           _delay_2s)
-                .Run(PumpStep.kISOValve,                    OpenISOValve,           _delay_2s)
-                .Run(PumpStep.kVATValve,                    OpenVATValve,           _delay_5s)
-                .Run(PumpStep.kOpenTurboPumpPurgeGasFinal,  OpenTurboPumpPurgeGasFinalValve, _delay_3s)
-                .Run(PumpStep.kFinalStep,                   FinalStep,                                                              () => { return _chamber.ChamberPressure < _basePressure; })
-                .End(PumpStep.kEnd,                         NullFun,                                                                _delay_1s);
+            if (jetChamber == JetChamber.VenusDE)
+            {
+                Runner.Delay(PumpStep.kDelay_2s, _delay_2s)
+                .Run(PumpStep.kCloseISOValve, HOFs.WrapAction(_chamber.OpenValve, ValveType.TurboPumpPumping, false), _delay_2s)
+                .Run(PumpStep.kPVHe2, OpenHe2Valve, _delay_5s)
+                .Run(PumpStep.kFastPump, OpenFastPump, () => { return _chamber.ChamberPressure < _vHe2FlowPressure; })
+                .Run(PumpStep.kISOValve, OpenISOValve, _delay_5s)
+                .Run(PumpStep.kOpenTurboPump, OpenTurboValve, _delay_3s)
+                .Run(PumpStep.kVATValve, OpenVATValve, _delay_2s)
+                .Run(PumpStep.kOpenTurboPump, OpenGuageGasFinalValve, _delay_3s)
+                .Run(PumpStep.kFinalStep, FinalStep, () => { return _chamber.ChamberPressure < _basePressure; })
+                .End(PumpStep.kEnd, NullFun, _delay_1s);
+            }
+            else
+            {
+                Runner.Delay(PumpStep.kDelay_2s, _delay_2s)
+                    .Run(PumpStep.kCloseISOValve, HOFs.WrapAction(_chamber.OpenValve, ValveType.TurboPumpPumping, false), _delay_2s)
+                    .RunIf(PumpStep.kSoftPump, needsoft, HOFs.WrapAction(_chamber.OpenValve, ValveType.SoftPump, true), () => { return _chamber.ChamberPressure < _roughPumpPressure; })
+                    .Run(PumpStep.kFastPump, OpenFastPump, () => { return _chamber.ChamberPressure < _vHe2FlowPressure; })
+                    .Run(PumpStep.kPVHe2, OpenHe2Valve, _delay_2s)
+                    .Run(PumpStep.kISOValve, OpenISOValve, _delay_2s)
+                    .Run(PumpStep.kVATValve, OpenVATValve, _delay_5s)
+                    .Run(PumpStep.kOpenTurboPumpPurgeGasFinal, OpenTurboPumpPurgeGasFinalValve, _delay_3s)
+                    .Run(PumpStep.kFinalStep, FinalStep, () => { return _chamber.ChamberPressure < _basePressure; })
+                    .End(PumpStep.kEnd, NullFun, _delay_1s);
+            }
+
 
             return Runner.Status;
         }
@@ -92,6 +111,17 @@ namespace Venus_RT.Modules.PMs
             _chamber.OpenValve(ValveType.GasFinal, true);
             return true;
         }
+        private bool OpenTurboValve()
+        {
+            _chamber.OpenValve(ValveType.TurboPumpPurge, true);
+            return true;
+        }
+        private bool OpenGuageGasFinalValve()
+        {
+            _chamber.OpenValve(ValveType.GasFinal, true);
+            _chamber.OpenValve(ValveType.Guage, true);
+            return true;
+        }
         private bool OpenFastPump()
         {
             _chamber.OpenValve(ValveType.SoftPump, false);
@@ -110,7 +140,7 @@ namespace Venus_RT.Modules.PMs
 
         private bool OpenISOValve()
         {
-            
+
             _chamber.OpenValve(ValveType.PVHe2, false);
 
             // ISO Valve

+ 2 - 2
Venus/Venus_Simulator/Instances/SimulatorSystem.cs

@@ -1462,9 +1462,9 @@ namespace Venus_Simulator.Instances
             {
                 SetAiValue($"{mod}.AI_Foreline_Pressure_10t", 1999);
             }
-            else if (foreline_pressure < 750)
+            else if (foreline_pressure < 150)
             {
-                SetAiValue($"{mod}.AI_Foreline_Pressure_10t", 751);
+                SetAiValue($"{mod}.AI_Foreline_Pressure_10t", 150);
             }
 
             // ATM switch