Browse Source

启用FoupEnter/waferCharge/WaferDisCharge模块的 N2PurgeEnable/LASV/foup SV参数

jiangjy 2 weeks ago
parent
commit
5ee3a8b206

+ 9 - 3
Furnace/FurnaceRT/Config/System.sccfg

@@ -460,7 +460,7 @@
 		<configs name="FFU4">
 			<config default="2500" name="SetSpeed" description=" set speed" max="" min="" paramter="" tag="" unit=""  type="String"   />
 		</configs>
-		
+
 		<configs name="BufferFFU1">
 			<config default="2500" name="SetSpeed" description=" set speed" max="" min="" paramter="" tag="" unit=""  type="String"   />
 		</configs>
@@ -4661,25 +4661,31 @@
 			<config visible="false" default="1" name="O2DetectorTransferRoomToFOUPTime" description="Exchange LA TO FOUP WaitTime" max="360" min="1" paramter="" tag="" unit="s" type="Double" />
 			<config visible="false" default="1" name="O2DetectorFOUPToTransferRoomTime" description="Exchange FOUP TO LA WaitTime" max="360" min="1" paramter="" tag="" unit="s" type="Double" />
 			<config visible="false" default="1" name="O2DetectorFOUPToFOUPTime" description="FOUP TO FOUP WaitTime" max="360" min="1" paramter="" tag="" unit="s" type="Double" />
-			<config visible="false" default="0" name="N2PurgeFOUPO2CheckSV" description="FOUP O2 CheckSV" max="999999" min="0" paramter="" tag="" unit="s" type="Double" />
-			<config visible="false" default="0" name="N2PurgeLAO2CheckSV" description=" LA O2 CheckSV" max="999999" min="0" paramter="" tag="" unit="s" type="Double" />
+			<config visible="false" default="0" name="N2Purge.N2PurgeFOUPO2CheckSV" description="FOUP O2 CheckSV" max="999999" min="0" paramter="" tag="" unit="s" type="Double" />
+			<config visible="false" default="0" name="N2Purge.N2PurgeLAO2CheckSV" description=" LA O2 CheckSV" max="999999" min="0" paramter="" tag="" unit="s" type="Double" />
 			<configs visible="false" name="FoupEnter">
 				<config default="true" name="TransferRoomN2PurgeEnable"  description="LA N2 Purge  Enable When Foup Enter" max="0" min="0" paramter="" tag="" unit="" type="Bool"/>
 				<config default="true" name="TransferRoomO2DensityCheckEnable"  description="LA O2 Density Check Enable When Foup Enter" max="0" min="0" paramter="" tag="" unit="" type="Bool"/>
 				<config default="true" name="FOUPN2PurgeEnable"  description="FOUP N2 Purge Enable When Foup Enter" max="0" min="0" paramter="" tag="" unit="" type="Bool"/>
 				<config default="true" name="FOUPN2PurgeCancelEnable"  description="FOUP N2 Purge Cancel Enable When Foup Enter" max="0" min="0" paramter="" tag="" unit="" type="Bool"/>
+				<config default="0"    name="FOUPO2CheckSV" description="FOUP O2 CheckSV" max="999999" min="0" paramter="" tag="" unit="s" type="Double" />
+				<config default="0"    name="LAO2CheckSV" description=" LA O2 CheckSV" max="999999" min="0" paramter="" tag="" unit="s" type="Double" />
 			</configs>
 			<configs visible="false" name="WaferCharge">
 				<config default="true" name="TransferRoomN2PurgeEnable"  description="LA N2 Purge Charge Enable" max="0" min="0" paramter="" tag="" unit="" type="Bool"/>
 				<config default="true" name="TransferRoomO2DensityCheckEnable"  description="LA O2 Density Check Charge Enable" max="0" min="0" paramter="" tag="" unit="" type="Bool"/>
 				<config default="true" name="TransferRoomO2DensityKeepEnable"  description="LA O2 Density Keep Charge Enable" max="0" min="0" paramter="" tag="" unit="" type="Bool"/>
 				<config default="true" name="FOUPN2PurgeEnable"  description="FOUP N2 Purge Charge Enable" max="0" min="0" paramter="" tag="" unit="" type="Bool"/>
+				<config default="0"    name="FOUPO2CheckSV" description="FOUP O2 CheckSV" max="999999" min="0" paramter="" tag="" unit="s" type="Double" />
+				<config default="0"    name="LAO2CheckSV" description=" LA O2 CheckSV" max="999999" min="0" paramter="" tag="" unit="s" type="Double" />
 			</configs>
 			<configs visible="false" name="WaferDischarge">
 				<config default="true" name="TransferRoomN2PurgeEnable"  description="LA N2 Purge Discharge Enable" max="0" min="0" paramter="" tag="" unit="" type="Bool"/>
 				<config default="true" name="TransferRoomO2DensityCheckEnable"  description="LA O2 Density Check Discharge Enable" max="0" min="0" paramter="" tag="" unit="" type="Bool"/>
 				<config default="true" name="TransferRoomO2DensityKeepEnable"  description="LA O2 Density Keep Discharge Enable" max="0" min="0" paramter="" tag="" unit="" type="Bool"/>
 				<config default="true" name="FOUPN2PurgeEnable"  description="FOUP N2 Purge Discharge Enable" max="0" min="0" paramter="" tag="" unit="" type="Bool"/>
+				<config default="0"    name="FOUPO2CheckSV" description="FOUP O2 CheckSV" max="999999" min="0" paramter="" tag="" unit="s" type="Double" />
+				<config default="0"    name="LAO2CheckSV" description=" LA O2 CheckSV" max="999999" min="0" paramter="" tag="" unit="s" type="Double" />
 			</configs>
 			<configs visible="false" name="BoatLoad">
 				<config default="true" name="TransferRoomN2PurgeEnable"  description="LA N2 Purge Charge Enable" max="0" min="0" paramter="" tag="" unit="" type="Bool"/>

+ 5 - 2
Furnace/FurnaceUI/Dialog/N2PurgeSelectDialogView.xaml

@@ -906,8 +906,11 @@
                             HorizontalAlignment="Center"
                             VerticalAlignment="Center"
                             Orientation="Horizontal">
-                            <Button Margin="0,0,15,0" Content="Enable"/>
-                            <Button Content="Disable"/>
+                            <RadioButton
+    Margin="0,0,15,0"
+    Content="Enable"
+    IsChecked="{Binding FOUPN2PurgeFoupEnterEnable}"/>
+                            <RadioButton Content="Disable" IsChecked="{Binding FOUPN2PurgeFoupEnterEnable, Converter={StaticResource InverseBoolConverter}}"/>
                         </StackPanel>
                     </Border>
                     <Border

+ 16 - 2
Furnace/FurnaceUI/Dialog/N2PurgeSelectDialogViewModel.cs

@@ -302,7 +302,17 @@ namespace FurnaceUI.Client.Dialog
         }
         private bool _fOUPN2PurgeChargeEnable;
 
-
+        public bool FOUPN2PurgeFoupEnterEnable
+        {
+            get { return _fOUPN2PurgeFoupEnterEnable; }
+            set
+            {
+                _fOUPN2PurgeFoupEnterEnable = value;
+                NotifyOfPropertyChange(() => FOUPN2PurgeFoupEnterEnable);
+                InvokeClient.Instance.Service.DoOperation("System.SetConfig", "PM1.N2Purge.FoupEnter.FOUPN2PurgeEnable", _fOUPN2PurgeFoupEnterEnable);
+            }
+        }
+        private bool _fOUPN2PurgeFoupEnterEnable;
         public bool TransferRoomN2PurgeDischargeEnable
         {
             get { return _transferRoomN2PurgeDischargeEnable; }
@@ -415,7 +425,11 @@ namespace FurnaceUI.Client.Dialog
             {
                 _fOUPN2PurgeChargeEnable = fOUPN2PurgeChargeEnable;
             }
-
+            valueConfig = SystemConfigProvider.Instance.GetValueByName("PM1.N2Purge.FoupEnter.FOUPN2PurgeEnable");
+            if (!string.IsNullOrEmpty(valueConfig) && bool.TryParse(valueConfig, out bool foupEnterFOUPN2PurgeEnable))
+            {
+                _fOUPN2PurgeFoupEnterEnable = foupEnterFOUPN2PurgeEnable;
+            }
             valueConfig = SystemConfigProvider.Instance.GetValueByName("PM1.N2Purge.WaferDischarge.TransferRoomN2PurgeEnable");
             if (!string.IsNullOrEmpty(valueConfig) && bool.TryParse(valueConfig, out bool transferRoomN2PurgeDischargeEnable))
             {

+ 50 - 10
Furnace/FurnaceUI/Views/Parameter/N2PurgeEditView.xaml

@@ -562,7 +562,17 @@
                     Background="{DynamicResource N2_purge_Idlebg}"
                     BorderBrush="{DynamicResource Table_BD}"
                     BorderThickness="1,1,0,0">
-                    <TextBox FontSize="20"/>
+                    <TextBox FontSize="20" Tag="Number" Text="{Binding FoupEnterLAO2CheckSV,Mode=OneWay}">
+                        <i:Interaction.Triggers>
+                            <i:EventTrigger EventName="TextChanged">
+                                <cal1:ActionMessage MethodName="SetConfigTextChanged">
+                                    <cal1:Parameter Value="PM1.N2Purge.FoupEnter.LAO2CheckSV"></cal1:Parameter>
+                                    <cal1:Parameter Value="$source"></cal1:Parameter>
+                                    <cal1:Parameter Value="{Binding}"></cal1:Parameter>
+                                </cal1:ActionMessage>
+                            </i:EventTrigger>
+                        </i:Interaction.Triggers>
+                    </TextBox>
                 </Border>
                 <Border
                     Grid.Row="5"
@@ -606,7 +616,17 @@
                     Background="{DynamicResource N2_purge_Idlebg}"
                     BorderBrush="{DynamicResource Table_BD}"
                     BorderThickness="1,1,0,0">
-                    <TextBox FontSize="20"/>
+                    <TextBox Tag="Number" FontSize="20" Text="{Binding FoupEnterFoupO2CheckSV,Mode=OneWay}">
+                        <i:Interaction.Triggers>
+                            <i:EventTrigger EventName="TextChanged">
+                                <cal1:ActionMessage MethodName="SetConfigTextChanged">
+                                    <cal1:Parameter Value="PM1.N2Purge.FoupEnter.FOUPO2CheckSV"></cal1:Parameter>
+                                    <cal1:Parameter Value="$source"></cal1:Parameter>
+                                    <cal1:Parameter Value="{Binding}"></cal1:Parameter>
+                                </cal1:ActionMessage>
+                            </i:EventTrigger>
+                        </i:Interaction.Triggers>
+                    </TextBox>
                 </Border>
                 <Border
                     Grid.Row="5"
@@ -909,11 +929,11 @@
                     Background="{DynamicResource N2_purge_Idlebg}"
                     BorderBrush="{DynamicResource Table_BD}"
                     BorderThickness="1,1,0,0">
-                    <TextBox FontSize="20" Tag="Number" Text="{Binding N2PurgeLAO2CheckSV,Mode=OneWay}">
+                    <TextBox FontSize="20" Tag="Number" Text="{Binding WaferChargeLAO2CheckSV,Mode=OneWay}">
                         <i:Interaction.Triggers>
                             <i:EventTrigger EventName="TextChanged">
                                 <cal1:ActionMessage MethodName="SetConfigTextChanged">
-                                    <cal1:Parameter Value="PM1.N2Purge.N2PurgeLAO2CheckSV"></cal1:Parameter>
+                                    <cal1:Parameter Value="PM1.N2Purge.WaferCharge.LAO2CheckSV"></cal1:Parameter>
                                     <cal1:Parameter Value="$source"></cal1:Parameter>
                                     <cal1:Parameter Value="{Binding}"></cal1:Parameter>
                                 </cal1:ActionMessage>
@@ -937,11 +957,11 @@
                     Background="{DynamicResource N2_purge_Idlebg}"
                     BorderBrush="{DynamicResource Table_BD}"
                     BorderThickness="1,1,0,0">
-                    <TextBox Tag="Number" FontSize="20" Text="{Binding N2PurgeFOUPO2CheckSV,Mode=OneWay}">
+                    <TextBox Tag="Number" FontSize="20" Text="{Binding WaferChargeFoupO2CheckSV,Mode=OneWay}">
                         <i:Interaction.Triggers>
                             <i:EventTrigger EventName="TextChanged">
                                 <cal1:ActionMessage MethodName="SetConfigTextChanged">
-                                    <cal1:Parameter Value="PM1.N2Purge.N2PurgeFOUPO2CheckSV"></cal1:Parameter>
+                                    <cal1:Parameter Value="PM1.N2Purge.WaferCharge.FOUPO2CheckSV"></cal1:Parameter>
                                     <cal1:Parameter Value="$source"></cal1:Parameter>
                                     <cal1:Parameter Value="{Binding}"></cal1:Parameter>
                                 </cal1:ActionMessage>
@@ -1405,7 +1425,17 @@
                     Background="{DynamicResource N2_purge_Readybg}"
                     BorderBrush="{DynamicResource Table_BD}"
                     BorderThickness="1,1,0,0">
-                    <TextBox FontSize="20"/>
+                    <TextBox FontSize="20" Tag="Number" Text="{Binding WaferDisChargeLAO2CheckSV,Mode=OneWay}">
+                        <i:Interaction.Triggers>
+                            <i:EventTrigger EventName="TextChanged">
+                                <cal1:ActionMessage MethodName="SetConfigTextChanged">
+                                    <cal1:Parameter Value="PM1.N2Purge.WaferDisCharge.LAO2CheckSV"></cal1:Parameter>
+                                    <cal1:Parameter Value="$source"></cal1:Parameter>
+                                    <cal1:Parameter Value="{Binding}"></cal1:Parameter>
+                                </cal1:ActionMessage>
+                            </i:EventTrigger>
+                        </i:Interaction.Triggers>
+                    </TextBox>
                 </Border>
                 <Border
                     Grid.Row="5"
@@ -1434,7 +1464,17 @@
                     Background="{DynamicResource N2_purge_Readybg}"
                     BorderBrush="{DynamicResource Table_BD}"
                     BorderThickness="1,1,0,0">
-                    <TextBox FontSize="20"/>
+                    <TextBox Tag="Number" FontSize="20" Text="{Binding WaferDisChargeFoupO2CheckSV,Mode=OneWay}">
+                        <i:Interaction.Triggers>
+                            <i:EventTrigger EventName="TextChanged">
+                                <cal1:ActionMessage MethodName="SetConfigTextChanged">
+                                    <cal1:Parameter Value="PM1.N2Purge.WaferDisCharge.FOUPO2CheckSV"></cal1:Parameter>
+                                    <cal1:Parameter Value="$source"></cal1:Parameter>
+                                    <cal1:Parameter Value="{Binding}"></cal1:Parameter>
+                                </cal1:ActionMessage>
+                            </i:EventTrigger>
+                        </i:Interaction.Triggers>
+                    </TextBox>
                 </Border>
                 <Border
                     Grid.Row="6"
@@ -1638,7 +1678,7 @@
                     <oxy:PlotView Background="Transparent" Width="auto" Margin="-30,-14,-8,-10" Model="{Binding N2Model}" Panel.ZIndex="1"   />
 
                 </Border>-->
-                <Viewbox
+                <!--<Viewbox
                     Grid.Row="0"
                     Grid.RowSpan="10"
                     Grid.Column="0"
@@ -1668,7 +1708,7 @@
                             Stroke="Blue"
                             StrokeThickness="5"/>
                     </Canvas>
-                </Viewbox>
+                </Viewbox>-->
 
             </Grid>
 

+ 94 - 3
Furnace/FurnaceUI/Views/Parameter/N2PurgeEditViewModel.cs

@@ -172,6 +172,91 @@ namespace FurnaceUI.Views.Parameter
                 NotifyOfPropertyChange("N2PurgeLAO2CheckSV");
             }
         }
+
+
+        private double _waferChargeLAO2CheckSV = 0;
+        public double WaferChargeLAO2CheckSV
+        {
+            get
+            {
+                return _waferChargeLAO2CheckSV;
+            }
+            set
+            {
+                _waferChargeLAO2CheckSV = value;
+                NotifyOfPropertyChange("WaferChargeLAO2CheckSV");
+            }
+        }
+        private double _waferChargeFoupO2CheckSV = 0;
+        public double WaferChargeFoupO2CheckSV
+        {
+            get
+            {
+                return _waferChargeFoupO2CheckSV;
+            }
+            set
+            {
+                _waferChargeFoupO2CheckSV = value;
+                NotifyOfPropertyChange("WaferChargeFoupO2CheckSV");
+            }
+        }
+
+        private double _waferDisChargeLAO2CheckSV = 0;
+        public double WaferDisChargeLAO2CheckSV
+        {
+            get
+            {
+                return _waferDisChargeLAO2CheckSV;
+            }
+            set
+            {
+                _waferDisChargeLAO2CheckSV = value;
+                NotifyOfPropertyChange("WaferDisChargeLAO2CheckSV");
+            }
+        }
+        private double _waferDisChargeFoupO2CheckSV = 0;
+        public double WaferDisChargeFoupO2CheckSV
+        {
+            get
+            {
+                return _waferDisChargeFoupO2CheckSV;
+            }
+            set
+            {
+                _waferDisChargeFoupO2CheckSV = value;
+                NotifyOfPropertyChange("WaferDisChargeFoupO2CheckSV");
+            }
+        }
+
+
+
+        private double _foupEnterFoupO2CheckSV = 0;
+        public double FoupEnterFoupO2CheckSV
+        {
+            get
+            {
+                return _foupEnterFoupO2CheckSV;
+            }
+            set
+            {
+                _foupEnterFoupO2CheckSV = value;
+                NotifyOfPropertyChange("FoupEnterFoupO2CheckSV");
+            }
+        }
+
+        private double _foupEnterLAO2CheckSV = 0;
+        public double FoupEnterLAO2CheckSV
+        {
+            get
+            {
+                return _foupEnterLAO2CheckSV;
+            }
+            set
+            {
+                _foupEnterLAO2CheckSV = value;
+                NotifyOfPropertyChange("FoupEnterLAO2CheckSV");
+            }
+        }
         #endregion
         protected override void OnInitialize()
         {
@@ -187,8 +272,14 @@ namespace FurnaceUI.Views.Parameter
             base.OnActivate();
             DefaultUnit = (string)QueryDataClient.Instance.Service.GetConfig($"PM1.APC.PressureUnit");
 
-            N2PurgeFOUPO2CheckSV = (double)QueryDataClient.Instance.Service.GetConfig($"PM1.N2Purge.N2PurgeFOUPO2CheckSV");
-            N2PurgeLAO2CheckSV = (double)QueryDataClient.Instance.Service.GetConfig($"PM1.N2Purge.N2PurgeLAO2CheckSV");
+            WaferDisChargeFoupO2CheckSV = (double)QueryDataClient.Instance.Service.GetConfig($"PM1.N2Purge.WaferDisCharge.FOUPO2CheckSV");
+            WaferDisChargeLAO2CheckSV = (double)QueryDataClient.Instance.Service.GetConfig($"PM1.N2Purge.WaferDisCharge.LAO2CheckSV");
+
+            WaferChargeFoupO2CheckSV = (double)QueryDataClient.Instance.Service.GetConfig($"PM1.N2Purge.WaferCharge.FOUPO2CheckSV");
+            WaferChargeLAO2CheckSV = (double)QueryDataClient.Instance.Service.GetConfig($"PM1.N2Purge.WaferCharge.LAO2CheckSV");
+
+            FoupEnterFoupO2CheckSV = (double)QueryDataClient.Instance.Service.GetConfig($"PM1.N2Purge.FoupEnter.FOUPO2CheckSV");
+            FoupEnterLAO2CheckSV = (double)QueryDataClient.Instance.Service.GetConfig($"PM1.N2Purge.FoupEnter.LAO2CheckSV");
             //GetO2ModelSpline();
             //GetN2ModelSpline();
         }
@@ -604,7 +695,7 @@ namespace FurnaceUI.Views.Parameter
         {
             try
             {
-                if (!string.IsNullOrEmpty(configName) &&item != null && sender != null)
+                if (!string.IsNullOrEmpty(configName) && item != null && sender != null)
                 {
                     string value = ((TextBox)sender).Text;
                     double setValue = 0;