Kaynağa Gözat

revise reservoir ph bug

chenzk 1 hafta önce
ebeveyn
işleme
06957818cb

+ 1 - 1
CyberX8_RT/Config/Devices/PowerSupplierCfg-Simulator.xml

@@ -53,7 +53,7 @@
 		<Device Name="Power14-1" Address="1" />
 	</PowerSupplierDeviceConfig>
   
-  <PowerSupplierDeviceConfig Name="CMMPower1" IpAddress="127.0.0.1" Port="830" SendTimeout="2000" RecvTimeout="2000"> 
+  <PowerSupplierDeviceConfig Name="CMMPower1" IpAddress="127.0.0.1" Port="835" SendTimeout="2000" RecvTimeout="2000"> 
     <Device Name="CMMPower1-1" Address="1" />
   </PowerSupplierDeviceConfig>
 </PowerSupplierConfig>

+ 16 - 16
CyberX8_RT/Config/Layout/ToolLayoutConfiguration.xml

@@ -259,7 +259,7 @@
 		<!-- LOADER -->
 
 		<Item i:type="Loader">
-			<Installed>true</Installed>
+			<Installed>false</Installed>
 			<LoaderID>1</LoaderID>
 			<SubType>ThunderDualPUF</SubType>
 			<NominalGantryPositionInMilliMeters>-326</NominalGantryPositionInMilliMeters>
@@ -341,7 +341,7 @@
 		<!-- PUFs -->
 
 		<Item i:type="PUF">
-			<Installed>true</Installed>
+			<Installed>false</Installed>
 			<PufID>1</PufID>
 			<SubType>DualPUF_WithDistanceSensors</SubType>
 		</Item>
@@ -349,7 +349,7 @@
 		<!-- TRANSPORTERS -->
 
 		<Item i:type="Transporter">
-			<Installed>true</Installed>
+			<Installed>false</Installed>
 			<TransporterID>1</TransporterID>
 			<SubType>HighSpeedThunder</SubType>
 			<DripTrayType>NoDripTray</DripTrayType>
@@ -358,7 +358,7 @@
 			
 		</Item>
 		<Item i:type="Transporter">
-			<Installed>true</Installed>
+			<Installed>false</Installed>
 			<TransporterID>2</TransporterID>
 			<SubType>HighSpeedThunder</SubType>
 			<DripTrayType>NoDripTray</DripTrayType>
@@ -396,7 +396,7 @@
 					<PlatingPowerSupplyBID>Power2-1</PlatingPowerSupplyBID>
 					<LinmotID>LNM1-1</LinmotID>
 					<SubType>Stratus</SubType>
-					<PumpType>Standard</PumpType>
+					<PumpType>Regulate</PumpType>
 				</Item>
 			</MetalCells>
 			<CellPosition>11</CellPosition>
@@ -405,7 +405,7 @@
 			<ChemicalReplenishmentEnable>true</ChemicalReplenishmentEnable>
 			<DIReplenType>Level</DIReplenType>
 			<ANDIReplenType>Level</ANDIReplenType>
-			<PHProbeType>Standard</PHProbeType>
+			<PHProbeType></PHProbeType>
 			<CrossDoseType>None</CrossDoseType>
 			<ChemReplenType>Peristaltic</ChemReplenType>
 			<ChemReplenPumps>2</ChemReplenPumps>
@@ -453,14 +453,14 @@
 			<ChemicalReplenishmentEnable>true</ChemicalReplenishmentEnable>
 			<DIReplenType>Level</DIReplenType>
 			<ANDIReplenType>Level</ANDIReplenType>
-			<PHProbeType>Standard</PHProbeType>
+			<PHProbeType></PHProbeType>
 			<CrossDoseType>None</CrossDoseType>
 			<ChemReplenType>Peristaltic</ChemReplenType>
 			<ChemReplenPumps>2</ChemReplenPumps>
 			<AutoDrainsInstalled>false</AutoDrainsInstalled>
 			<SlipstreamType>None</SlipstreamType>
-			<CMMType>Standard</CMMType>
-			<CMMSupplyID>CMMPower1-1</CMMSupplyID>
+			<CMMType></CMMType>
+			<CMMSupplyID></CMMSupplyID>
 			<EvaporatorType>STD</EvaporatorType>
 		</Item>
 		
@@ -516,8 +516,8 @@
 			<ChemReplenPumps>2</ChemReplenPumps>
 			<AutoDrainsInstalled>false</AutoDrainsInstalled>
 			<SlipstreamType>None</SlipstreamType>
-			<CMMType></CMMType>
-			<CMMSupplyID></CMMSupplyID>
+			<CMMType>Standard</CMMType>
+			<CMMSupplyID>CMMPower1-1</CMMSupplyID>
 			<EvaporatorType>STD</EvaporatorType>
 		</Item>
 
@@ -540,7 +540,7 @@
 					<PlatingPowerSupplyBID>Power8-1</PlatingPowerSupplyBID>
 					<LinmotID>LNM1-4</LinmotID>
 					<SubType>Stratus</SubType>
-					<PumpType>Regulate</PumpType>
+					<PumpType>Standard</PumpType>
 				</Item>
 			</MetalCells>
 			<CellPosition>16</CellPosition>
@@ -549,7 +549,7 @@
 			<ChemicalReplenishmentEnable>true</ChemicalReplenishmentEnable>
 			<DIReplenType>Level</DIReplenType>
 			<ANDIReplenType>Level</ANDIReplenType>
-			<PHProbeType>Standard</PHProbeType>
+			<PHProbeType></PHProbeType>
 			<CrossDoseType>None</CrossDoseType>
 			<ChemReplenType>Peristaltic</ChemReplenType>
 			<ChemReplenPumps>2</ChemReplenPumps>
@@ -705,7 +705,7 @@
 		</Item>
 
 		<Item i:type="EFEM">
-			<Installed>true</Installed>
+			<Installed>True</Installed>
 			<Type>EFEM</Type>
 		</Item>
 		<!-- LOAD PORTS -->
@@ -732,7 +732,7 @@
 		<!-- SRDs -->
 
 		<Item i:type="SRD">
-			<Installed>true</Installed>
+			<Installed>false</Installed>
 			<PermittedWaferSizeInMM>300</PermittedWaferSizeInMM>
 			<ResourceID>SRD1</ResourceID>
 			<Type>SRD</Type>
@@ -740,7 +740,7 @@
 			<SubType>VacuumChuckWithFan</SubType>
 		</Item>
 		<Item i:type="SRD">
-			<Installed>true</Installed>
+			<Installed>false</Installed>
 			<PermittedWaferSizeInMM>300</PermittedWaferSizeInMM>
 			<ResourceID>SRD2</ResourceID>
 			<Type>SRD</Type>

+ 13 - 11
CyberX8_RT/Config/System.sccfg

@@ -512,17 +512,7 @@
 			<config default="1" name="BottleReserveVolume2" nameView="BottleReserveVolume2" description="Bottle Reserve Volume of Replen2" max="5000" min="0" paramter="" tag="" unit="mL" type="Double" />
 			<config default="60" name="DosingOutTime" nameView="DosingOutTime" description="Dosing Out Time" max="600" min="1" paramter="" tag="" unit="s" type="Double" />
 
-			<config default="20" name="CMMFlowHighFault" nameView="CMMFlowHighFault" description="CMM Flow Over HighFault,system occurs error " max="20" min="0" paramter="" tag="" unit="L/min" type="Double" />
-			<config default="20" name="CMMFlowHighWarning" nameView="CMMFlowHighWarning" description="CMM Flow Over HighWarninb,system occurs warning " max="20" min="0" paramter="" tag="" unit="L/min" type="Double" />
-			<config default="0" name="CMMFlowLowFault" nameView="CMMFlowLowFault" description="CMM Flow Less LowFault,system occurs error " max="20" min="0" paramter="" tag="" unit="L/min" type="Double" />
-			<config default="0" name="CMMFlowLowWarning" nameView="CMMFlowLowWarning" description="CMM Flow less HighFault,system occurs warning " max="20" min="0" paramter="" tag="" unit="L/min" type="Double" />
-			<config default="1000" name="CMMAnodeLifeTimeAHrs" nameView="CMMAnodeLifeTimeAHrs" description="CMM Anode LifeTimeAHrs" max="100000" min="0" paramter="" tag="" unit="Ah" type="Double" />
-			<config default="1000" name="CMMCathodeLifeTimeAHrs" nameView="CMMCathodeLifeTimeAHrs" description="CMM Cathode LifeTimeAHrs" max="100000" min="0" paramter="" tag="" unit="Ah" type="Double" />
-			<config default="6" name="CMMFlowCheckDelaySeconds" nameView="CMMFlowCheckDelaySeconds" description="CMM Flow Check Delay Seconds" max="30" min="0" paramter="" tag="" unit="s" type="Integer" />
-			<config default="50" name="CMMAnodeTotalAmpHoursWarningLimit" nameView="CMMAnodeTotalAmpHoursWarningLimit" description="CMM Anode Total Amp Hours Warning Limit" max="100000" min="0" paramter="" tag="" unit="Ah" type="Double" />
-			<config default="100" name="CMMAnodeTotalAmpHoursFaultLimit" nameView="CMMAnodeTotalAmpHoursFaultLimit" description="CMM Anode Total Amp Hours Fault Limit" max="100000" min="0" paramter="" tag="" unit="Ah" type="Double" />
-			<config default="50" name="CMMCathodeTotalAmpHoursWarningLimit" nameView="CMMCathodeTotalAmpHoursWarningLimit" description="CMM Cathode Total AmpHours Warning Limit" max="100000" min="0" paramter="" tag="" unit="Ah" type="Double" />
-			<config default="100" name="CMMCathodeTotalAmpHoursFaultLimit" nameView="CMMCathodeTotalAmpHoursFaultLimit" description="CMM Cathode Total AmpHours Fault Limit" max="100000" min="0" paramter="" tag="" unit="Ah" type="Double" />
+			
 
 			<config default="52" name="ReservoirTotalAmpHoursWarningLimit" nameView="ReservoirTotalAmpHoursWarningLimit"  type="Double" value="0"  min="0" max="100000" paramter="" tag="" unit="" description="" />
 			<config default="102" name="ReservoirTotalAmpHoursFaultLimit" nameView="ReservoirTotalAmpHoursFaultLimit"  type="Double" value="0"  min="0" max="100000" paramter="" tag="" unit="" description="" />
@@ -551,6 +541,18 @@
 			<config default="1" name="BottleReserveVolume2" nameView="BottleReserveVolume2" description="Bottle Reserve Volume of Replen2" max="5000" min="0" paramter="" tag="" unit="mL" type="Double" />
 			<config default="60" name="DosingOutTime" nameView="DosingOutTime" description="Dosing Out Time" max="600" min="1" paramter="" tag="" unit="s" type="Double" />
 
+			<config default="20" name="CMMFlowHighFault" nameView="CMMFlowHighFault" description="CMM Flow Over HighFault,system occurs error " max="20" min="0" paramter="" tag="" unit="L/min" type="Double" />
+			<config default="20" name="CMMFlowHighWarning" nameView="CMMFlowHighWarning" description="CMM Flow Over HighWarninb,system occurs warning " max="20" min="0" paramter="" tag="" unit="L/min" type="Double" />
+			<config default="0" name="CMMFlowLowFault" nameView="CMMFlowLowFault" description="CMM Flow Less LowFault,system occurs error " max="20" min="0" paramter="" tag="" unit="L/min" type="Double" />
+			<config default="0" name="CMMFlowLowWarning" nameView="CMMFlowLowWarning" description="CMM Flow less HighFault,system occurs warning " max="20" min="0" paramter="" tag="" unit="L/min" type="Double" />
+			<config default="1000" name="CMMAnodeLifeTimeAHrs" nameView="CMMAnodeLifeTimeAHrs" description="CMM Anode LifeTimeAHrs" max="100000" min="0" paramter="" tag="" unit="Ah" type="Double" />
+			<config default="1000" name="CMMCathodeLifeTimeAHrs" nameView="CMMCathodeLifeTimeAHrs" description="CMM Cathode LifeTimeAHrs" max="100000" min="0" paramter="" tag="" unit="Ah" type="Double" />
+			<config default="6" name="CMMFlowCheckDelaySeconds" nameView="CMMFlowCheckDelaySeconds" description="CMM Flow Check Delay Seconds" max="30" min="0" paramter="" tag="" unit="s" type="Integer" />
+			<config default="50" name="CMMAnodeTotalAmpHoursWarningLimit" nameView="CMMAnodeTotalAmpHoursWarningLimit" description="CMM Anode Total Amp Hours Warning Limit" max="100000" min="0" paramter="" tag="" unit="Ah" type="Double" />
+			<config default="100" name="CMMAnodeTotalAmpHoursFaultLimit" nameView="CMMAnodeTotalAmpHoursFaultLimit" description="CMM Anode Total Amp Hours Fault Limit" max="100000" min="0" paramter="" tag="" unit="Ah" type="Double" />
+			<config default="50" name="CMMCathodeTotalAmpHoursWarningLimit" nameView="CMMCathodeTotalAmpHoursWarningLimit" description="CMM Cathode Total AmpHours Warning Limit" max="100000" min="0" paramter="" tag="" unit="Ah" type="Double" />
+			<config default="100" name="CMMCathodeTotalAmpHoursFaultLimit" nameView="CMMCathodeTotalAmpHoursFaultLimit" description="CMM Cathode Total AmpHours Fault Limit" max="100000" min="0" paramter="" tag="" unit="Ah" type="Double" />
+			
 			<config default="52" name="ReservoirTotalAmpHoursWarningLimit" nameView="ReservoirTotalAmpHoursWarningLimit"  type="Double" value="0"  min="0" max="100000" paramter="" tag="" unit="" description="" />
 			<config default="102" name="ReservoirTotalAmpHoursFaultLimit" nameView="ReservoirTotalAmpHoursFaultLimit"  type="Double" value="0"  min="0" max="100000" paramter="" tag="" unit="" description="" />
 			<config default="52" name="BathTotalAmpHoursWarningLimit" nameView="BathTotalAmpHoursWarningLimit"  type="Double" value="0"  min="0" max="100000" paramter="" tag="" unit="" description="" />

+ 20 - 35
CyberX8_RT/Devices/Reservoir/StandardHotReservoirDevice.cs

@@ -405,46 +405,25 @@ namespace CyberX8_RT.Devices.Reservoir
                     }
                 }
             }
-
-            if (_phState == RState.Running)
+            if(ReservoirItemManager.Instance.GetReservoirItem(Module)!=null && !string.IsNullOrEmpty(ReservoirItemManager.Instance.GetReservoirItem(Module).PHProbeType))
             {
-                _phState = _phRoutine.Monitor();
-                if (_phState == RState.End)
+                if (_phState == RState.Running)
                 {
-                    _phRoutineEndTime = DateTime.Now;
+                    _phState = _phRoutine.Monitor();
+                    if (_phState == RState.End)
+                    {
+                        _phRoutineEndTime = DateTime.Now;
+                    }
                 }
-            }
-            else if (_phState != RState.Init)
-            {
-                double phUpdatePeriod = SC.GetValue<double>("Reservoir.PHUpdatePeriod");
-                if (DateTime.Now.Subtract(_phRoutineEndTime).TotalMilliseconds >= phUpdatePeriod * 1000)
+                else if (_phState != RState.Init)
                 {
-                    StartDetectPHValve();
+                    double phUpdatePeriod = SC.GetValue<double>("Reservoir.PHUpdatePeriod");
+                    if (DateTime.Now.Subtract(_phRoutineEndTime).TotalMilliseconds >= phUpdatePeriod * 1000)
+                    {
+                        StartDetectPHValve();
+                    }
                 }
             }
-            //if (_replenType != "" && _replenNum != 0)
-            //{
-            //    //DosingSystem 状态监控
-            //    _dosingCommonHelper.DoseStatusMonitor();
-            //    //Dosing监控
-            //    if (_dosingCommonHelper.IsDosingSystemInitialized)
-            //    {
-            //        if (_replenPersistentValue["Replen1"].OperatingMode == "Manual")
-            //        {
-            //            //ManualDosing      
-            //            _dosingCommonHelper.ManualDoseSystemMonitor();
-            //        }
-            //        if (_replenPersistentValue["Replen1"].OperatingMode == "Auto")
-            //        {
-            //            //AutoDosing      
-            //            _dosingCommonHelper.AutoDoseSystemMonitor();
-            //        }
-            //        else
-            //        {
-            //            _dosingCommonHelper.CheckDoseOperation();
-            //        }
-            //    }
-            //}
             return true;
         }
         /// <summary>
@@ -1310,7 +1289,13 @@ namespace CyberX8_RT.Devices.Reservoir
         /// </summary>
         public bool StartDetectPHValve()
         {
-            if (_persistentValue.OperatingMode == MANUAL)
+            string phProbeType = "";
+            ReservoirItem reservoirItem = ReservoirItemManager.Instance.GetReservoirItem(Module.ToString());
+            if (reservoirItem != null)
+            {
+                phProbeType = reservoirItem.PHProbeType;
+            }
+            if (_persistentValue.OperatingMode == MANUAL || string.IsNullOrEmpty(phProbeType))
             {
                 return false;
             }