Browse Source

1. 统一修复BiasMatch名称不统一导致的代码分歧,现将两者合并
2. 修改recipe默认项

zhouhr 2 months ago
parent
commit
fb932db17e

+ 15 - 15
JetVirgoPM/Config/Recipe/JetVirgoPM/Process/RecipeFormat.xml

@@ -52,26 +52,26 @@
 				<Step ModuleName="RF1" DeviceType="RF" DisplayName="RF1 Time" ControlName="Rf1.SetPowerOnTime" InputType="NumInput" Min="0" Max="100000" Description="RF1 Power On Time" />
 				<Step ModuleName="RF1" DeviceType="RF" DisplayName="Source RF1 Power" ControlName="Rf1.SetPower" InputType="NumInput" Min="0" Max="1000" Description="Source RF1 Power value" />
 				<Step ModuleName="RF1" DeviceType="RF" DisplayName="Bias RF1 Power" ControlName="BiasRf1.SetPower" InputType="NumInput" Min="0" Max="1000" Description="Bias RF1 Power value" />
-				<Step ModuleName="RF1" DeviceType="RF" DisplayName="Bias RF1 Mode" ControlName="BiasRf1.SetMatchProcessMode" InputType="ReadOnlySelection" Description="RF1 Match Mode">
+				<Step ModuleName="RF1" DeviceType="RF" DisplayName="Bias RF1 Mode" ControlName="BiasRf1Match.SetMatchProcessMode" InputType="ReadOnlySelection" Description="RF1 Match Mode">
 					<Item DisplayName="Preset Mode"  ControlName="Preset" />
 					<Item DisplayName="Hold Mode" ControlName="Hold" />
 				</Step>
 
-				<Step ModuleName="RF1" DeviceType="RF" DisplayName="Bias RF1 Match C1"   ControlName="BiasRf1.SetMatchPositionC1" InputType="NumInput" Min="0" Max="100" Description="Set RF1 match position C1 value" />
-				<Step ModuleName="RF1" DeviceType="RF" DisplayName="Bias RF1 Match C2"   ControlName="BiasRf1.SetMatchPositionC2" InputType="NumInput" Min="0" Max="100" Description="Set RF1 match position C2 value" />
+				<Step ModuleName="RF1" DeviceType="RF" DisplayName="Bias RF1 Match C1"   ControlName="BiasRf1Match.SetMatchPositionC1" InputType="NumInput" Min="0" Max="100" Description="Set RF1 match position C1 value" />
+				<Step ModuleName="RF1" DeviceType="RF" DisplayName="Bias RF1 Match C2"   ControlName="BiasRf1Match.SetMatchPositionC2" InputType="NumInput" Min="0" Max="100" Description="Set RF1 match position C2 value" />
 
 			</Group>
 			<Group DisplayName="RF2">
 				<Step ModuleName="RF2" DeviceType="RF" DisplayName="RF2 Time" ControlName="Rf2.SetPowerOnTime" InputType="NumInput" Min="0" Max="100000" Description="RF2 Power On Time" />
 				<Step ModuleName="RF2" DeviceType="RF" DisplayName="Source RF2 Power" ControlName="Rf2.SetPower" InputType="NumInput" Min="0" Max="1000" Description="Source RF2 Power value" />
 				<Step ModuleName="RF2" DeviceType="RF" DisplayName="Bias RF2 Power" ControlName="BiasRf2.SetPower" InputType="NumInput" Min="0" Max="1000" Description="Bias RF2 Power value" />
-				<Step ModuleName="RF2" DeviceType="RF" DisplayName="Bias RF2 Mode" ControlName="BiasRf2.SetMatchProcessMode" InputType="ReadOnlySelection" Description="RF2 Match Mode">
+				<Step ModuleName="RF2" DeviceType="RF" DisplayName="Bias RF2 Mode" ControlName="BiasRf2Match.SetMatchProcessMode" InputType="ReadOnlySelection" Description="RF2 Match Mode">
 					<Item DisplayName="Preset Mode"  ControlName="Preset" />
 					<Item DisplayName="Hold Mode" ControlName="Hold" />
 				</Step>
 
-				<Step ModuleName="RF2" DeviceType="RF" DisplayName="Bias RF2 Match C1"   ControlName="BiasRf2.SetMatchPositionC1" InputType="NumInput" Min="0" Max="100" Description="Set RF2 match position C1 value" />
-				<Step ModuleName="RF2" DeviceType="RF" DisplayName="Bias RF2 Match C2"   ControlName="BiasRf2.SetMatchPositionC2" InputType="NumInput" Min="0" Max="100" Description="Set RF2 match position C2 value" />
+				<Step ModuleName="RF2" DeviceType="RF" DisplayName="Bias RF2 Match C1"   ControlName="BiasRf2Match.SetMatchPositionC1" InputType="NumInput" Min="0" Max="100" Description="Set RF2 match position C1 value" />
+				<Step ModuleName="RF2" DeviceType="RF" DisplayName="Bias RF2 Match C2"   ControlName="BiasRf2Match.SetMatchPositionC2" InputType="NumInput" Min="0" Max="100" Description="Set RF2 match position C2 value" />
 
 			</Group>
 		</Catalog>
@@ -142,13 +142,13 @@
 			</Restriction>
 		</Validation>
 	</TableRecipeFormat>
-	<TableRecipeData RecipeVersion="EfemDual" Barcode="" CreatedBy="System" CreationTime="2016-05-13T13:56:44" LastRevisedBy="admin" LastRevisionTime="2015-10-13T13:56:44" PressureMode="TV" BasePressure="0.0" Chamber1Temperature="50" Chamber2Temperature="50" PumpingPinState="Down" PumpDownLimit="120" PurgeActive="false" Description="(Empty)" NotToPurgeOrVent="false" VentingPinState="Down" PinDownPressure="1000">
+	<TableRecipeData RecipeVersion="EfemDual" Barcode="" CreatedBy="System" CreationTime="2016-05-13T13:56:44" LastRevisedBy="admin" LastRevisionTime="2015-10-13T13:56:44" PressureMode="TV" BasePressure="0.0" Chamber1Temperature="50" Chamber2Temperature="50" PumpingPinState="Down" PumpDownLimit="120" PurgeActive="false" Description="(Empty)" NotToPurgeOrVent="true" VentingPinState="Down" PinDownPressure="1000">
 		<Step StepNo="Step 1" Name="initial" Loop=" " Time="0" EndBy="EndByStepTime">
 			<Pressure PressureControl.SetTVMode="TVPressureCtrl" PressureControl.SetTVPosition="0" PressureControl.SetTVPressure="50" PressureControl.SetBoostPressure="100" PressureControl.SetChamberPressure="100" />
 			<Pin1 LiftPin1.SetState="Down"/>
 			<Pin2 LiftPin2.SetState="Down"/>
-			<RF1 Rf1.SetPowerOnTime ="0" Rf1.SetMode ="ContinuousWaveMode" Match1.SetMatchProcessMode="PresetMode" Rf1.SetPower="0" BiasRf1.SetPower="0" BiasRf1.SetMatchProcessMode="Preset" BiasRf1.SetMatchPositionC1="50" BiasRf1.SetMatchPositionC2="50" Rf1.SetPulsingDuty="0" Rf1.SetPulsingFrequency="0" Match1.SetMatchPositionC1="50" Match1.SetMatchPositionC2="50" />
-			<RF2 Rf2.SetPowerOnTime ="0" Rf2.SetMode ="ContinuousWaveMode" Match2.SetMatchProcessMode="PresetMode" Rf2.SetPower="0" BiasRf2.SetPower="0" BiasRf2.SetMatchProcessMode="Preset" BiasRf2.SetMatchPositionC1="50" BiasRf2.SetMatchPositionC2="50" Rf2.SetPulsingDuty="0" Rf2.SetPulsingFrequency="0" Match2.SetMatchPositionC1="50" Match2.SetMatchPositionC2="50" />
+			<RF1 Rf1.SetPowerOnTime ="0" Rf1.SetMode ="ContinuousWaveMode" Match1.SetMatchProcessMode="PresetMode" Rf1.SetPower="0" BiasRf1.SetPower="0" BiasRf1Match.SetMatchProcessMode="Preset" BiasRf1Match.SetMatchPositionC1="50" BiasRf1Match.SetMatchPositionC2="50" Rf1.SetPulsingDuty="0" Rf1.SetPulsingFrequency="0" Match1.SetMatchPositionC1="50" Match1.SetMatchPositionC2="50" />
+      <RF2 Rf2.SetPowerOnTime ="0" Rf2.SetMode ="ContinuousWaveMode" Match2.SetMatchProcessMode="PresetMode" Rf2.SetPower="0" BiasRf2.SetPower="0" BiasRf2Match.SetMatchProcessMode="Preset" BiasRf2Match.SetMatchPositionC1="50" BiasRf2Match.SetMatchPositionC2="50" Rf2.SetPulsingDuty="0" Rf2.SetPulsingFrequency="0" Match2.SetMatchPositionC1="50" Match2.SetMatchPositionC2="50" />
 			<Mfc MfcGas1 ="0" MfcGas2="0" MfcGas3="0" MfcGas4="0" MfcGas5="0"  MfcGas6="0"/>
       <EndPoint  EPD.SetConfig=""/>
 			<SoftTolerance MfcGas1.SoftTolerance ="5" MfcGas2.SoftTolerance="5" MfcGas3.SoftTolerance="5" MfcGas4.SoftTolerance="5" MfcGas5.SoftTolerance="5" MfcGas6.SoftTolerance="5"  PressureControl.SoftTolerance="0" Rf1.SoftTolerance="5"  Rf2.SoftTolerance="5" BiasRf1.SoftTolerance="5"  BiasRf2.SoftTolerance="5" />
@@ -206,9 +206,9 @@
 											<xs:attribute name="Rf1.SetPulsingDuty" type="xs:double" use="optional" />
 											<xs:attribute name="Rf1.SetPower" type="xs:double" use="required" />
 											<xs:attribute name="BiasRf1.SetPower" type="xs:double" use="required" />
-											<xs:attribute name="BiasRf1.SetMatchProcessMode" type="xs:string" use="required" />
-											<xs:attribute name="BiasRf1.SetMatchPositionC1" type="xs:double" use="required" />
-											<xs:attribute name="BiasRf1.SetMatchPositionC2" type="xs:double" use="required" />
+											<xs:attribute name="BiasRf1Match.SetMatchProcessMode" type="xs:string" use="required" />
+											<xs:attribute name="BiasRf1Match.SetMatchPositionC1" type="xs:double" use="required" />
+											<xs:attribute name="BiasRf1Match.SetMatchPositionC2" type="xs:double" use="required" />
 											<xs:attribute name="Match1.SetMatchProcessMode" type="xs:string" use="required" />
 											<xs:attribute name="Match1.SetMatchPositionC1" type="xs:double" use="required" />
 											<xs:attribute name="Match1.SetMatchPositionC2" type="xs:double" use="required" />
@@ -222,9 +222,9 @@
 											<xs:attribute name="Rf2.SetPulsingDuty" type="xs:double" use="optional" />
 											<xs:attribute name="Rf2.SetPower" type="xs:double" use="required" />
 											<xs:attribute name="BiasRf2.SetPower" type="xs:double" use="required" />
-											<xs:attribute name="BiasRf2.SetMatchProcessMode" type="xs:string" use="required" />
-											<xs:attribute name="BiasRf2.SetMatchPositionC1" type="xs:double" use="required" />
-											<xs:attribute name="BiasRf2.SetMatchPositionC2" type="xs:double" use="required" />
+											<xs:attribute name="BiasRf2Match.SetMatchProcessMode" type="xs:string" use="required" />
+											<xs:attribute name="BiasRf2Match.SetMatchPositionC1" type="xs:double" use="required" />
+											<xs:attribute name="BiasRf2Match.SetMatchPositionC2" type="xs:double" use="required" />
 											<xs:attribute name="Match2.SetMatchProcessMode" type="xs:string" use="required" />
 											<xs:attribute name="Match2.SetMatchPositionC1" type="xs:double" use="required" />
 											<xs:attribute name="Match2.SetMatchPositionC2" type="xs:double" use="required" />

+ 1 - 1
JetVirgoPM/Config/Recipe/JetVirgoPM/Process/RecipeFormatPlus.xml

@@ -146,7 +146,7 @@
       </Restriction>
     </Validation>
   </TableRecipeFormat>
-  <TableRecipeData RecipeVersion="EfemDual" Barcode="" CreatedBy="System" CreationTime="2016-05-13T13:56:44" LastRevisedBy="admin" LastRevisionTime="2015-10-13T13:56:44" PressureMode="TV" BasePressure="0.0" Chamber1Temperature="50" Chamber2Temperature="50" PumpingPinState="Position1" PumpDownLimit="120" PurgeActive="false" Description="(Empty)" NotToPurgeOrVent="false" VentingPinState="Position1" PinDownPressure="1000">
+  <TableRecipeData RecipeVersion="EfemDual" Barcode="" CreatedBy="System" CreationTime="2016-05-13T13:56:44" LastRevisedBy="admin" LastRevisionTime="2015-10-13T13:56:44" PressureMode="TV" BasePressure="0.0" Chamber1Temperature="50" Chamber2Temperature="50" PumpingPinState="Position1" PumpDownLimit="120" PurgeActive="false" Description="(Empty)" NotToPurgeOrVent="true" VentingPinState="Position1" PinDownPressure="1000">
     <Step StepNo="Step 1" Name="initial" Loop=" " Time="0" EndBy="EndByStepTime">
       <Pressure PressureControl.SetTVMode="TVPressureCtrl" PressureControl.SetTVPosition="0" PressureControl.SetTVPressure="50" PressureControl.SetBoostPressure="100" PressureControl.SetChamberPressure="100" />
       <Pin1 LiftPin1.SetState="Position1"/>

+ 6 - 6
JetVirgoPM/PMs/RecipeExecutors/JetVirgoPMRecipeFileContext.cs

@@ -47,9 +47,9 @@ namespace JetVirgoPM.PMs.RecipeExecutors
                 bool rfEnableBias1 = SC.GetValue<bool>($"{chamberType}.BiasRf1.EnableBiasRF");
 
                 var nodeRfPowerBias1 = xmlDom.SelectSingleNode(string.Format("/Aitex/TableRecipeFormat/Catalog/Group/Step[@ControlName='BiasRf1.SetPower']")) as XmlElement;
-                var nodeMatchModeBias1 = xmlDom.SelectSingleNode(string.Format("/Aitex/TableRecipeFormat/Catalog/Group/Step[@ControlName='BiasRf1.SetMatchProcessMode']")) as XmlElement;
-                var nodeMatchC1Bias1 = xmlDom.SelectSingleNode(string.Format("/Aitex/TableRecipeFormat/Catalog/Group/Step[@ControlName='BiasRf1.SetMatchPositionC1']")) as XmlElement;
-                var nodeMatchC2Bias1 = xmlDom.SelectSingleNode(string.Format("/Aitex/TableRecipeFormat/Catalog/Group/Step[@ControlName='BiasRf1.SetMatchPositionC2']")) as XmlElement;
+                var nodeMatchModeBias1 = xmlDom.SelectSingleNode(string.Format("/Aitex/TableRecipeFormat/Catalog/Group/Step[@ControlName='BiasRf1Match.SetMatchProcessMode']")) as XmlElement;
+                var nodeMatchC1Bias1 = xmlDom.SelectSingleNode(string.Format("/Aitex/TableRecipeFormat/Catalog/Group/Step[@ControlName='BiasRf1Match.SetMatchPositionC1']")) as XmlElement;
+                var nodeMatchC2Bias1 = xmlDom.SelectSingleNode(string.Format("/Aitex/TableRecipeFormat/Catalog/Group/Step[@ControlName='BiasRf1Match.SetMatchPositionC2']")) as XmlElement;
                 var nodeRfPower1 = xmlDom.SelectSingleNode(string.Format("/Aitex/TableRecipeFormat/Catalog/Group/Step[@ControlName='Rf1.SetPower']")) as XmlElement;
                 var nodeRfPowerBiasSoft1 = xmlDom.SelectSingleNode(string.Format("/Aitex/TableRecipeFormat/Catalog/Group/Step[@ControlName='BiasRf1.SoftTolerance']")) as XmlElement;
                 var nodeRfPowerBiasHard1 = xmlDom.SelectSingleNode(string.Format("/Aitex/TableRecipeFormat/Catalog/Group/Step[@ControlName='BiasRf1.HardTolerance']")) as XmlElement;
@@ -94,9 +94,9 @@ namespace JetVirgoPM.PMs.RecipeExecutors
                 bool rfEnableBias2 = SC.GetValue<bool>($"{chamberType}.BiasRf2.EnableBiasRF");
 
                 var nodeRfPowerBias2 = xmlDom.SelectSingleNode(string.Format("/Aitex/TableRecipeFormat/Catalog/Group/Step[@ControlName='BiasRf2.SetPower']")) as XmlElement;
-                var nodeMatchModeBias2 = xmlDom.SelectSingleNode(string.Format("/Aitex/TableRecipeFormat/Catalog/Group/Step[@ControlName='BiasRf2.SetMatchProcessMode']")) as XmlElement;
-                var nodeMatchC1Bias2 = xmlDom.SelectSingleNode(string.Format("/Aitex/TableRecipeFormat/Catalog/Group/Step[@ControlName='BiasRf2.SetMatchPositionC1']")) as XmlElement;
-                var nodeMatchC2Bias2 = xmlDom.SelectSingleNode(string.Format("/Aitex/TableRecipeFormat/Catalog/Group/Step[@ControlName='BiasRf2.SetMatchPositionC2']")) as XmlElement;
+                var nodeMatchModeBias2 = xmlDom.SelectSingleNode(string.Format("/Aitex/TableRecipeFormat/Catalog/Group/Step[@ControlName='BiasRf2Match.SetMatchProcessMode']")) as XmlElement;
+                var nodeMatchC1Bias2 = xmlDom.SelectSingleNode(string.Format("/Aitex/TableRecipeFormat/Catalog/Group/Step[@ControlName='BiasRf2Match.SetMatchPositionC1']")) as XmlElement;
+                var nodeMatchC2Bias2 = xmlDom.SelectSingleNode(string.Format("/Aitex/TableRecipeFormat/Catalog/Group/Step[@ControlName='BiasRf2Match.SetMatchPositionC2']")) as XmlElement;
                 var nodeRfPower2 = xmlDom.SelectSingleNode(string.Format("/Aitex/TableRecipeFormat/Catalog/Group/Step[@ControlName='Rf2.SetPower']")) as XmlElement;
                 var nodeRfPowerBiasSoft2 = xmlDom.SelectSingleNode(string.Format("/Aitex/TableRecipeFormat/Catalog/Group/Step[@ControlName='BiasRf2.SoftTolerance']")) as XmlElement;
                 var nodeRfPowerBiasHard2 = xmlDom.SelectSingleNode(string.Format("/Aitex/TableRecipeFormat/Catalog/Group/Step[@ControlName='BiasRf2.HardTolerance']")) as XmlElement;

+ 19 - 19
JetVirgoPM/PMs/RecipeExecutors/Recipe.cs

@@ -155,14 +155,14 @@ namespace JetVirgoPM.PMs.RecipeExecutors
                             SC.GetValue<int>($"{chamberId}.match1.MFG") == (int)MatchMFG.AdTec)
                         {
                             //BiasRf1.SetMatchProcessMode
-                            dic["match1.SetMatchProcessMode"] = dic["BiasRf1.SetMatchProcessMode"];
-                            dic.Remove("BiasRf1.SetMatchProcessMode");
+                            dic["match1.SetMatchProcessMode"] = dic["BiasRf1Match.SetMatchProcessMode"];
+                            dic.Remove("BiasRf1Match.SetMatchProcessMode");
 
-                            dic["match1.SetMatchPositionC1"] = dic["BiasRf1.SetMatchPositionC1"];
-                            dic.Remove("BiasRf1.SetMatchPositionC1");
+                            dic["match1.SetMatchPositionC1"] = dic["BiasRf1Match.SetMatchPositionC1"];
+                            dic.Remove("BiasRf1Match.SetMatchPositionC1");
 
-                            dic["match1.SetMatchPositionC2"] = dic["BiasRf1.SetMatchPositionC2"];
-                            dic.Remove("BiasRf1.SetMatchPositionC2");
+                            dic["match1.SetMatchPositionC2"] = dic["BiasRf1Match.SetMatchPositionC2"];
+                            dic.Remove("BiasRf1Match.SetMatchPositionC2");
                         }
 
                         if (SC.GetValue<bool>($"{chamberId}.IgnoreBiasMatch"))
@@ -179,9 +179,9 @@ namespace JetVirgoPM.PMs.RecipeExecutors
                     else
                     {
                         dic.Remove("BiasRf1.SetPower");
-                        dic.Remove("BiasRf1.SetMatchProcessMode");
-                        dic.Remove("BiasRf1.SetMatchPositionC1");
-                        dic.Remove("BiasRf1.SetMatchPositionC2");
+                        dic.Remove("BiasRf1Match.SetMatchProcessMode");
+                        dic.Remove("BiasRf1Match.SetMatchPositionC1");
+                        dic.Remove("BiasRf1Match.SetMatchPositionC2");
                     }
 
                     int rf2Power = (int)Convert.ToDouble(dic["Rf2.SetPower"]);
@@ -194,14 +194,14 @@ namespace JetVirgoPM.PMs.RecipeExecutors
                         if (SC.GetValue<int>($"{chamberId}.match1.CommunicationType") == (int)CommunicationType.RS232 &&
                             SC.GetValue<int>($"{chamberId}.match1.MFG") == (int)MatchMFG.AdTec)
                         {
-                            dic["match2.SetMatchProcessMode"] = dic["BiasRf2.SetMatchProcessMode"];
-                            dic.Remove("BiasRf2.SetMatchProcessMode");
+                            dic["match2.SetMatchProcessMode"] = dic["BiasRf2Match.SetMatchProcessMode"];
+                            dic.Remove("BiasRf2Match.SetMatchProcessMode");
 
-                            dic["match2.SetMatchPositionC1"] = dic["BiasRf2.SetMatchPositionC1"];
-                            dic.Remove("BiasRf2.SetMatchPositionC1");
+                            dic["match2.SetMatchPositionC1"] = dic["BiasRf2Match.SetMatchPositionC1"];
+                            dic.Remove("BiasRf2Match.SetMatchPositionC1");
 
-                            dic["match2.SetMatchPositionC2"] = dic["BiasRf2.SetMatchPositionC2"];
-                            dic.Remove("BiasRf2.SetMatchPositionC2");
+                            dic["match2.SetMatchPositionC2"] = dic["BiasRf2Match.SetMatchPositionC2"];
+                            dic.Remove("BiasRf2Match.SetMatchPositionC2");
                         }
 
                         if (SC.GetValue<bool>($"{chamberId}.IgnoreBiasMatch"))
@@ -210,7 +210,7 @@ namespace JetVirgoPM.PMs.RecipeExecutors
                                 dic.Remove("BiasRf2Match.SetMatchProcessMode");
                             if (dic.ContainsKey("BiasRf2Match.SetMatchPositionC1"))
                                 dic.Remove("BiasRf2Match.SetMatchPositionC1");
-                            if (dic.ContainsKey("BiasRf1Match.SetMatchPositionC2"))
+                            if (dic.ContainsKey("BiasRf2Match.SetMatchPositionC2"))
                                 dic.Remove("BiasRf2Match.SetMatchPositionC2");
                         }
 
@@ -218,9 +218,9 @@ namespace JetVirgoPM.PMs.RecipeExecutors
                     else
                     {
                         dic.Remove("BiasRf2.SetPower");
-                        dic.Remove("BiasRf2.SetMatchProcessMode");
-                        dic.Remove("BiasRf2.SetMatchPositionC1");
-                        dic.Remove("BiasRf2.SetMatchPositionC2");
+                        dic.Remove("BiasRf2Match.SetMatchProcessMode");
+                        dic.Remove("BiasRf2Match.SetMatchPositionC1");
+                        dic.Remove("BiasRf2Match.SetMatchPositionC2");
                     }
 
                     bool epdInstalled = SC.ContainsItem("System.SetUp.EPDInstalled") && SC.GetValue<bool>($"System.SetUp.EPDInstalled");

+ 1 - 1
RecipeEditorControl/View/RecipeInfoEditor.xaml

@@ -85,7 +85,7 @@
                     </ComboBox>
 
                     <Rectangle Grid.Row="3" Grid.Column="2" Fill="#376092" Margin="0" Stroke="White" StrokeThickness="1"></Rectangle>
-                    <TextBlock Grid.Row="3" Grid.Column="2" FontSize="15" Margin="5" VerticalAlignment="Center" Text="{DynamicResource GlobalLableInfoNotToPurgeOrVent}" Foreground="White" />
+                    <TextBlock Grid.Row="3" Grid.Column="2" FontSize="15" Margin="5" VerticalAlignment="Center" Text="{DynamicResource GlobalLableInfoNotToPurgeOrVent}" Foreground="White"/>
                     <Rectangle Grid.Row="3" Grid.Column="3" Fill="#95B3D7" Margin="0" Stroke="White" StrokeThickness="1"></Rectangle>
                     <CheckBox  Grid.Row="3" Grid.Column="3" Margin="60 10 0 0" x:Name="notToPurgeOrVent" IsChecked="{Binding Path=NotToPurgeOrVent, Converter={StaticResource boolConverter}, Mode=OneWay}"/>
                 </Grid>