Browse Source

1. Revise resetting bug when using OpenCassette;
2. Optimize UI display when using OpenCassette;

niuyx 1 month ago
parent
commit
46dc980865

+ 2 - 2
Jet/Jet_001_2P_Jet/EfemRT/Config/2LPJet006/DeviceModel.xml

@@ -16,8 +16,8 @@
 		<IoSensor module="System" id="SensorIONCDAPressureSW" di="DI_IONCDAPressureSW" textOutTrigValue="false" infoText="" warningText="" alarmText=""/>
 		<IoSensor module="System" id="SensorIONCDAPressureSW" di="DI_IONCDAPressureSW" textOutTrigValue="false" infoText="" warningText="" alarmText=""/>
 		<IoSensor module="System" id="SensorIONAlarmSIGNAL" di="DI_IONAlarmSignal" textOutTrigValue="false" infoText="" warningText="" alarmText=""/>
 		<IoSensor module="System" id="SensorIONAlarmSIGNAL" di="DI_IONAlarmSignal" textOutTrigValue="false" infoText="" warningText="" alarmText=""/>
 		<IoSensor module="System" id="SensorEFEMSideDoorClosed" di="DI_EFEMSideDoorOpened" textOutTrigValue="true"/>
 		<IoSensor module="System" id="SensorEFEMSideDoorClosed" di="DI_EFEMSideDoorOpened" textOutTrigValue="true"/>
-		<IoSensor module="System" id="SensorPMASystemInterlock" di="DI_PMASystemInterlock" textOutTrigValue="false" infoText="" warningText="" alarmText="PMA System Interlock Alarm"/>
-		<IoSensor module="System" id="SensorPMBSystemInterlock" di="DI_PMBSystemInterlock" textOutTrigValue="false" infoText="" warningText="" alarmText="PMB System Interlock Alarm"/>
+		<IoSensor module="System" id="SensorPMASystemInterlock" di="DI_PMASystemInterlock" textOutTrigValue="false" infoText="" warningText="" alarmText=""/>
+		<IoSensor module="System" id="SensorPMBSystemInterlock" di="DI_PMBSystemInterlock" textOutTrigValue="false" infoText="" warningText="" alarmText=""/>
 		<IoSensor module="System" id="SensorPAorFLPDoorClosed" di="DI_PA/FLPDoorClosed" textOutTrigValue="false" infoText="" warningText="PA/FLP Door Closed Warning" alarmText=""/>
 		<IoSensor module="System" id="SensorPAorFLPDoorClosed" di="DI_PA/FLPDoorClosed" textOutTrigValue="false" infoText="" warningText="PA/FLP Door Closed Warning" alarmText=""/>
 		<IoSensor module="System" id="SensorMaintenanceMode" di="DI_RunMode" textOutTrigValue="true" warningText=""/>
 		<IoSensor module="System" id="SensorMaintenanceMode" di="DI_RunMode" textOutTrigValue="true" warningText=""/>
 		<IoSensor module="System" id="SensorEFEMPowerON" di="DI_EFEMPowerON" textOutTrigValue="true" warningText=""/>
 		<IoSensor module="System" id="SensorEFEMPowerON" di="DI_EFEMPowerON" textOutTrigValue="true" warningText=""/>

+ 1 - 1
Jet/Jet_001_2P_Jet/EfemRT/Devices/LoadPorts/JetOpenCst/OpenStageJet.cs

@@ -365,7 +365,7 @@ namespace EFEM.RT.Devices.LoadPorts.JetOpenCst
             DockState = FoupDockState.Docked;
             DockState = FoupDockState.Docked;
             DoorState = FoupDoorState.Open;
             DoorState = FoupDoorState.Open;
 
 
-            LoadportReset(out _);
+            //LoadportReset(out _);
 
 
             if (CassetteState == LoadportCassetteState.Absent)
             if (CassetteState == LoadportCassetteState.Absent)
             {
             {

+ 2 - 2
Jet/Jet_001_2P_Jet/EfemRT/Modules/RouteManager.cs

@@ -751,8 +751,8 @@ namespace EFEM.RT.Modules
             DATA.Subscribe("PMB.IsEnable", () => !IsPMBDisable);
             DATA.Subscribe("PMB.IsEnable", () => !IsPMBDisable);
             DATA.Subscribe("Flipper.IsEnable", () => !IsFlipperDisable);
             DATA.Subscribe("Flipper.IsEnable", () => !IsFlipperDisable);
 
 
-            DATA.Subscribe("System.IsPMADoorOpen", () => DeviceModel.SensorPMASystemInterlock.Value);
-            DATA.Subscribe("System.IsPMBDoorOpen", () => DeviceModel.SensorPMBSystemInterlock.Value);
+            DATA.Subscribe("System.IsPMADoorOpen", () => DeviceModel.SensorPMASystemInterlock?.Value);
+            DATA.Subscribe("System.IsPMBDoorOpen", () => DeviceModel.SensorPMBSystemInterlock?.Value);
         }
         }
 
 
         private void Lp_ActionDone(bool obj)
         private void Lp_ActionDone(bool obj)

+ 3 - 3
Jet/Jet_001_2P_Jet/EfemUI/Controls/FoupListControl.xaml

@@ -23,16 +23,16 @@
                         <RowDefinition Height="45" />
                         <RowDefinition Height="45" />
                         <RowDefinition Height="30" />
                         <RowDefinition Height="30" />
                     </Grid.RowDefinitions>
                     </Grid.RowDefinitions>
-                    <TextBox Height="40" Width="180" Margin="3,3,0,0" Text="{Binding FoupIDSetPoint}"  ctrlCommon:CommandHelper.CommandName="{x:Static Common:OperationName.SetManualScanCode}" ctrlCommon:CommandHelper.Target="{Binding Station}" ctrlCommon:CommandHelper.Parameter1="{Binding Text, RelativeSource={RelativeSource Self}}" ctrlCommon:TextBoxBehavior.SelectAllTextOnFocus="True">
+                    <TextBox Height="40" Width="150" Margin="3,3,3,3" Text="{Binding FoupIDSetPoint}"  ctrlCommon:CommandHelper.CommandName="{x:Static Common:OperationName.SetManualScanCode}" ctrlCommon:CommandHelper.Target="{Binding Station}" ctrlCommon:CommandHelper.Parameter1="{Binding Text, RelativeSource={RelativeSource Self}}" ctrlCommon:TextBoxBehavior.SelectAllTextOnFocus="True">
                         <TextBox.InputBindings>
                         <TextBox.InputBindings>
                             <KeyBinding Command="{Binding DataContext.LoadPortCommand, ElementName=root}" CommandParameter="{Binding RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type TextBox}}}" Key="Return" />
                             <KeyBinding Command="{Binding DataContext.LoadPortCommand, ElementName=root}" CommandParameter="{Binding RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type TextBox}}}" Key="Return" />
                         </TextBox.InputBindings>
                         </TextBox.InputBindings>
                     </TextBox>
                     </TextBox>
                     <StackPanel Grid.Row="1" Orientation="Horizontal">
                     <StackPanel Grid.Row="1" Orientation="Horizontal">
 
 
-                        <Button Margin="8,0,0,0" Height="30" Width="80" Content="ReadID" Command="{Binding DataContext.LoadPortCommand, ElementName=root}" ctrlCommon:CommandHelper.CommandName="{x:Static Common:OperationName.Scan}" ctrlCommon:CommandHelper.Target="{Binding Station}" />
+                        <Button Margin="8,0,0,0" Height="30" Width="72" Content="ReadID" Command="{Binding DataContext.LoadPortCommand, ElementName=root}" ctrlCommon:CommandHelper.CommandName="{x:Static Common:OperationName.Scan}" ctrlCommon:CommandHelper.Target="{Binding Station}" />
 
 
-                        <Button Margin="8,0,0,0" Height="30" Width="80" Content="Map" Command="{Binding DataContext.LoadPortCommand, ElementName=root}" ctrlCommon:CommandHelper.CommandName="{x:Static Common:OperationName.MapWafer}" ctrlCommon:CommandHelper.Target="{Binding Station}" />
+                        <Button Margin="8,0,0,0" Height="30" Width="72" Content="Map" Command="{Binding DataContext.LoadPortCommand, ElementName=root}" ctrlCommon:CommandHelper.CommandName="{x:Static Common:OperationName.MapWafer}" ctrlCommon:CommandHelper.Target="{Binding Station}" />
 
 
                         <!--<Button Height="30"  Width="80" Grid.Row="1" Grid.ColumnSpan="2" Content="Offline" Command="{Binding DataContext.LoadPortCommand, ElementName=root}" ctrlCommon:CommandHelper.CommandName="{x:Static Common:OperationName.Offline}" ctrlCommon:CommandHelper.Target="{Binding Station}" />-->
                         <!--<Button Height="30"  Width="80" Grid.Row="1" Grid.ColumnSpan="2" Content="Offline" Command="{Binding DataContext.LoadPortCommand, ElementName=root}" ctrlCommon:CommandHelper.CommandName="{x:Static Common:OperationName.Offline}" ctrlCommon:CommandHelper.Target="{Binding Station}" />-->
                     </StackPanel>
                     </StackPanel>

+ 38 - 3
Jet/Jet_001_2P_Jet/EfemUI/ViewModels/OperationViewModel2LPAB.cs

@@ -859,10 +859,45 @@ namespace Aitex.Sorter.UI.ViewModel
 
 
         protected override void InitFoupList()
         protected override void InitFoupList()
         {
         {
-            base.InitFoupList(); 
+            base.InitFoupList();
+
             
             
-            if(FoupList.Count >= 1) FoupList[0].FoupType = Controls.FoupType.Loadport;
-            if(FoupList.Count >= 2) FoupList[1].FoupType = Controls.FoupType.Loadport;
+            if (FoupList.Count >= 1)
+            {
+                switch ((int)QueryDataClient.Instance.Service.GetConfig("LoadPort.LP1.CstType"))
+                {
+                    case 0:
+                        FoupList[0].FoupType = Controls.FoupType.Loadport;
+                        break;
+                    case 1:
+                        FoupList[0].FoupType = Controls.FoupType.OpenCassette;
+                        break;
+                    case 2:
+                        FoupList[0].FoupType = Controls.FoupType.Loadport;
+                        break;
+                    default:
+                        FoupList[0].FoupType = Controls.FoupType.Loadport;
+                        break;
+                }
+            }
+            if (FoupList.Count >= 2)
+            {
+                switch ((int)QueryDataClient.Instance.Service.GetConfig("LoadPort.LP2.CstType"))
+                {
+                    case 0:
+                        FoupList[1].FoupType = Controls.FoupType.Loadport;
+                        break;
+                    case 1:
+                        FoupList[1].FoupType = Controls.FoupType.OpenCassette;
+                        break;
+                    case 2:
+                        FoupList[1].FoupType = Controls.FoupType.Loadport;
+                        break;
+                    default:
+                        FoupList[1].FoupType = Controls.FoupType.Loadport;
+                        break;
+                }
+            }
 
 
             InitBufferList(1);
             InitBufferList(1);
             BufferList[0].FoupType = Controls.FoupType.NoButton;
             BufferList[0].FoupType = Controls.FoupType.NoButton;

+ 16 - 10
Jet/Jet_001_2P_Jet/EfemUI/Views/OperationView/OperationView2LPJetAB.xaml

@@ -42,6 +42,7 @@
             <Grid Margin="90,210,60,70">
             <Grid Margin="90,210,60,70">
                 <controls1:EFEM2LPJetAB IsEnableTextMenu="{Binding IsNoRunning}" x:Name="efem" Aligner1Wafer="{Binding Aligner1Wafer}" Aligner2Wafer="{Binding Aligner2Wafer}" CoolingBuffer1Wafer="{Binding CoolingBuffer1Wafer}" CoolingBuffer2Wafer="{Binding CoolingBuffer2Wafer}" FlipperWafer="{Binding FlipperWafer}" Margin="0,0,-20,-60" WaferIDDisplayMode="WaferOrigin"/>
                 <controls1:EFEM2LPJetAB IsEnableTextMenu="{Binding IsNoRunning}" x:Name="efem" Aligner1Wafer="{Binding Aligner1Wafer}" Aligner2Wafer="{Binding Aligner2Wafer}" CoolingBuffer1Wafer="{Binding CoolingBuffer1Wafer}" CoolingBuffer2Wafer="{Binding CoolingBuffer2Wafer}" FlipperWafer="{Binding FlipperWafer}" Margin="0,0,-20,-60" WaferIDDisplayMode="WaferOrigin"/>
             </Grid>
             </Grid>
+
             <!--Up WaferInfo Panel-->
             <!--Up WaferInfo Panel-->
             <!--PMA WaferInfo Component-->
             <!--PMA WaferInfo Component-->
             <Border Visibility="{Binding PMAEnable,Converter={StaticResource boolVisibilityConverter},ConverterParameter={StaticResource True}}" BorderThickness="1" BorderBrush="#84a567" Height="70" Width="220" Margin="280,0,580,650">
             <Border Visibility="{Binding PMAEnable,Converter={StaticResource boolVisibilityConverter},ConverterParameter={StaticResource True}}" BorderThickness="1" BorderBrush="#84a567" Height="70" Width="220" Margin="280,0,580,650">
@@ -58,7 +59,7 @@
                         </Grid.RowDefinitions>
                         </Grid.RowDefinitions>
 
 
                         <ctrl:Wafer WaferIDDisplayMode="WaferOrigin" IsEnableTextMenu="{Binding IsNoRunning}" Grid.Row="0" Height="23.6" Margin="0,8,0,8" Width="216" Padding="0" Slot="0" WaferTransferOptionCommand="{Binding WaferTransferOptionCommand}"  WaferItem="{Binding LL1Wafer}" Station="LL1" ShowSlot="True" Grid.ColumnSpan="3" />
                         <ctrl:Wafer WaferIDDisplayMode="WaferOrigin" IsEnableTextMenu="{Binding IsNoRunning}" Grid.Row="0" Height="23.6" Margin="0,8,0,8" Width="216" Padding="0" Slot="0" WaferTransferOptionCommand="{Binding WaferTransferOptionCommand}"  WaferItem="{Binding LL1Wafer}" Station="LL1" ShowSlot="True" Grid.ColumnSpan="3" />
-                        
+
                     </Grid>
                     </Grid>
                 </DockPanel>
                 </DockPanel>
             </Border>
             </Border>
@@ -77,7 +78,7 @@
                         </Grid.RowDefinitions>
                         </Grid.RowDefinitions>
 
 
                         <ctrl:Wafer WaferIDDisplayMode="WaferOrigin" IsEnableTextMenu="{Binding IsNoRunning}" Grid.Row="0" Height="23.6" Margin="0,8,0,8" Width="216" Padding="0" Slot="0" WaferTransferOptionCommand="{Binding WaferTransferOptionCommand}"  WaferItem="{Binding LL2Wafer}" Station="LL2" ShowSlot="True" Grid.ColumnSpan="3" />
                         <ctrl:Wafer WaferIDDisplayMode="WaferOrigin" IsEnableTextMenu="{Binding IsNoRunning}" Grid.Row="0" Height="23.6" Margin="0,8,0,8" Width="216" Padding="0" Slot="0" WaferTransferOptionCommand="{Binding WaferTransferOptionCommand}"  WaferItem="{Binding LL2Wafer}" Station="LL2" ShowSlot="True" Grid.ColumnSpan="3" />
-                        
+
                     </Grid>
                     </Grid>
                 </DockPanel>
                 </DockPanel>
             </Border>
             </Border>
@@ -234,7 +235,7 @@
                             </Grid.RowDefinitions>
                             </Grid.RowDefinitions>
 
 
                             <ctrl:Wafer WaferIDDisplayMode="WaferOrigin" IsEnableTextMenu="{Binding IsNoRunning}" Grid.Row="0" Height="23.6" Margin="0,8,0,8" Width="216" HorizontalAlignment="Center" Padding="0" Slot="0" WaferTransferOptionCommand="{Binding WaferTransferOptionCommand}"  WaferItem="{Binding LL1Wafer}" Station="LL1" ShowSlot="True" Grid.ColumnSpan="3" />
                             <ctrl:Wafer WaferIDDisplayMode="WaferOrigin" IsEnableTextMenu="{Binding IsNoRunning}" Grid.Row="0" Height="23.6" Margin="0,8,0,8" Width="216" HorizontalAlignment="Center" Padding="0" Slot="0" WaferTransferOptionCommand="{Binding WaferTransferOptionCommand}"  WaferItem="{Binding LL1Wafer}" Station="LL1" ShowSlot="True" Grid.ColumnSpan="3" />
-                           
+
                         </Grid>
                         </Grid>
                     </DockPanel>
                     </DockPanel>
                 </Border>
                 </Border>
@@ -269,12 +270,12 @@
                                 <RowDefinition Height="40" />
                                 <RowDefinition Height="40" />
                             </Grid.RowDefinitions>
                             </Grid.RowDefinitions>
                             <ctrl:Wafer WaferIDDisplayMode="WaferOrigin" IsEnableTextMenu="{Binding IsNoRunning}" Grid.Row="0" Height="23.6" Margin="0,8,0,8" Width="216" HorizontalAlignment="Center" Padding="0" Slot="0" WaferTransferOptionCommand="{Binding WaferTransferOptionCommand}"  WaferItem="{Binding Aligner2Wafer}" Station="Aligner2" ShowSlot="True" Grid.ColumnSpan="3" Grid.Column="0" />
                             <ctrl:Wafer WaferIDDisplayMode="WaferOrigin" IsEnableTextMenu="{Binding IsNoRunning}" Grid.Row="0" Height="23.6" Margin="0,8,0,8" Width="216" HorizontalAlignment="Center" Padding="0" Slot="0" WaferTransferOptionCommand="{Binding WaferTransferOptionCommand}"  WaferItem="{Binding Aligner2Wafer}" Station="Aligner2" ShowSlot="True" Grid.ColumnSpan="3" Grid.Column="0" />
-                          
+
                         </Grid>
                         </Grid>
                     </DockPanel>
                     </DockPanel>
 
 
                 </Border>
                 </Border>
-                
+
             </Grid>
             </Grid>
 
 
             <!--Right Menus-->
             <!--Right Menus-->
@@ -436,7 +437,7 @@
                                 <Button Content="Jog-" Grid.Column="2" Width="60" Height="36" Command="{Binding FlipperTurnOverJogNCommand}" Template="{StaticResource realism_button}"/>
                                 <Button Content="Jog-" Grid.Column="2" Width="60" Height="36" Command="{Binding FlipperTurnOverJogNCommand}" Template="{StaticResource realism_button}"/>
                                 <Button Content="Jog-Stop" Grid.Column="3" Width="90" Height="36" Command="{Binding FlipperTurnOverJogNStopCommand}" Template="{StaticResource realism_button}"/>
                                 <Button Content="Jog-Stop" Grid.Column="3" Width="90" Height="36" Command="{Binding FlipperTurnOverJogNStopCommand}" Template="{StaticResource realism_button}"/>
                             </Grid>
                             </Grid>
-                            
+
                         </Grid>
                         </Grid>
                     </Grid>
                     </Grid>
                 </DockPanel>
                 </DockPanel>
@@ -1099,10 +1100,15 @@
             </Border>
             </Border>
             <Border Grid.Column="0" Visibility="{Binding IsEnableMultiWaferSize,Converter={StaticResource boolVisibilityConverter}}">
             <Border Grid.Column="0" Visibility="{Binding IsEnableMultiWaferSize,Converter={StaticResource boolVisibilityConverter}}">
                 <Canvas>
                 <Canvas>
-                    <!--<TextBlock Visibility="{Binding LP1Enable, Converter={StaticResource boolVisibilityConverter}}" Background="AliceBlue" TextWrapping="Wrap" FontSize="10" Text="{Binding LP1CarrierType}" Width="170" Canvas.Left="402" Canvas.Top="665" Height="70" RenderTransformOrigin="0.333,0.5" VerticalAlignment="Top"/>-->
-                    <!--<TextBlock Background="AliceBlue" TextWrapping="Wrap" FontSize="10" Text="{Binding LP2CarrierType}" Width="170" Canvas.Left="490" Canvas.Top="630" Height="70" RenderTransformOrigin="0.678,2.2"/>-->
-                    <!--<Button Template="{StaticResource realism_button}" Canvas.Left="445" Canvas.Top="740" FontSize="12"  Visibility="{Binding IsShowLP1CarrierType,Converter={StaticResource boolVisibilityConverter}}" Content="CarrierType" Command="{Binding SetTransCarrierTypeCommand}" CommandParameter="LP1" Margin="0" Width="84" RenderTransformOrigin="2.247,3.75"></Button>-->
-                    <!--<Button Canvas.Left="530" Canvas.Top="705" FontSize="12" Visibility="{Binding IsShowLP2CarrierType,Converter={StaticResource boolVisibilityConverter}}" Content="CarrierType" Command="{Binding SetTransCarrierTypeCommand}" CommandParameter="LP2" Margin="0" RenderTransformOrigin="-3.04,-2.375" Width="85"></Button>-->
+                    <StackPanel Visibility="{Binding LP1Enable, Converter={StaticResource boolVisibilityConverter}}"  Canvas.Left="360" Canvas.Top="660" HorizontalAlignment="Left" VerticalAlignment="Center">
+                        <TextBlock Background="AliceBlue" TextWrapping="Wrap" FontSize="10" Text="{Binding LP1CarrierType}" Width="170" Height="70" RenderTransformOrigin="0.333,0.5" VerticalAlignment="Top" HorizontalAlignment="Left"/>
+                        <Button Template="{StaticResource realism_button}" Canvas.Left="383" Canvas.Top="730" FontSize="12"  Visibility="{Binding IsShowLP1CarrierType,Converter={StaticResource boolVisibilityConverter}}" Content="CarrierType" Command="{Binding SetTransCarrierTypeCommand}" CommandParameter="LP1" Margin="0" Width="84" RenderTransformOrigin="2.247,3.75"></Button>
+                    </StackPanel>
+
+                    <StackPanel Visibility="{Binding LP2Enable, Converter={StaticResource boolVisibilityConverter}}" Canvas.Left="565" Canvas.Top="660"  >
+                        <TextBlock Background="AliceBlue" TextWrapping="Wrap" FontSize="10" Text="{Binding LP2CarrierType}"  Width="170" Canvas.Left="560" Canvas.Top="655" Height="70" RenderTransformOrigin="0.678,2.2" HorizontalAlignment="Left" VerticalAlignment="Top"/>
+                        <Button Template="{StaticResource realism_button}" Canvas.Left="602" Canvas.Top="730" FontSize="12" Visibility="{Binding IsShowLP2CarrierType,Converter={StaticResource boolVisibilityConverter}}" Content="CarrierType" Command="{Binding SetTransCarrierTypeCommand}" CommandParameter="LP2" Margin="0" RenderTransformOrigin="-3.04,-2.375" Width="86"></Button>
+                    </StackPanel>
 
 
                     <!--TextBlock Background="AliceBlue" TextWrapping="Wrap" FontSize="10" Text="{Binding LP3CarrierType}" Width="80" Canvas.Left="194" Canvas.Top="450" Height="85" RenderTransformOrigin="0.333,0.5"/>
                     <!--TextBlock Background="AliceBlue" TextWrapping="Wrap" FontSize="10" Text="{Binding LP3CarrierType}" Width="80" Canvas.Left="194" Canvas.Top="450" Height="85" RenderTransformOrigin="0.333,0.5"/>
                     <TextBlock Background="AliceBlue" TextWrapping="Wrap" FontSize="10" Text="{Binding LP4CarrierType}" Width="80" Canvas.Left="279" Canvas.Top="450" Height="85" RenderTransformOrigin="0.678,2.2"/>-->
                     <TextBlock Background="AliceBlue" TextWrapping="Wrap" FontSize="10" Text="{Binding LP4CarrierType}" Width="80" Canvas.Left="279" Canvas.Top="450" Height="85" RenderTransformOrigin="0.678,2.2"/>-->