Browse Source

update scheduler puf parameter

chenkui 3 months ago
parent
commit
abb9a9350a

+ 4 - 14
CyberX8_MainPages/ViewModels/JobOperationViewModel.cs

@@ -429,13 +429,9 @@ namespace CyberX8_MainPages.ViewModels
         public DelegateCommand<object> SetSequenceCommand =>
            _SetSequenceCommand ?? (_SetSequenceCommand = new DelegateCommand<object>(OnSetSequence));
 
-        private DelegateCommand<object> _LPLoadCommand;
-        public DelegateCommand<object> LPLoadCommand =>
-            _LPLoadCommand ?? (_LPLoadCommand = new DelegateCommand<object>(OnLPLoad));
-
-        private DelegateCommand<object> _LPUnLoadCommand;
-        public DelegateCommand<object> LPUnLoadCommand =>
-            _LPUnLoadCommand ?? (_LPUnLoadCommand = new DelegateCommand<object>(OnLPUnLoad));
+        private DelegateCommand<object> _LPMapCommand;
+        public DelegateCommand<object> LPMapCommand =>
+            _LPMapCommand ?? (_LPMapCommand = new DelegateCommand<object>(OnLPLoad));
 
         private DelegateCommand<object> _SeqTypeChangeCommand;
         public DelegateCommand<object> SeqTypeChangeCommand =>
@@ -981,15 +977,9 @@ namespace CyberX8_MainPages.ViewModels
         }
         private void OnLPLoad(object obj)
         { 
-            InvokeClient.Instance.Service.DoOperation($"{obj.ToString()}.Load");
+            InvokeClient.Instance.Service.DoOperation($"{obj.ToString()}.Map");
 
         }
-        private void OnLPUnLoad(object obj)
-        {
-            var info = obj as WaferAssociationInfo;
-            var module = info.ModuleData.ModuleID;
-            InvokeClient.Instance.Service.DoOperation($"{module}.Unload");          
-        }
         private void OnSeqTypeChange(object obj)
         {
             var info = obj as WaferAssociationInfo;

+ 3 - 6
CyberX8_MainPages/Views/JobOperationView.xaml

@@ -124,8 +124,7 @@
                                 <TextBlock Text="{Binding LP1WaferCount}" FontSize="15" FontFamily="Arial"/>
                             </StackPanel>
 
-                            <customControls:PathButton  Grid.Row="1" IsEnabled="{Binding IsLP1Unable}" Content="Load" Width="90" Height="33" Command="{Binding LPLoadCommand}"   CommandParameter="LP1"/>
-                            <customControls:PathButton Grid.Row="1" Grid.Column="1"  IsEnabled="{Binding IsLP1Unable}" Content="Unload" Width="90" Height="33" Command="{Binding LPUnLoadCommand}" CommandParameter="{Binding LP1WaferAssociation}"/>
+                            <customControls:PathButton  Grid.Row="1" IsEnabled="{Binding IsLP1Unable}" Content="Map" Width="90" Height="33" Command="{Binding LPMapCommand}"   CommandParameter="LP1"/>
 
                         </Grid>
                     </Border>
@@ -145,8 +144,7 @@
                                 <TextBlock Text="{Binding LP2WaferCount}" FontSize="15" FontFamily="Arial"/>
                             </StackPanel>
 
-                            <customControls:PathButton Grid.Row="1" IsEnabled="{Binding IsLP2Unable}" Content="Load" Width="90" Height="33" Command="{Binding LPLoadCommand}"   CommandParameter="LP2"/>
-                            <customControls:PathButton Grid.Row="1" Grid.Column="1"  IsEnabled="{Binding IsLP2Unable}" Content="Unload" Width="90" Height="33" Command="{Binding LPUnLoadCommand}" CommandParameter="{Binding LP2WaferAssociation}"/>
+                            <customControls:PathButton Grid.Row="1" IsEnabled="{Binding IsLP2Unable}" Content="Map" Width="90" Height="33" Command="{Binding LPMapCommand}"   CommandParameter="LP2"/>
                         </Grid>
                     </Border>
 
@@ -165,8 +163,7 @@
                                 <TextBlock Text="{Binding LP3WaferCount}" FontSize="15" FontFamily="Arial"/>
                             </StackPanel>
 
-                            <customControls:PathButton Grid.Row="1" IsEnabled="{Binding IsLP3Unable}" Content="Load" Width="90" Height="33" Command="{Binding LPLoadCommand}"   CommandParameter="LP3"/>
-                            <customControls:PathButton Grid.Row="1" Grid.Column="1"  IsEnabled="{Binding IsLP3Unable}" Content="Unload" Width="90" Height="33" Command="{Binding LPUnLoadCommand}" CommandParameter="{Binding LP3WaferAssociation}"/>
+                            <customControls:PathButton Grid.Row="1" IsEnabled="{Binding IsLP3Unable}" Content="Load" Width="90" Height="33" Command="{Binding LPMapCommand}"   CommandParameter="LP3"/>
                         </Grid>
                     </Border>
 

+ 6 - 6
CyberX8_RT/Config/Devices/FestoControllerCfg-Simulator.xml

@@ -15,12 +15,12 @@
 		<DO Name="c_LOADERB_BERNOULLI_BLADDER" Address="40004" Invert="false" Bit="3"/>
 		<DO Name="c_LoaderA_LS_Vacuum" Address="40004" Invert="true" Bit="4"/>
 		<DO Name="c_LoaderB_LS_Vacuum" Address="40004" Invert="true" Bit="5"/>
-		<DO Name="c_DPUF_A_CHUCK_A_RELEASE" Address="40004" Invert="true" Bit="6"/>
-		<DO Name="c_DPUF_A_CHUCK_B_RELEASE" Address="40004" Invert="true" Bit="7"/>
-		<DO Name="Festo.DO16" Address="40005" Invert="false" Bit="0"/>
-		<DO Name="Fest3.DO17" Address="40005" Invert="false" Bit="1"/>
-		<DO Name="c_LOADERA_BERNOULLI_N2" Address="40005" Invert="false" Bit="2"/>
-		<DO Name="c_LOADERB_BERNOULLI_N2" Address="40005" Invert="false" Bit="3"/>
+		<DO Name="c_DPUF_A_CHUCK_A_RELEASE" Address="40004" Invert="false" Bit="6"/>
+		<DO Name="c_DPUF_A_CHUCK_B_RELEASE" Address="40004" Invert="false" Bit="7"/>
+		<DO Name="c_LOADERA_BERNOULLI_N2" Address="40005" Invert="false" Bit="0"/>
+		<DO Name="c_LOADERB_BERNOULLI_N2" Address="40005" Invert="false" Bit="1"/>
+		<DO Name="Festo.DO18" Address="40005" Invert="false" Bit="2"/>
+		<DO Name="Festo.DO19" Address="40005" Invert="false" Bit="3"/>
 		<DO Name="Festo.DO20" Address="40005" Invert="false" Bit="4"/>
 		<DO Name="Festo.DO21" Address="40005" Invert="false" Bit="5"/>
 		<DO Name="Festo.DO22" Address="40005" Invert="false" Bit="6"/>

+ 254 - 12
CyberX8_RT/Config/Devices/WagoControllerCfg-Simulator.xml

@@ -59,24 +59,28 @@
 				<DO Name="DO15"  Address="527" Invert="false"/>
 			</DOGroup>
 			<DOGroup Name="N9">
-				<DO Name="DO16"  Address="527" Invert="false"/>
-				<DO Name="DO17"  Address="528" Invert="false"/>
+				<DO Name="c_HVD_1_HIGH"  Address="528" Invert="false"/>
+				<DO Name="c_HVD_1_ENABLE"  Address="529" Invert="false"/>
 			</DOGroup>
 			<DOGroup Name="N10">
-				<DO Name="DO18"  Address="529" Invert="false"/>
-				<DO Name="DO9"  Address="530" Invert="false"/>
+				<DO Name="c_HVD_2_HIGH"  Address="530" Invert="false"/>
+				<DO Name="c_HVD_2_ENABLE"  Address="531" Invert="false"/>
 			</DOGroup>
 			<DOGroup Name="N11">
-				<DO Name="DO20"  Address="531" Invert="false"/>
-				<DO Name="DO21"  Address="532" Invert="false"/>
+				<DO Name="\c_Door_Unlock"  Address="532" Invert="false"/>
+				<DO Name="DO21"  Address="533" Invert="false"/>
+			</DOGroup>
+			<DOGroup Name="N12">
+				<DO Name="c_CAMERA_1_TRIGGER"  Address="534" Invert="false"/>
+				<DO Name="c_CAMERA_2_TRIGGER"  Address="535" Invert="false"/>
 			</DOGroup>
 		</Dig_Out>
 		<Ano_In>
 			<AIGroup Name="N1">
 				<AI Name="AI1"  Address="0" Scaling="0=3276.7,-757=16383.5" DataType="short"/>
 				<AI Name="AI2"  Address="1" DataType="short"/>
-				<AI Name="AI3"  Address="2" DataType="short"/>
-				<AI Name="AI4"  Address="3" DataType="short"/>
+				<AI Name="r_HVD_1_ANALOG"  Address="2" Scaling="0=3276.7,-757=16383.5" DataType="short"/>
+				<AI Name="r_HVD_2_ANALOG"  Address="3" Scaling="0=3276.7,-757=16383.5" DataType="short"/>
 				<AI Name="r_LoaderA_LS_Vacuum_anlg"  Address="4" Scaling="0=3276.7,-757=16383.5" DataType="short"/>
 				<AI Name="r_LoaderB_LS_Vacuum_anlg"  Address="5" Scaling="0=3276.7,-757=16383.5" DataType="short"/>
 				<AI Name="AI6"  Address="6" DataType="short"/>
@@ -143,13 +147,251 @@
 		</Dig_Out>
 		<Ano_In>
 			<AIGroup Name="N60">
-				<AI Name="r_DPUF_A_CHUCK_A_VAC"  Address="0" Scaling="0=3276.7,-757.5=16383.5" DataType="short"/>
-				<AI Name="r_DPUF_A_CHUCK_B_VAC"  Address="1" Scaling="0=3276.7,-757.5=16383.5" DataType="short"/>
-				<AI Name="r_DIST_FRONT"  Address="2" Scaling="13=0,150=32767" DataType="short"/>
-				<AI Name="r_DIST_REAR"  Address="3" Scaling="13=0,150=32767" DataType="short"/>
+				<AI Name="r_DPUF_A_CHUCK_A_VAC"  Address="0" Scaling="0=3276.7,-757=16383.5" DataType="short"/>
+				<AI Name="r_DPUF_A_CHUCK_B_VAC"  Address="1" Scaling="0=3276.7,-757=16383.5" DataType="short"/>
+				<AI Name="r_DPUF_A_CHUCK_A_WFER_SNS_1"  Address="2" Scaling="13=0,150=32767" DataType="short"/>
+				<AI Name="r_DPUF_A_CHUCK_A_WFER_SNS_2"  Address="3" Scaling="13=0,150=32767" DataType="short"/>
+			</AIGroup>
+		</Ano_In>
+		<Ano_Out>
+		</Ano_Out>
+	</WagoDeviceConfig>
+	<WagoDeviceConfig Module="Wago2" IpAddress="127.0.0.1" Port="551" SendTimeout="2000" RecvTimeout="2000" Channel="1">
+		<Dig_In>
+			<DIGroup Name="20">
+				<DI Name="DI0"  Address="0" Invert="false"/>
+				<DI Name="DI1"  Address="1" Invert="false"/>
+				<DI Name="DI2"  Address="2" Invert="false"/>
+				<DI Name="DI3"  Address="3" Invert="false"/>
+				<DI Name="DI4"  Address="4" Invert="false"/>
+				<DI Name="DI5"  Address="5" Invert="false"/>
+				<DI Name="DI6"  Address="6" Invert="false"/>
+				<DI Name="DI7"  Address="7" Invert="false"/>
+				<DI Name="DI8"  Address="8" Invert="false"/>
+				<DI Name="DI9"  Address="9" Invert="false"/>
+				<DI Name="DI10"  Address="10" Invert="false"/>
+				<DI Name="DI11"  Address="11" Invert="false"/>
+				<DI Name="DI12"  Address="12" Invert="false"/>
+				<DI Name="DI13"  Address="13" Invert="false"/>
+				<DI Name="DI14"  Address="14" Invert="false"/>
+				<DI Name="DI15"  Address="15" Invert="false"/>
+			</DIGroup>
+			<DIGroup Name="21">
+				<DI Name="DI16"  Address="16" Invert="false"/>
+				<DI Name="DI17"  Address="17" Invert="false"/>
+				<DI Name="DI18"  Address="18" Invert="false"/>
+				<DI Name="DI19"  Address="19" Invert="false"/>
+				<DI Name="DI20"  Address="20" Invert="false"/>
+				<DI Name="DI21"  Address="21" Invert="false"/>
+				<DI Name="r_CONTAINMENT_FLUID"  Address="22" Invert="true"/>
+				<DI Name="r_DOOR_INLK_OK"  Address="23" Invert="false"/>
+				<DI Name="DI24"  Address="24" Invert="false"/>
+				<DI Name="DI25"  Address="25" Invert="false"/>
+				<DI Name="DI26"  Address="26" Invert="false"/>
+				<DI Name="DI27"  Address="27" Invert="false"/>
+				<DI Name="r_REAR_DOOR_INTLK"  Address="28" Invert="false"/>
+				<DI Name="r_SAMPLE_SYS_FLUID_NOT_PRESENT"  Address="29" Invert="false"/>
+				<DI Name="DI28"  Address="30" Invert="false"/>
+				<DI Name="DI29"  Address="31" Invert="false"/>
+			</DIGroup>
+			<DIGroup Name="22">
+				<DI Name="r_RES1_HI_LEVEL"  Address="32" Invert="false"/>
+				<DI Name="r_RES1_LOW_LEVEL"  Address="33" Invert="true"/>
+				<DI Name="r_RES2_HIGH_LEVEL"  Address="34" Invert="false"/>
+				<DI Name="r_RES2_LOW_LEVEL"  Address="35" Invert="true"/>
+				<DI Name="r_RES3_HIGH_LEVEL"  Address="36" Invert="false"/>
+				<DI Name="r_RES3_LOW_LEVEL"  Address="37" Invert="true"/>
+				<DI Name="r_RES4_HIGH_LEVEL"  Address="38" Invert="false"/>
+				<DI Name="r_RES4_LOW_LEVEL"  Address="39" Invert="true"/>
+				<DI Name="DI38"  Address="40" Invert="false"/>
+				<DI Name="DI39"  Address="41" Invert="false"/>
+				<DI Name="DI40"  Address="42" Invert="false"/>
+				<DI Name="DI41"  Address="43" Invert="false"/>
+				<DI Name="DI42"  Address="44" Invert="false"/>
+				<DI Name="DI43"  Address="45" Invert="false"/>
+				<DI Name="DI44"  Address="46" Invert="false"/>
+				<DI Name="DI45"  Address="47" Invert="false"/>
+			</DIGroup>
+			<DIGroup Name="30">
+				<DI Name="DI46"  Address="48" Invert="false"/>
+				<DI Name="DI47"  Address="49" Invert="false"/>
+			</DIGroup>
+		</Dig_In>
+		<Dig_Out>
+			<DOGroup Name="23">
+				<DO Name="c_CDA_ENABLE"  Address="512" Invert="false"/>
+				<DO Name="c_DI_ENABLE"  Address="513" Invert="false"/>
+				<DO Name="c_DI_FILL_ENABLE"  Address="514" Invert="false"/>
+				<DO Name="c_DI_REPLEN_ENABLE"  Address="515" Invert="false"/>
+				<DO Name="c_EXTERNAL_CDA_ENABLE"  Address="516" Invert="false"/>
+				<DO Name="c_HCW_ENABLE"  Address="517" Invert="false"/>
+				<DO Name="DO6"  Address="518" Invert="false"/>
+				<DO Name="c_N2_ENABLEc_QDRD1_LO_PRESSURE"  Address="519" Invert="false"/>
+				<DO Name="c_QDRD1_LO_PRESSURE"  Address="520" Invert="false"/>
+				<DO Name="c_QDRD2_LO_PRESSURE"  Address="521" Invert="false"/>
+				<DO Name="c_QDRD3_LO_PRESSURE"  Address="522" Invert="false"/>
+				<DO Name="c_QDRD4_LO_PRESSURE"  Address="523" Invert="false"/>
+				<DO Name="DO12"  Address="524" Invert="false"/>
+				<DO Name="DO13"  Address="525" Invert="false"/>
+				<DO Name="DO14"  Address="526" Invert="false"/>
+				<DO Name="DO15"  Address="527" Invert="false"/>
+			</DOGroup>
+			<DOGroup Name="24">
+				<DO Name="DO16"  Address="528" Invert="false"/>
+				<DO Name="DO17"  Address="529" Invert="false"/>
+				<DO Name="DO18"  Address="530" Invert="false"/>
+				<DO Name="DO19"  Address="531" Invert="false"/>
+				<DO Name="DO20"  Address="532" Invert="false"/>
+				<DO Name="DO21"  Address="533" Invert="false"/>
+				<DO Name="DO22"  Address="534" Invert="false"/>
+				<DO Name="DO23"  Address="535" Invert="false"/>
+				<DO Name="DO24"  Address="536" Invert="false"/>
+				<DO Name="DO25"  Address="537" Invert="false"/>
+				<DO Name="DO26"  Address="538" Invert="false"/>
+				<DO Name="DO27"  Address="539" Invert="false"/>
+				<DO Name="DO28"  Address="540" Invert="false"/>
+				<DO Name="DO29"  Address="541" Invert="false"/>
+				<DO Name="DO30"  Address="542" Invert="false"/>
+				<DO Name="DO31"  Address="543" Invert="false"/>
+			</DOGroup>
+			<DOGroup Name="25">
+				<DO Name="c_METAL1_PUMP_ON"  Address="544" Invert="false"/>
+				<DO Name="DO33"  Address="545" Invert="false"/>
+			</DOGroup>
+			<DOGroup Name="26">
+				<DO Name="c_METAL2_PUMP_ON"  Address="546" Invert="false"/>
+				<DO Name="c_HED1_POWER_ON"  Address="547" Invert="false"/>
+			</DOGroup>
+			<DOGroup Name="27">
+				<DO Name="c_HED2_POWER_ON"  Address="548" Invert="false"/>
+				<DO Name="DO37"  Address="549" Invert="false"/>
+			</DOGroup>
+			<DOGroup Name="28">
+				<DO Name="c_METAL3_PUMP_ON"  Address="550" Invert="false"/>
+				<DO Name="DO39"  Address="551" Invert="false"/>
+			</DOGroup>
+			<DOGroup Name="29">
+				<DO Name="c_RES3_POWER_ON"  Address="552" Invert="false"/>
+				<DO Name="DO41"  Address="553" Invert="false"/>
+			</DOGroup>
+		</Dig_Out>
+		<Ano_In>
+			<AIGroup Name="1">
+				<AI Name="r_pH2"  Address="0" Scaling="0=3276.7,14=32767" DataType="short"/>
+				<AI Name="AI1"  Address="1" Scaling="0=3276.7,-757.5=16383.5" DataType="short"/>
+				<AI Name="AI2"  Address="2" Scaling="13=0,150=32767" DataType="short"/>
+				<AI Name="AI3"  Address="3" Scaling="13=0,150=32767" DataType="short"/>
+			</AIGroup>
+			<AIGroup Name="2">
+				<AI Name="AI4"  Address="4" Scaling="0=3276.7,-757.5=16383.5" DataType="short"/>
+				<AI Name="AI5"  Address="5" Scaling="0=3276.7,-757.5=16383.5" DataType="short"/>
+				<AI Name="r_PREWET_DI_PRESS"  Address="6" Scaling="0=3276.7,100=32767" DataType="short"/>
+				<AI Name="AI7"  Address="7" Scaling="13=0,150=32767" DataType="short"/>
+			</AIGroup>
+			<AIGroup Name="3">
+				<AI Name="AI8"  Address="8" Scaling="0=3276.7,-757.5=16383.5" DataType="short"/>
+				<AI Name="AI9"  Address="9" Scaling="0=3276.7,-757.5=16383.5" DataType="short"/>
+				<AI Name="r_PREWET_FLOW"  Address="10" Scaling="0=3276.7,40=32767" DataType="short"/>
+				<AI Name="r_DI_WATER_PRESSURE"  Address="11" Scaling="0=3276.7,100=32767" DataType="short"/>
+			</AIGroup>
+			<AIGroup Name="4">
+				<AI Name="r_PUMP1_FLOW"  Address="12" Scaling="0=3276.7,40=16383.5" DataType="short"/>
+				<AI Name="AI13"  Address="13" Scaling="0=3276.7,40=16383.5" DataType="short"/>
+				<AI Name="r_PUMP2_FLOW"  Address="14" Scaling="0=3276.7,40=16383.5" DataType="short"/>
+				<AI Name="AI15"  Address="15" Scaling="0=3276.7,40=16383.5" DataType="short"/>
+			</AIGroup>
+			<AIGroup Name="5">
+				<AI Name="r_PUMP3_FLOW"  Address="16" Scaling="0=3276.7,40=16383.5" DataType="short"/>
+				<AI Name="AI17"  Address="17" Scaling="0=3276.7,40=16383.5" DataType="short"/>
+				<AI Name="r_PUMP4_FLOW"  Address="18" Scaling="0=3276.7,40=16383.5" DataType="short"/>
+				<AI Name="AI19"  Address="19" Scaling="0=3276.7,40=16383.5" DataType="short"/>
+			</AIGroup>
+			<AIGroup Name="6">
+				<AI Name="AI20"  Address="20" Scaling="0=3276.7,-757.5=16383.5" DataType="short"/>
+				<AI Name="AI21"  Address="21" Scaling="0=3276.7,-757.5=16383.5" DataType="short"/>
+				<AI Name="AI22"  Address="22" Scaling="13=0,150=32767" DataType="short"/>
+				<AI Name="AI23"  Address="23" Scaling="13=0,150=32767" DataType="short"/>
+			</AIGroup>
+			<AIGroup Name="7">
+				<AI Name="AI24"  Address="24" Scaling="0=3276.7,-757.5=16383.5" DataType="short"/>
+				<AI Name="AI25"  Address="25" Scaling="0=3276.7,-757.5=16383.5" DataType="short"/>
+				<AI Name="AI26"  Address="26" Scaling="13=0,150=32767" DataType="short"/>
+				<AI Name="AI27"  Address="27" Scaling="13=0,150=32767" DataType="short"/>
+			</AIGroup>
+			<AIGroup Name="8">
+				<AI Name="r_QDRD1_WATER_LEVEL"  Address="28" Scaling="0=3276.7,100=32767" DataType="short"/>
+				<AI Name="r_QDRD2_WATER_LEVEL"  Address="29" Scaling="0=3276.7,100=32767" DataType="short"/>
+				<AI Name="r_QDRD3_WATER_LEVEL"  Address="30" Scaling="0=3276.7,100=32767" DataType="short"/>
+				<AI Name="r_QDRD4_WATER_LEVEL"  Address="31" Scaling="0=3276.7,100=32767" DataType="short"/>
+			</AIGroup>
+			<AIGroup Name="9">
+				<AI Name="AI32"  Address="32" Scaling="0=3276.7,-757.5=16383.5" DataType="short"/>
+				<AI Name="AI33"  Address="33" Scaling="0=3276.7,-757.5=16383.5" DataType="short"/>
+				<AI Name="AI34"  Address="34" Scaling="13=0,150=32767" DataType="short"/>
+				<AI Name="AI35"  Address="35" Scaling="13=0,150=32767" DataType="short"/>
+			</AIGroup>
+			<AIGroup Name="10">
+				<AI Name="r_RES_LEVEL_1_raw"  Address="36" Scaling="0=3276.7,100=32767" DataType="short"/>
+				<AI Name="r_RES_LEVEL_2_raw"  Address="37" Scaling="0=3276.7,100=32767" DataType="short"/>
+				<AI Name="r_RES_LEVEL_3_raw"  Address="38" Scaling="0=3276.7,100=32767" DataType="short"/>
+				<AI Name="r_RES_LEVEL_4_raw"  Address="39" Scaling="0=3276.7,100=32767" DataType="short"/>
+			</AIGroup>
+			<AIGroup Name="11">
+				<AI Name="AI40"  Address="40" Scaling="0=3276.7,-757.5=16383.5" DataType="short"/>
+				<AI Name="AI41"  Address="41" Scaling="0=3276.7,-757.5=16383.5" DataType="short"/>
+				<AI Name="AI42"  Address="42" Scaling="13=0,150=32767" DataType="short"/>
+				<AI Name="r_HCW_FLOW"  Address="43" Scaling="0=3276.7,40=32767" DataType="short"/>
+			</AIGroup>
+			<AIGroup Name="12">
+				<AI Name="r_CDA_EXTERNAL_PRESSURE"  Address="44" Scaling="0=3276.7,145=16383.5" DataType="short"/>
+				<AI Name="r_CDA_HIGH_PRESSURE"  Address="45" Scaling="0=3276.7,145=16383.5" DataType="short"/>
+				<AI Name="r_CDA_LOW_PRESSURE"  Address="46" Scaling="0=3276.7,145=16383.5" DataType="short"/>
+				<AI Name="AI47"  Address="47" Scaling="13=0,150=32767" DataType="short"/>
+			</AIGroup>
+			<AIGroup Name="13">
+				<AI Name="AI48"  Address="48" Scaling="0=3276.7,145=16383.5" DataType="short"/>
+				<AI Name="r_N2_1_LOW_PRESSURE"  Address="49" Scaling="0=3276.7,145=16383.5" DataType="short"/>
+				<AI Name="r_N2_1_PRESSURE"  Address="50" Scaling="0=3276.7,145=16383.5" DataType="short"/>
+				<AI Name="r_N2_2_LOW_PRESSURE"  Address="51" Scaling="0=3276.7,145=16383.5" DataType="short"/>
+			</AIGroup>
+			<AIGroup Name="14">
+				<AI Name="r_N2_2_PRESSURE"  Address="52" Scaling="0=3276.7,145=16383.5" DataType="short"/>
+				<AI Name="r_PROC_BALANCE_PRESSURE"  Address="53" Scaling="0=3276.7,14.5=16383.5" DataType="short"/>
+				<AI Name="r_SYSTEM_VACUUM"  Address="54" Scaling="0=3276.7,-757.5=16383.5" DataType="short"/>
+				<AI Name="AI55"  Address="55" Scaling="13=0,150=32767" DataType="short"/>
 			</AIGroup>
 		</Ano_In>
 		<Ano_Out>
+			<AOGroup Name="15">
+				<AO Name="AO1"  Address="512" DataType="short"/>
+				<AO Name="AO2"  Address="513" DataType="short"/>
+				<AO Name="AO3"  Address="514" DataType="short"/>
+				<AO Name="AO4"  Address="515" DataType="short"/>
+			</AOGroup>
+			<AOGroup Name="16">
+				<AO Name="AO5"  Address="516" DataType="short"/>
+				<AO Name="AO6"  Address="517" DataType="short"/>
+				<AO Name="AO7"  Address="518" DataType="short"/>
+				<AO Name="AO8"  Address="519" DataType="short"/>
+			</AOGroup>
+			<AOGroup Name="17">
+				<AO Name="AO9"  Address="516" DataType="short"/>
+				<AO Name="AO10"  Address="517" DataType="short"/>
+				<AO Name="AO11"  Address="518" DataType="short"/>
+				<AO Name="AO8"  Address="519" DataType="short"/>
+			</AOGroup>
+			<AOGroup Name="18">
+				<AO Name="AO12"  Address="516" DataType="short"/>
+				<AO Name="AO13"  Address="517" DataType="short"/>
+				<AO Name="AO14"  Address="518" DataType="short"/>
+				<AO Name="AO15"  Address="519" DataType="short"/>
+			</AOGroup>
+			<AOGroup Name="19">
+				<AO Name="AO16"  Address="516" DataType="short"/>
+				<AO Name="AO17"  Address="517" DataType="short"/>
+				<AO Name="AO18"  Address="518" DataType="short"/>
+				<AO Name="AO19"  Address="519" DataType="short"/>
+			</AOGroup>
 		</Ano_Out>
 	</WagoDeviceConfig>
 </WagoControllerConfig>

+ 5 - 14
CyberX8_RT/Config/Layout/ToolLayoutConfiguration.xml

@@ -341,7 +341,7 @@
 		<!-- PUFs -->
 
 		<Item i:type="PUF">
-			<Installed>false</Installed>
+			<Installed>true</Installed>
 			<PufID>1</PufID>
 			<SubType>DualPUF_WithDistanceSensors</SubType>
 		</Item>
@@ -349,7 +349,7 @@
 		<!-- TRANSPORTERS -->
 
 		<Item i:type="Transporter">
-			<Installed>false</Installed>
+			<Installed>true</Installed>
 			<TransporterID>1</TransporterID>
 			<SubType>HighSpeedThunder</SubType>
 			<DripTrayType>NoDripTray</DripTrayType>
@@ -358,7 +358,7 @@
 			
 		</Item>
 		<Item i:type="Transporter">
-			<Installed>false</Installed>
+			<Installed>true</Installed>
 			<TransporterID>2</TransporterID>
 			<SubType>HighSpeedThunder</SubType>
 			<DripTrayType>NoDripTray</DripTrayType>
@@ -689,15 +689,6 @@
 			<DryerID>2</DryerID>
 			<SubType>HVDHSIndependent</SubType>
 		</Item>
-		
-		<Item i:type="Dryer">
-			<Installed>false</Installed>
-			<CellID>23</CellID>
-			<NominalGantryPositionInMilliMeters>873</NominalGantryPositionInMilliMeters>
-			<DryerID>3</DryerID>
-			<SubType>HVDHSIndependent</SubType>
-		</Item>
-
 
 		<!-- BUFFER CELLS -->
 
@@ -842,7 +833,7 @@
 		<!-- SRDs -->
 
 		<Item i:type="SRD">
-			<Installed>true</Installed>
+			<Installed>false</Installed>
 			<PermittedWaferSizeInMM>300</PermittedWaferSizeInMM>
 			<ResourceID>SRD1</ResourceID>
 			<Type>SRD</Type>
@@ -850,7 +841,7 @@
 			<SubType>VacuumChuckWithFan</SubType>
 		</Item>
 		<Item i:type="SRD">
-			<Installed>true</Installed>
+			<Installed>false</Installed>
 			<PermittedWaferSizeInMM>300</PermittedWaferSizeInMM>
 			<ResourceID>SRD2</ResourceID>
 			<Type>SRD</Type>

+ 3 - 1
CyberX8_RT/Devices/EFEM/Loadport.cs

@@ -857,6 +857,7 @@ namespace CyberX8_RT.Devices.EFEM
                     this.HasCassette = false;
                     this.IsLoaded = false;
                     this.IsMapped = false;
+                    this.IsDocked = false;
                     //EV.PostInfoLog(mod.ToString(), "Cassette removed");
                     //OP.DoOperation("System.CassetteLeave");     //For unload light control off afer job done
                     CarrierManager.Instance.DeleteCarrier(Module.ToString());
@@ -871,8 +872,9 @@ namespace CyberX8_RT.Devices.EFEM
             {
                 if (bArrived)
                 {
-                    this.HasCassette = true;
+                    HasCassette = true;
                     IsLoaded = true;
+                    IsDocked = true;
                     CarrierManager.Instance.CreateCarrier(Module.ToString());
                     _faCallback.CarrierArrived(this);
 

+ 0 - 22
CyberX8_RT/Modules/Dryer/DryerEntity.cs

@@ -337,30 +337,8 @@ namespace CyberX8_RT.Modules.Dryer
         /// <returns></returns>
         private bool InitializeAll(object[] param)
         {
-            if (!CheckSafety())
-            {
-                return false;
-            }
             return _device.IOInitialized;
         }
-        /// <summary>
-        /// 检验Safety
-        /// </summary>
-        /// <returns></returns>
-        private bool CheckSafety()
-        {
-            SafetyDevice safetyDevice = DEVICE.GetDevice<SafetyDevice>("Safety");
-            if (safetyDevice != null)
-            {
-                bool result = safetyDevice.SafetyData.TwincatState == 8;
-                if (!result)
-                {
-                    LOG.WriteLog(eEvent.ERR_DRYER, Module.ToString(), "Twincat Status is not OP status");
-                    return false;
-                }
-            }
-            return true;
-        }
 
         #region  Cycle RunRecipe
         private bool CycleManualProcess(object[] param)

+ 1 - 1
CyberX8_RT/Schedulers/EfemRobot/RobotMoveHelper.cs

@@ -175,7 +175,7 @@ namespace CyberX8_RT.Schedulers.EfemRobot
         //检验其他模块是否故障
         private bool CheckOtherModuleError()
         {
-            return _loaderEntity.IsError||_puf1Entity.IsError||_puf2Entity.IsError;
+            return _loaderEntity.IsError||_puf1Entity.IsError;
         }
 
         /// <summary>

+ 1 - 1
CyberX8_RT/Schedulers/EfemRobot/SchedulerRobot.cs

@@ -130,7 +130,7 @@ namespace CyberX8_RT.Schedulers.EfemRobot
                 reason = "efem is error";
                 return false;
             }
-            if(_loaderEntity.IsError||_puf1Entity.IsError || _puf2Entity.IsError)
+            if(_loaderEntity.IsError||_puf1Entity.IsError)
             {
                 reason = "loader or puf is error";
                 return false;

+ 2 - 2
CyberX8_RT/Schedulers/Puf/SchedulerPuf.cs

@@ -401,8 +401,8 @@ namespace CyberX8_RT.Schedulers.Puf
                 reason = "Puf entity is null";
                 return false;
             }
-            bool forward=(bool)parameter;
-            if(forward)
+            PufSchedulerParameter pufParameter=(PufSchedulerParameter)parameter;
+            if(pufParameter.IsForward)
             {
                 if (_pufEntity.State == (int)PUFSTATE.WaitForRobotPlace)
                 {

+ 1 - 1
CyberX8_RT/Schedulers/SchedulerSequenceManager.cs

@@ -405,7 +405,7 @@ namespace CyberX8_RT.Schedulers
                 IsForward = forward,
                 Side = side,
             };
-            sequence.Parameters = (forward,side);
+            sequence.Parameters = parameter;
             sequence.IsWaitNotify = !forward;
             sequence.ModuleType = ModuleType.PUF;
             sequence.MaterialType = MaterialType.Wafer;

+ 1 - 0
CyberX8_Simulator/Config/UILayout.xml

@@ -10,6 +10,7 @@
 	<Navigation Id="Wago" Name="Wago" >
 		<SubView Id="Wago0" Name="Wago0" ViewClass="CyberX8_Simulator.Views.WagoView" Assembly="CyberX8_Simulator" Port ="501"/>
 		<SubView Id="Wago1" Name="Wago1" ViewClass="CyberX8_Simulator.Views.WagoView" Assembly="CyberX8_Simulator" Port ="550"/>
+		<SubView Id="Wago2" Name="Wago2" ViewClass="CyberX8_Simulator.Views.WagoView" Assembly="CyberX8_Simulator" Port ="551"/>
 	</Navigation>
 
 	<Navigation Id="Festo" Name="Festo">