Bladeren bron

1.Venus SE VCE&TM change to Single signal mode(NO VAC signal)
2,ATM load not pump step

hecl 1 jaar geleden
bovenliggende
commit
d0f35564a3

+ 3 - 4
Venus/Venus_MainPages/ViewModels/SETMOperationViewModel.cs

@@ -1,4 +1,5 @@
 using Aitex.Core.Common.DeviceData;
+using Aitex.Core.RT.SCCore;
 using ExcelLibrary.BinaryFileFormat;
 using MECF.Framework.Common.DataCenter;
 using MECF.Framework.Common.OperationCenter;
@@ -119,7 +120,6 @@ namespace Venus_MainPages.ViewModels
             TMIsATM = CommonFunction.GetValue<bool>(RtDataValues, "SETM.TMIsATM");
             VCEIsVAC = CommonFunction.GetValue<bool>(RtDataValues, "SETM.VCEVACSensor.Value");
             VCEIsATM = CommonFunction.GetValue<bool>(RtDataValues, "SETM.VCEIsATM");
-
             VCEDoorIsOpen = !CommonFunction.GetValue<bool>(RtDataValues, "SETM.VCESlitDoorClosed");
             PMADoorIsOpen = !CommonFunction.GetValue<bool>(RtDataValues, "SETM.PMASlitDoorClosed");
             PMBDoorIsOpen = !CommonFunction.GetValue<bool>(RtDataValues, "SETM.PMBSlitDoorClosed");
@@ -237,11 +237,10 @@ namespace Venus_MainPages.ViewModels
             PMCDoorIsOpen = !CommonFunction.GetValue<bool>(RtDataValues, "SETM.PMCSlitDoorClosed");
             VCEOutDoorIsOpen = !CommonFunction.GetValue<bool>(RtDataValues, "VCE1.VCEOutDoorClosed");
 
-            TMIsVAC =  CommonFunction.GetValue<bool>(RtDataValues, "SETM.TMVACSensor.Value");
+            TMIsVAC = (CommonFunction.GetValue<int>(RtDataValues, "SETM.TMPressure.Value") < Convert.ToInt32(QueryDataClient.Instance.Service.GetConfig($"SETM.VACTargetPressure"))) ;
             TMIsATM =  CommonFunction.GetValue<bool>(RtDataValues, "SETM.TMIsATM");
-            VCEIsVAC = CommonFunction.GetValue<bool>(RtDataValues, "SETM.VCEVACSensor.Value");
+            VCEIsVAC = (CommonFunction.GetValue<int>(RtDataValues, "SETM.VCEPressure.Value") < Convert.ToInt32(QueryDataClient.Instance.Service.GetConfig($"VCE1.VACTargetPressure")));
             VCEIsATM = CommonFunction.GetValue<bool>(RtDataValues, "SETM.VCEIsATM");
-
         }
         private void vceHome()
         {

+ 1 - 1
Venus/Venus_MainPages/ViewModels/SeTMViewModel.cs

@@ -609,7 +609,7 @@ namespace Venus_MainPages.ViewModels
             Queue<MoveItem> moveItems = new Queue<MoveItem>();
             var moduleName = (ModuleName)Enum.Parse(typeof(ModuleName), PlaceSelectedModule.ToString(), true);
             var selectedHand = (Hand)Enum.Parse(typeof(Hand), PlaceSelectedBlade.ToString(), true);
-            MoveItem moveItem = new MoveItem(ModuleName.TMRobot, 0, moduleName, PlaceSoltItemsSource[PickSoltSelectedIndex] - 1, selectedHand);
+            MoveItem moveItem = new MoveItem(ModuleName.TMRobot, 0, moduleName, PlaceSoltItemsSource[PlaceSoltSelectedIndex] - 1, selectedHand);
             moveItems.Enqueue(moveItem);
             if ((int)PlaceSelectedModule < TMModules.Count - 2)
             {

+ 3 - 1
Venus/Venus_RT/Config/System.sccfg

@@ -299,6 +299,7 @@
 		<config default="5" name="VCE1StationNumber" nameView="VCE1 Station Number" description="VCE1 Station Number" max="99" min="0" paramter="" tag="" unit="" type="Integer" />
 		<config default="1" name="VPAStationNumber" nameView="VPA Station Number" description="VPA Station Number" max="99" min="0" paramter="" tag="" unit="" type="Integer" />
 		<config default="760000" name="ATMTargetPressure" nameView="TM ATM Target Pressure" description="TM ATM Target Pressure" max="760000" min="0" paramter="" tag="" unit="mTorr" type="Double" />
+    <config default="100" name="VACTargetPressure" nameView="TM VAC Target Pressure" description="TM VAC Target Pressure" max="3000" min="0" paramter="" tag="" unit="mTorr" type="Double" />
 		<config default="100" name="SoftVentEndPressure" nameView="TM Soft Vent End Pressure" description="" max="30000" min="0" paramter="" tag="" unit="mTorr" type="Integer" />
 
 		<config default="100" name="PumpBasePressure" nameView="Pump Base Pressure" description="" max="200" min="0" paramter="" tag="" unit="mTorr" type="Double" />
@@ -369,7 +370,8 @@
 		<config default="300" name="LeakCheckWaitTime" description="Leak Check Wait Time" max="7200" min="0" paramter="" tag="" unit="second" type="Integer" />
 		<config default="30" name="LeakRate" description="Leak Rate" max="756000" min="0" paramter="" tag="" unit="mTorrPerMin" type="Double" />
 
-		<config default="760000" name="ATMTargetPressure" nameView="VCE ATM Target Pressure" description="TM ATM Target Pressure" max="760000" min="0" paramter="" tag="" unit="mTorr" type="Double" />
+		<config default="760000" name="ATMTargetPressure" nameView="VCE ATM Target Pressure" description="VCE ATM Target Pressure" max="760000" min="0" paramter="" tag="" unit="mTorr" type="Double" />
+    <config default="100" name="VACTargetPressure" nameView="VCE VAC Target Pressure" description="VCE VAC Target Pressure" max="3000" min="0" paramter="" tag="" unit="mTorr" type="Double" />
 		<config default="25" name="SlotNumber" nameView="VCE SlotNumber" description="槽位个数" max="99" min="0" paramter="" tag="" unit="" type="Integer" />
 		<config default="0" name="MFCWriteMode" nameView="MFCWriteMode" description=" 0:Flow; 1:Percent" max="1" min="0" paramter="" tag="" unit="" type="Integer" />
 		<configs name="SMIF" nameView="SMIF" >

+ 12 - 4
Venus/Venus_RT/Devices/TM/HongHuTM.cs

@@ -70,15 +70,19 @@ namespace Venus_RT.Devices
         
         //安装的module
         private string _allInstalledModules { get { return SC.GetStringValue("System.InstalledModules").ToString(); } }
+        private double TMATMTargetPressure;
+        private double TMVACTargetPressure;
+        private double VCEATMTargetPressure;
+        private double VCEVACTargetPressure;
 
         #endregion
 
         #region 暴露变量
         //ATM VAC信号
-        public bool IsTMATM => _TMATMSensor.Value && _TMPressure.Value >= SC.GetValue<double>($"{Module}.ATMTargetPressure");
-        public bool IsVCEATM => _VCEATMSensor.Value &&_VCEPressure.Value >= SC.GetValue<double>("VCE1.ATMTargetPressure");
-        public bool IsTMVAC => _TMVACSensor.Value;
-        public bool IsVCEVAC => _VCEVACSensor.Value;
+        public bool IsTMATM => _TMATMSensor.Value && _TMPressure.Value >= TMATMTargetPressure;
+        public bool IsVCEATM => _VCEATMSensor.Value &&_VCEPressure.Value >= VCEATMTargetPressure;
+        public bool IsTMVAC => _TMVACSensor.Value || _TMPressure.Value <= TMVACTargetPressure;
+        public bool IsVCEVAC => _VCEVACSensor.Value || _VCEPressure.Value <= VCEVACTargetPressure;
         public bool? IsTMPumpRunning => _TMPump?.IsRunning;
         //valve开关状态
         public bool IsTMFastPumpOpen => _TMFastPumpValve.Status;
@@ -210,6 +214,10 @@ namespace Venus_RT.Devices
 
         public HongHuTM() : base(ModuleName.SETM.ToString())
         {
+            TMATMTargetPressure = SC.GetValue<double>($"{Module}.ATMTargetPressure");
+            TMVACTargetPressure = SC.GetValue<double>($"{Module}.VACTargetPressure");
+            VCEATMTargetPressure = SC.GetValue<double>($"{Module}.ATMTargetPressure");
+            VCEVACTargetPressure = SC.GetValue<double>($"{Module}.VACTargetPressure");
             Module = ModuleName.SETM.ToString();
             _TMFastPumpValve = DEVICE.GetDevice<IoValve>($"{Module}.{VenusDevice.TMFastPumpValve}");
             _TMSoftPumpValve = DEVICE.GetDevice<IoValve>($"{Module}.{VenusDevice.TMSoftPumpValve}");

+ 3 - 1
Venus/Venus_RT/Modules/VCE/LoadRoutine.cs

@@ -35,12 +35,14 @@ namespace Venus_RT.Modules.VCE
         HongHuTM _tm;
         int _timeout;
         SEMFPumpRoutine pumpRoutine;
+        bool _isATMMode = false;
 
         public LoadRoutine(ModuleName module, VceModuleBase vce) : base(module)
         {
             _vce = vce;
             _tm = DEVICE.GetDevice<HongHuTM>("SETM");
             pumpRoutine = new SEMFPumpRoutine(_tm, module);
+            _isATMMode = SC.GetValue<bool>("System.IsATMMode");
         }
 
         public RState Start(params object[] objs)
@@ -63,7 +65,7 @@ namespace Venus_RT.Modules.VCE
             Runner.Run(LoadStep.CloseOutDoor,       CloseOutDoor,       CheckVceIdle,        _timeout)
                   .Run(LoadStep.Mapping,            Mapping,            CheckVceIdle,        25 *1000)
                   .Run(LoadStep.ReadMap,            ReadMap,            CheckVceIdle,        _timeout)
-                  .Run(LoadStep.VcePumpDown,        PumpDown,           CheckPumpOver)
+                  .RunIf(LoadStep.VcePumpDown,      !_isATMMode,        PumpDown,           CheckPumpOver)
                   .Run(LoadStep.OpenInnerDoor,      OpenInnerDoor,      CheckInnerDoorOpen)
                   .End(LoadStep.NotifyOver,         NullFun,            100);
             return Runner.Status;

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

@@ -698,7 +698,7 @@ namespace Venus_Simulator.Instances
             SetAiValue($"{mod}.AI_MFC_Flow", 3000);
             SetAiValue($"{mod}.AI_VCE_Pressure", 3000);
             SetAiValue($"{mod}.AI_Foreline_Pressure", 3000);
-            SetAiValue($"{mod}.AI_TM_Pressure", 3000);
+            SetAiValue($"{mod}.AI_TM_Pressure", 20);
         }
 
         private bool OnMonitor()