OperationOverView.xaml 52 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583
  1. <UserControl x:Class="Venus_MainPages.Views.OperationOverView"
  2. xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
  3. xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
  4. xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
  5. xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
  6. xmlns:local="clr-namespace:Venus_MainPages.Views"
  7. mc:Ignorable="d"
  8. xmlns:ctrls="clr-namespace:Venus_Themes.UserControls;assembly=Venus_Themes"
  9. xmlns:customControls="clr-namespace:Venus_Themes.CustomControls;assembly=Venus_Themes"
  10. xmlns:Attach="clr-namespace:Venus_UI.Themes.Attach;assembly=Venus_Themes"
  11. xmlns:converters="clr-namespace:Venus_Themes.Converters;assembly=Venus_Themes"
  12. xmlns:converters2="clr-namespace:Venus_MainPages.Converters"
  13. xmlns:userControls="clr-namespace:Venus_Themes.UserControls;assembly=Venus_Themes"
  14. xmlns:i="clr-namespace:System.Windows.Interactivity;assembly=System.Windows.Interactivity"
  15. xmlns:prism="http://prismlibrary.com/"
  16. prism:ViewModelLocator.AutoWireViewModel="True"
  17. xmlns:unity="clr-namespace:Venus_MainPages.Unity"
  18. d:DesignHeight="1000" d:DesignWidth="1920" x:Name="operationOverView">
  19. <i:Interaction.Triggers>
  20. <i:EventTrigger EventName="Loaded">
  21. <i:InvokeCommandAction Command="{Binding LoadCommand}" CommandParameter="{Binding ElementName=operationOverView}"/>
  22. </i:EventTrigger>
  23. </i:Interaction.Triggers>
  24. <UserControl.Resources>
  25. <converters:BoolToVisibility x:Key="boolToVisibility"/>
  26. <converters:BoolToVisibility2 x:Key="boolToVisibility2"/>
  27. <converters:BoolToVisibility3 x:Key="boolToVisibility3"/>
  28. <converters:BoolToBool x:Key="BoolToBool"/>
  29. <converters2:IsOnlineToOpacityConverter x:Key="IsOnlineToOpacityConverter"/>
  30. <converters:BoolToColor x:Key="boolToColor"/>
  31. <converters:BoolToColor4 x:Key="boolToColor4"/>
  32. <converters2:IntToPathDataConverter x:Key="IntToPathDataConverter"/>
  33. <converters2:mTorrToPaConverter x:Key="mTorrToPaConverter"/>
  34. </UserControl.Resources>
  35. <Canvas>
  36. <Border BorderThickness="0,0,0,1" BorderBrush="Black" Canvas.Top="20" Canvas.Left="40">
  37. <StackPanel Orientation="Horizontal" Margin="0,0,0,5">
  38. <customControls:PathButton PathData="{StaticResource Icon_Init}" DefaultFillBrush="White" Command="{Binding HomeAllCommand}" Width="120" Height="30" Content="Home" Margin="10,0,0,0" IsEnabled="{Binding RtDataValues[System.IsAutoMode],Converter={StaticResource BoolToBool}}"/>
  39. <customControls:PathButton PathData="{StaticResource Icon_Return}" DefaultFillBrush="White" Width="146" Height="30" Content="Return Wafer" Command="{Binding ReturnAllWaferCommand}" IsEnabled="{Binding RtDataValues[System.IsAutoMode],Converter={StaticResource BoolToBool}}" Margin="50,0,0,0"/>
  40. <RadioButton Content="Manual" FontSize="15" Width="120" Height="28" Margin="50 0 5 0" Style="{StaticResource Button_RadioButton}" Command="{Binding EnableManualCommand}" IsChecked="{Binding RtDataValues[System.IsAutoMode],Converter={StaticResource BoolToBool}}"/>
  41. <RadioButton Content="Auto" FontSize="15" Width="120" Height="28" Margin="0 0 0 0" Style="{StaticResource Button_RadioButton}" Command="{Binding EnableAutoCommand}" IsChecked="{Binding RtDataValues[System.IsAutoMode]}"/>
  42. <customControls:PathButton PathData="{StaticResource Icon_Abort}" DefaultFillBrush="White" Width="130" Height="30" Content="Abort" Command="{Binding AbortAllCommand}" IsEnabled="{Binding RtDataValues[System.IsBusy]}" Margin="50 0 0 0" />
  43. <customControls:PathButton PathData="{Binding RtDataValues[EquipmentStatus],Converter={StaticResource IntToPathDataConverter}}" DefaultFillBrush="White" Width="130" Height="30" Content="{Binding RouteState}" Command="{Binding ResumeAllJobCommand}" IsEnabled="{Binding RtDataValues[System.IsAutoMode]}" Margin="50 0 0 0" />
  44. </StackPanel>
  45. </Border>
  46. <Grid Canvas.Left="50" Canvas.Top="60">
  47. <Grid.RowDefinitions>
  48. <RowDefinition/>
  49. </Grid.RowDefinitions>
  50. <Grid.ColumnDefinitions>
  51. <ColumnDefinition Width="Auto"/>
  52. <ColumnDefinition Width="Auto"/>
  53. <ColumnDefinition Width="Auto"/>
  54. <ColumnDefinition Width="Auto"/>
  55. <ColumnDefinition Width="Auto"/>
  56. <ColumnDefinition Width="Auto"/>
  57. <ColumnDefinition Width="Auto"/>
  58. <ColumnDefinition Width="Auto"/>
  59. <ColumnDefinition Width="Auto"/>
  60. <ColumnDefinition Width="Auto"/>
  61. <ColumnDefinition Width="Auto"/>
  62. <ColumnDefinition Width="Auto"/>
  63. <ColumnDefinition Width="Auto"/>
  64. <ColumnDefinition Width="Auto"/>
  65. </Grid.ColumnDefinitions>
  66. <TextBlock Text="TM Lid Closed" Margin="5,0,5,0" Grid.Column="0" FontSize="15" HorizontalAlignment="Center" VerticalAlignment="Center" />
  67. <Ellipse Grid.Column="1" Width="16" Height="16" Fill="{Binding RtDataValues[TM.TMLidClosed],Converter={StaticResource boolToColor4}}" Stroke="Silver" StrokeThickness="2"></Ellipse>
  68. <TextBlock Text="LLA Lid Closed" Margin="15,0,5,0" Grid.Column="2" FontSize="15" HorizontalAlignment="Center" VerticalAlignment="Center" />
  69. <Ellipse Grid.Column="3" Width="16" Height="16" Fill="{Binding RtDataValues[TM.LLALidClosed],Converter={StaticResource boolToColor4}}" Stroke="Silver" StrokeThickness="2"></Ellipse>
  70. <TextBlock Text="LLB Lid Closed" Margin="15,0,5,0" Grid.Column="4" FontSize="15" HorizontalAlignment="Center" VerticalAlignment="Center" />
  71. <Ellipse Grid.Column="5" Width="16" Height="16" Fill="{Binding RtDataValues[TM.LLBLidClosed],Converter={StaticResource boolToColor4}}" Stroke="Silver" StrokeThickness="2"></Ellipse>
  72. <TextBlock Text="PMA Lid Closed" Margin="15,0,5,0" Grid.Column="6" FontSize="15" HorizontalAlignment="Center" VerticalAlignment="Center" Visibility="{Binding PMAIsInstalled,Converter={StaticResource boolToVisibility2}}"/>
  73. <Ellipse Grid.Column="7" Width="16" Height="16" Fill="{Binding RtDataValues[PMA.IsLidClosed],Converter={StaticResource boolToColor4}}" Stroke="Silver" StrokeThickness="2" Visibility="{Binding PMAIsInstalled,Converter={StaticResource boolToVisibility2}}"></Ellipse>
  74. <TextBlock Text="PMB Lid Closed" Margin="15,0,5,0" Grid.Column="8" FontSize="15" HorizontalAlignment="Center" VerticalAlignment="Center" Visibility="{Binding PMBIsInstalled,Converter={StaticResource boolToVisibility2}}"/>
  75. <Ellipse Grid.Column="9" Width="16" Height="16" Fill="{Binding RtDataValues[PMB.IsLidClosed],Converter={StaticResource boolToColor4}}" Stroke="Silver" StrokeThickness="2" Visibility="{Binding PMBIsInstalled,Converter={StaticResource boolToVisibility2}}"></Ellipse>
  76. <TextBlock Text="PMC Lid Closed" Margin="15,0,5,0" Grid.Column="10" FontSize="15" HorizontalAlignment="Center" VerticalAlignment="Center" Visibility="{Binding PMCIsInstalled,Converter={StaticResource boolToVisibility2}}"/>
  77. <Ellipse Grid.Column="11" Width="16" Height="16" Fill="{Binding RtDataValues[PMC.IsLidClosed],Converter={StaticResource boolToColor4}}" Stroke="Silver" StrokeThickness="2" Visibility="{Binding PMCIsInstalled,Converter={StaticResource boolToVisibility2}}"></Ellipse>
  78. <TextBlock Text="PMD Lid Closed" Margin="15,0,5,0" Grid.Column="12" FontSize="15" HorizontalAlignment="Center" VerticalAlignment="Center" Visibility="{Binding PMDIsInstalled,Converter={StaticResource boolToVisibility2}}"/>
  79. <Ellipse Grid.Column="13" Width="16" Height="16" Fill="{Binding RtDataValues[PMD.IsLidClosed],Converter={StaticResource boolToColor4}}" Stroke="Silver" StrokeThickness="2" Visibility="{Binding PMDIsInstalled,Converter={StaticResource boolToVisibility2}}"></Ellipse>
  80. </Grid>
  81. <Canvas Canvas.Top="40">
  82. <Canvas Canvas.Left="180">
  83. <Viewbox Width="800" Height="800" Canvas.Top="100" Canvas.Left="0" Stretch="Fill">
  84. <Canvas Width="1000" Height="1000">
  85. <Canvas Canvas.Top="-300" Canvas.Left="00" Width="450" Height="800">
  86. <ctrls:NiceMainTMWithLoadLock Canvas.Left="380" Canvas.Top="90"
  87. PMADoorIsOpen="{Binding RtDataValues[TM.PMASlitDoor.IsClosed],Converter={StaticResource BoolToBool}}" PMBDoorIsOpen="{Binding RtDataValues[TM.PMBSlitDoor.IsClosed],Converter={StaticResource BoolToBool}}" PMCDoorIsOpen="{Binding RtDataValues[TM.PMCSlitDoor.IsClosed],Converter={StaticResource BoolToBool}}" PMDDoorIsOpen="{Binding RtDataValues[TM.PMDSlitDoor.IsClosed],Converter={StaticResource BoolToBool}}" LLATDoorIsOpen="{Binding RtDataValues[TM.LLATSlitDoor.IsClosed],Converter={StaticResource BoolToBool}}" LLBTDoorIsOpen="{Binding RtDataValues[TM.LLBTSlitDoor.IsClosed],Converter={StaticResource BoolToBool}}" LLAEDoorIsOpen="{Binding RtDataValues[TM.LLAESlitDoor.IsClosed],Converter={StaticResource BoolToBool}}" LLBEDoorIsOpen="{Binding RtDataValues[TM.LLBESlitDoor.IsClosed],Converter={StaticResource BoolToBool}}"
  88. TMIsOnline="{Binding RtDataValues[TM.IsOnline]}" LLAIsOnline="{Binding RtDataValues[LLA.IsOnline]}" LLBIsOnline="{Binding RtDataValues[LLB.IsOnline]}"
  89. LLAWafer="{Binding LLAWafer}" LLBWafer="{Binding LLBWafer}" IsEnabled="{Binding RtDataValues[TM.IsOnline],Converter={StaticResource BoolToBool}}"/>
  90. <ctrls:XinSongRobot Width="95" Height="95" Canvas.Left="446" Canvas.Top="505" Blade1RobotXAction="{Binding Blade1NiceXinSongWaferRobotXAction}" Blade2RobotXAction="{Binding Blade2NiceXinSongWaferRobotXAction}" BladeRobotTAction="{Binding BladeNiceXinSongWaferRobotTAction}" Blade1RobotWafer="{Binding TMBladeAWafer}" Blade2RobotWafer="{Binding TMBladeBWafer}" Opacity="{Binding RtDataValues[TM.IsOnline],Converter={StaticResource IsOnlineToOpacityConverter}}" IsEnabled="False"/>
  91. <ctrls:NiceTMChamber ModuleName="PMA" RotateTransformValue="-90" Width="162" Height="162" Canvas.Left="225" Canvas.Top="607" RobotWafer="{Binding PMAWafer}" PMVisibility="{Binding PMAIsInstalled,Converter={StaticResource bool2VisibilityConverter}}" Opacity="{Binding RtDataValues[PMA.IsOnline],Converter={StaticResource IsOnlineToOpacityConverter}}" IsEnabled="{Binding RtDataValues[PMA.IsOnline],Converter={StaticResource BoolToBool}}"/>
  92. <ctrls:NiceTMChamber ModuleName="PMB" RotateTransformValue="-30" Width="162" Height="162" Canvas.Left="305" Canvas.Top="307" RobotWafer="{Binding PMBWafer}" PMVisibility="{Binding PMBIsInstalled,Converter={StaticResource bool2VisibilityConverter}}" Opacity="{Binding RtDataValues[PMB.IsOnline],Converter={StaticResource IsOnlineToOpacityConverter}}" IsEnabled="{Binding RtDataValues[PMB.IsOnline],Converter={StaticResource BoolToBool}}"/>
  93. <ctrls:NiceTMChamber ModuleName="PMC" RotateTransformValue="30" Width="162" Height="162" Canvas.Left="608" Canvas.Top="227" RobotWafer="{Binding PMCWafer}" PMVisibility="{Binding PMCIsInstalled,Converter={StaticResource bool2VisibilityConverter}}" Opacity="{Binding RtDataValues[PMC.IsOnline],Converter={StaticResource IsOnlineToOpacityConverter}}" IsEnabled="{Binding RtDataValues[PMC.IsOnline],Converter={StaticResource BoolToBool}}"/>
  94. <ctrls:NiceTMChamber ModuleName="PMD" RotateTransformValue="90" Width="162" Height="162" Canvas.Left="826" Canvas.Top="443" RobotWafer="{Binding PMDWafer}" PMVisibility="{Binding PMDIsInstalled,Converter={StaticResource bool2VisibilityConverter}}" Opacity="{Binding RtDataValues[PMD.IsOnline],Converter={StaticResource IsOnlineToOpacityConverter}}" IsEnabled="{Binding RtDataValues[PMD.IsOnline],Converter={StaticResource BoolToBool}}"/>
  95. <userControls:NiceEFEM Canvas.Left="220" Canvas.Top="795" Width="600" Height="410"
  96. Aligner1Wafer="{Binding Aligner1Wafer}" RobotAWaferInfo="{Binding EFEMBladeAWafer}" RobotBWaferInfo="{Binding EFEMBladeBWafer}"
  97. Blade1RobotXAction="{Binding Blade1NiceGuangChuanWaferRobotXAction}" Blade2RobotXAction="{Binding Blade2NiceGuangChuanWaferRobotXAction}" BladeRobotTAction="{Binding BladeNiceGuangChuanWaferRobotTAction}"
  98. LP1Presented="{Binding RtDataValues[LP1.CassettePlaced]}" LP2Presented="{Binding RtDataValues[LP2.CassettePlaced]}" LP3Presented="{Binding RtDataValues[LP3.CassettePlaced]}" LP1Loaded="{Binding RtDataValues[LP1.IsLoaded]}" LP2Loaded="{Binding RtDataValues[LP2.IsLoaded]}" LP3Loaded="{Binding RtDataValues[LP3.IsLoaded]}"
  99. Opacity="{Binding RtDataValues[EFEM.IsOnline],Converter={StaticResource IsOnlineToOpacityConverter}}" IsEnabled="{Binding RtDataValues[EFEM.IsOnline],Converter={StaticResource BoolToBool}}"/>
  100. <!--<TextBlock Text="{Binding RobotMoveInfo}" FontSize="20" Canvas.Left="200" Canvas.Top="280" />
  101. <TextBlock Text="{Binding EfemRobotMoveInfo}" FontSize="20" Canvas.Left="200" Canvas.Top="350" />-->
  102. </Canvas>
  103. <!--<userControls:MainTM Width="300" Height="250" Canvas.Left="380" Canvas.Top="90" Opacity="{Binding RtDataValues[TM.IsOnline],Converter={StaticResource IsOnlineToOpacityConverter}}" PressureValue="{Binding TMPressure,Converter={StaticResource mTorrToPaConverter}}" IsShowPressureValue="True" Unit="{Binding PressureType}"/>
  104. <userControls:LoadLockLeft Width="150" Height="150" Canvas.Top="310" Canvas.Left="358" DoorIsOpen="{Binding RtDataValues[TM.LLATSlitDoor.IsClosed],Converter={StaticResource BoolToBool}}" Door2IsOpen="{Binding RtDataValues[TM.LLAESlitDoor.IsClosed],Converter={StaticResource BoolToBool}}" Visibility="{Binding LLAIsInstalled,Converter={StaticResource bool2VisibilityConverter}}" RobotWafer="{Binding LLAWafer}" Opacity="{Binding RtDataValues[LLA.IsOnline],Converter={StaticResource IsOnlineToOpacityConverter}}" IsEnabled="{Binding RtDataValues[LLA.IsOnline],Converter={StaticResource BoolToBool}}"/>
  105. <userControls:LoadLockRight Width="150" Height="150" Canvas.Top="309" Canvas.Left="519" DoorIsOpen="{Binding RtDataValues[TM.LLBTSlitDoor.IsClosed],Converter={StaticResource BoolToBool}}" Door2IsOpen="{Binding RtDataValues[TM.LLBESlitDoor.IsClosed],Converter={StaticResource BoolToBool}}" Visibility="{Binding LLBIsInstalled,Converter={StaticResource bool2VisibilityConverter}}" RobotWafer="{Binding LLBWafer}" Opacity="{Binding RtDataValues[LLB.IsOnline],Converter={StaticResource IsOnlineToOpacityConverter}}" IsEnabled="{Binding RtDataValues[LLB.IsOnline],Converter={StaticResource BoolToBool}}"/>
  106. <userControls:TMChamber ModuleName="PMA" x:Name="PMA" Canvas.Top="302" Canvas.Left="233" Width="140" Height="140" RotateTransformValue="-90" DoorIsOpen="{Binding RtDataValues[TM.PMASlitDoor.IsClosed],Converter={StaticResource BoolToBool}}" RobotWafer="{Binding PMAWafer}" PMVisibility="{Binding PMAIsInstalled,Converter={StaticResource bool2VisibilityConverter}}" Opacity="{Binding RtDataValues[PMA.IsOnline],Converter={StaticResource IsOnlineToOpacityConverter}}" PressureValue="{Binding RtDataValues[PMA.CalculationPressure],Converter={StaticResource mTorrToPaConverter}}" IsEnabled="{Binding RtDataValues[PMA.IsOnline],Converter={StaticResource BoolToBool}}" Unit="{Binding PressureType}"/>
  107. <userControls:TMChamber ModuleName="PMB" x:Name="PMB" Canvas.Top="28" Canvas.Left="315" Width="140" Height="140" RotateTransformValue="-28" DoorIsOpen="{Binding RtDataValues[TM.PMBSlitDoor.IsClosed],Converter={StaticResource BoolToBool}}" RobotWafer="{Binding PMBWafer}" PMVisibility="{Binding PMBIsInstalled,Converter={StaticResource bool2VisibilityConverter}}" Opacity="{Binding RtDataValues[PMB.IsOnline],Converter={StaticResource IsOnlineToOpacityConverter}}" PressureValue="{Binding RtDataValues[PMB.CalculationPressure],Converter={StaticResource mTorrToPaConverter}}" IsEnabled="{Binding RtDataValues[PMB.IsOnline],Converter={StaticResource BoolToBool}}" Unit="{Binding PressureType}"/>
  108. <userControls:TMChamber ModuleName="PMC" x:Name="PMC" Canvas.Top="-37" Canvas.Left="586" Width="140" Height="140" RotateTransformValue="29" DoorIsOpen="{Binding RtDataValues[TM.PMCSlitDoor.IsClosed],Converter={StaticResource BoolToBool}}" RobotWafer="{Binding PMCWafer}" PMVisibility="{Binding PMCIsInstalled,Converter={StaticResource bool2VisibilityConverter}}" Opacity="{Binding RtDataValues[PMC.IsOnline],Converter={StaticResource IsOnlineToOpacityConverter}}" PressureValue="{Binding RtDataValues[PMC.CalculationPressure],Converter={StaticResource mTorrToPaConverter}}" IsEnabled="{Binding RtDataValues[PMC.IsOnline],Converter={StaticResource BoolToBool}}" Unit="{Binding PressureType}"/>
  109. <userControls:TMChamber ModuleName="PMD" x:Name="PMD" Canvas.Top="160" Canvas.Left="788" Width="140" Height="140" RotateTransformValue="90" DoorIsOpen="{Binding RtDataValues[TM.PMDSlitDoor.IsClosed],Converter={StaticResource BoolToBool}}" RobotWafer="{Binding PMDWafer}" PMVisibility="{Binding PMDIsInstalled,Converter={StaticResource bool2VisibilityConverter}}" Opacity="{Binding RtDataValues[PMD.IsOnline],Converter={StaticResource IsOnlineToOpacityConverter}}" PressureValue="{Binding RtDataValues[PMD.CalculationPressure],Converter={StaticResource mTorrToPaConverter}}" IsEnabled="{Binding RtDataValues[PMD.IsOnline],Converter={StaticResource BoolToBool}}" Unit="{Binding PressureType}"/>-->
  110. </Canvas>
  111. </Viewbox>
  112. </Canvas>
  113. <Grid Width="320" Height="170" Canvas.Left="10" Canvas.Top="250" unity:GridOptions.LineBrush="#D8DEE5" unity:GridOptions.ShowBorder="True" Background="#FFFFFF" Visibility="{Binding PMAIsInstalled,Converter={StaticResource bool2VisibilityConverter}}">
  114. <Grid.RowDefinitions>
  115. <RowDefinition Height="30"/>
  116. <RowDefinition/>
  117. <RowDefinition/>
  118. <RowDefinition/>
  119. <RowDefinition/>
  120. <RowDefinition/>
  121. <RowDefinition Height="0"/>
  122. <RowDefinition/>
  123. </Grid.RowDefinitions>
  124. <Grid.ColumnDefinitions>
  125. <ColumnDefinition Width="115"/>
  126. <ColumnDefinition/>
  127. </Grid.ColumnDefinitions>
  128. <TextBlock Grid.Row="0" Text="PMA" Foreground="White" Grid.ColumnSpan="2" FontSize="20" Padding="150,2,0,0" Background="#076DB6"/>
  129. <TextBlock Grid.Row="1" Text="Recipe Name" FontSize="15" Padding="10,2,0,0" Background="#FAFAFA"/>
  130. <TextBlock Grid.Row="2" Text="Step Num/All" FontSize="15" Padding="10,2,0,0" Background="#FAFAFA"/>
  131. <TextBlock Grid.Row="3" Text="Step Type" FontSize="15" Padding="10,2,0,0" Background="#FAFAFA"/>
  132. <TextBlock Grid.Row="4" Text="Step Duration" FontSize="15" Padding="10,2,0,0" Background="#FAFAFA"/>
  133. <TextBlock Grid.Row="5" Text="Step Time(s)" FontSize="15" Padding="10,2,0,0" Background="#FAFAFA"/>
  134. <TextBlock Grid.Row="6" Text="Next Step" FontSize="15" Padding="10,2,0,0" Background="#FAFAFA"/>
  135. <TextBlock Grid.Row="7" Text="Cycle Num/All" FontSize="15" Padding="10,2,0,0" Background="#FAFAFA"/>
  136. <TextBlock Grid.Row="1" Grid.Column="1" Text="{Binding PMARecipeResult.RecipeName}" FontSize="15" Padding="10,2,0,0" Background="#FFFFFF"/>
  137. <TextBlock Grid.Row="2" Grid.Column="1" FontSize="15" Padding="10,2,0,0" Background="#FFFFFF">
  138. <TextBlock.Text>
  139. <MultiBinding StringFormat="{}{0}/{1}">
  140. <Binding Path="PMARecipeResult.RecipeStepNumber"></Binding>
  141. <Binding Path="PMARecipeResult.RecipeStepCount"></Binding>
  142. </MultiBinding>
  143. </TextBlock.Text>
  144. </TextBlock>
  145. <TextBlock Grid.Row="3" Grid.Column="1" Text="{Binding PMARecipeResult.RecipeStepType}" FontSize="15" Padding="10,2,0,0" Background="#FFFFFF"/>
  146. <TextBlock Grid.Row="4" Grid.Column="1" Text="{Binding PMARecipeResult.RecipeStepDuringTime, StringFormat=hh\\:mm\\:ss}" FontSize="15" Padding="10,2,0,0" Background="#FFFFFF"/>
  147. <TextBlock Grid.Row="5" Grid.Column="1" Text="{Binding PMARecipeResult.RecipeStepSetTime}" FontSize="15" Padding="10,2,0,0" Background="#FFFFFF"/>
  148. <customControls:PathButton BorderThickness="0" PathData="{StaticResource Icon_Next}" Background="Transparent" DefaultFillBrush="Black" Foreground="White" Cursor="Hand" Grid.Row="6" Grid.Column="1" Command="{Binding EndStepCommand}" Margin="15,0,0,0" HorizontalAlignment="Left"/>
  149. <TextBlock Grid.Row="7" Grid.Column="1" FontSize="15" Padding="10,2,0,0" Background="#FFFFFF">
  150. <TextBlock.Text>
  151. <MultiBinding StringFormat="{}{0}/{1}">
  152. <Binding Path="PMARecipeResult.RecipeCurrentCounter"></Binding>
  153. <Binding Path="PMARecipeResult.RecipeAllCounters"></Binding>
  154. </MultiBinding>
  155. </TextBlock.Text>
  156. </TextBlock>
  157. </Grid>
  158. <Grid Width="320" Height="170" Canvas.Left="10" Canvas.Top="50" unity:GridOptions.LineBrush="#D8DEE5" unity:GridOptions.ShowBorder="True" Background="#FFFFFF" Visibility="{Binding PMBIsInstalled,Converter={StaticResource bool2VisibilityConverter}}">
  159. <Grid.RowDefinitions>
  160. <RowDefinition Height="30"/>
  161. <RowDefinition/>
  162. <RowDefinition/>
  163. <RowDefinition/>
  164. <RowDefinition/>
  165. <RowDefinition/>
  166. <RowDefinition Height="0"/>
  167. <RowDefinition/>
  168. </Grid.RowDefinitions>
  169. <Grid.ColumnDefinitions>
  170. <ColumnDefinition Width="115"/>
  171. <ColumnDefinition />
  172. </Grid.ColumnDefinitions>
  173. <TextBlock Grid.Row="0" Text="PMB" Foreground="White" Grid.ColumnSpan="2" FontSize="20" Padding="150,2,0,0" Background="#076DB6"/>
  174. <TextBlock Grid.Row="1" Text="Recipe Name" FontSize="15" Padding="10,2,0,0" Background="#FAFAFA"/>
  175. <TextBlock Grid.Row="2" Text="Step Num/All" FontSize="15" Padding="10,2,0,0" Background="#FAFAFA"/>
  176. <TextBlock Grid.Row="3" Text="Step Type" FontSize="15" Padding="10,2,0,0" Background="#FAFAFA"/>
  177. <TextBlock Grid.Row="4" Text="Step Duration" FontSize="15" Padding="10,2,0,0" Background="#FAFAFA"/>
  178. <TextBlock Grid.Row="5" Text="Step Time(s)" FontSize="15" Padding="10,2,0,0" Background="#FAFAFA"/>
  179. <TextBlock Grid.Row="6" Text="Next Step" FontSize="15" Padding="10,2,0,0" Background="#FAFAFA"/>
  180. <TextBlock Grid.Row="7" Text="Cycle Num/All" FontSize="15" Padding="10,2,0,0" Background="#FAFAFA"/>
  181. <TextBlock Grid.Row="1" Grid.Column="1" Text="{Binding PMBRecipeResult.RecipeName}" FontSize="15" Padding="10,2,0,0" Background="#FFFFFF"/>
  182. <TextBlock Grid.Row="2" Grid.Column="1" FontSize="15" Padding="10,2,0,0" Background="#FFFFFF">
  183. <TextBlock.Text>
  184. <MultiBinding StringFormat="{}{0}/{1}">
  185. <Binding Path="PMBRecipeResult.RecipeStepNumber"></Binding>
  186. <Binding Path="PMBRecipeResult.RecipeStepCount"></Binding>
  187. </MultiBinding>
  188. </TextBlock.Text>
  189. </TextBlock>
  190. <TextBlock Grid.Row="3" Grid.Column="1" Text="{Binding PMBRecipeResult.RecipeStepType}" FontSize="15" Padding="10,2,0,0"/>
  191. <TextBlock Grid.Row="4" Grid.Column="1" Text="{Binding PMBRecipeResult.RecipeStepDuringTime, StringFormat=hh\\:mm\\:ss}" FontSize="15" Padding="10,2,0,0"/>
  192. <TextBlock Grid.Row="5" Grid.Column="1" Text="{Binding PMBRecipeResult.RecipeStepSetTime}" FontSize="15" Padding="10,2,0,0"/>
  193. <customControls:PathButton BorderThickness="0" PathData="{StaticResource Icon_Next}" Background="Transparent" DefaultFillBrush="Black" Foreground="White" Cursor="Hand" Grid.Row="6" Grid.Column="1" Command="{Binding EndStepCommand}" Margin="15,0,0,0" HorizontalAlignment="Left"/>
  194. <TextBlock Grid.Row="7" Grid.Column="1" FontSize="15" Padding="10,2,0,0" Background="#FFFFFF">
  195. <TextBlock.Text>
  196. <MultiBinding StringFormat="{}{0}/{1}">
  197. <Binding Path="PMBRecipeResult.RecipeCurrentCounter"></Binding>
  198. <Binding Path="PMBRecipeResult.RecipeAllCounters"></Binding>
  199. </MultiBinding>
  200. </TextBlock.Text>
  201. </TextBlock>
  202. </Grid>
  203. <Grid Width="320" Height="170" Canvas.Left="870" Canvas.Top="50" unity:GridOptions.LineBrush="#D8DEE5" unity:GridOptions.ShowBorder="True" Background="#FFFFFF" Visibility="{Binding PMCIsInstalled,Converter={StaticResource bool2VisibilityConverter}}">
  204. <Grid.RowDefinitions>
  205. <RowDefinition Height="30"/>
  206. <RowDefinition/>
  207. <RowDefinition/>
  208. <RowDefinition/>
  209. <RowDefinition/>
  210. <RowDefinition/>
  211. <RowDefinition Height="0"/>
  212. <RowDefinition/>
  213. </Grid.RowDefinitions>
  214. <Grid.ColumnDefinitions>
  215. <ColumnDefinition Width="115"/>
  216. <ColumnDefinition/>
  217. </Grid.ColumnDefinitions>
  218. <TextBlock Grid.Row="0" Text="PMC" Foreground="White" Grid.ColumnSpan="2" FontSize="20" Padding="150,2,0,0" Background="#076DB6"/>
  219. <TextBlock Grid.Row="1" Text="Recipe Name" FontSize="15" Padding="10,2,0,0" Background="#FAFAFA"/>
  220. <TextBlock Grid.Row="2" Text="Step Num/All" FontSize="15" Padding="10,2,0,0" Background="#FAFAFA"/>
  221. <TextBlock Grid.Row="3" Text="Step Type" FontSize="15" Padding="10,2,0,0" Background="#FAFAFA"/>
  222. <TextBlock Grid.Row="4" Text="Step Duration" FontSize="15" Padding="10,2,0,0" Background="#FAFAFA"/>
  223. <TextBlock Grid.Row="5" Text="Step Time(s)" FontSize="15" Padding="10,2,0,0" Background="#FAFAFA"/>
  224. <TextBlock Grid.Row="6" Text="Next Step" FontSize="15" Padding="10,2,0,0" Background="#FAFAFA"/>
  225. <TextBlock Grid.Row="7" Text="Cycle Num/All" FontSize="15" Padding="10,2,0,0" Background="#FAFAFA"/>
  226. <TextBlock Grid.Row="1" Grid.Column="1" Text="{Binding PMCRecipeResult.RecipeName}" FontSize="15" Padding="10,2,0,0" Background="#FFFFFF"/>
  227. <TextBlock Grid.Row="2" Grid.Column="1" FontSize="15" Padding="10,2,0,0" Background="#FFFFFF">
  228. <TextBlock.Text>
  229. <MultiBinding StringFormat="{}{0}/{1}">
  230. <Binding Path="PMCRecipeResult.RecipeStepNumber"></Binding>
  231. <Binding Path="PMCRecipeResult.RecipeStepCount"></Binding>
  232. </MultiBinding>
  233. </TextBlock.Text>
  234. </TextBlock>
  235. <TextBlock Grid.Row="3" Grid.Column="1" Text="{Binding PMCRecipeResult.RecipeStepType}" FontSize="15" Padding="10,2,0,0"/>
  236. <TextBlock Grid.Row="4" Grid.Column="1" Text="{Binding PMCRecipeResult.RecipeStepDuringTime, StringFormat=hh\\:mm\\:ss}" FontSize="15" Padding="10,2,0,0"/>
  237. <TextBlock Grid.Row="5" Grid.Column="1" Text="{Binding PMCRecipeResult.RecipeStepSetTime}" FontSize="15" Padding="10,2,0,0"/>
  238. <customControls:PathButton BorderThickness="0" PathData="{StaticResource Icon_Next}" Background="Transparent" DefaultFillBrush="Black" Foreground="White" Cursor="Hand" Grid.Row="6" Grid.Column="1" Command="{Binding EndStepCommand}" Margin="15,0,0,0" HorizontalAlignment="Left"/>
  239. <TextBlock Grid.Row="7" Grid.Column="1" FontSize="15" Padding="10,2,0,0" Background="#FFFFFF">
  240. <TextBlock.Text>
  241. <MultiBinding StringFormat="{}{0}/{1}">
  242. <Binding Path="PMCRecipeResult.RecipeCurrentCounter"></Binding>
  243. <Binding Path="PMCRecipeResult.RecipeAllCounters"></Binding>
  244. </MultiBinding>
  245. </TextBlock.Text>
  246. </TextBlock>
  247. </Grid>
  248. <Grid Width="320" Height="170" Canvas.Left="870" Canvas.Top="250" unity:GridOptions.LineBrush="#D8DEE5" unity:GridOptions.ShowBorder="True" Background="#FFFFFF" Visibility="{Binding PMDIsInstalled,Converter={StaticResource bool2VisibilityConverter}}">
  249. <Grid.RowDefinitions>
  250. <RowDefinition Height="30"/>
  251. <RowDefinition/>
  252. <RowDefinition/>
  253. <RowDefinition/>
  254. <RowDefinition/>
  255. <RowDefinition/>
  256. <RowDefinition Height="0"/>
  257. <RowDefinition/>
  258. </Grid.RowDefinitions>
  259. <Grid.ColumnDefinitions>
  260. <ColumnDefinition Width="115"/>
  261. <ColumnDefinition/>
  262. </Grid.ColumnDefinitions>
  263. <TextBlock Grid.Row="0" Text="PMD" Foreground="White" Grid.ColumnSpan="2" FontSize="20" Padding="150,2,0,0" Background="#076DB6"/>
  264. <TextBlock Grid.Row="1" Text="Recipe Name" FontSize="15" Padding="10,2,0,0" Background="#FAFAFA"/>
  265. <TextBlock Grid.Row="2" Text="Step Num/All" FontSize="15" Padding="10,2,0,0" Background="#FAFAFA"/>
  266. <TextBlock Grid.Row="3" Text="Step Type" FontSize="15" Padding="10,2,0,0" Background="#FAFAFA"/>
  267. <TextBlock Grid.Row="4" Text="Step Duration" FontSize="15" Padding="10,2,0,0" Background="#FAFAFA"/>
  268. <TextBlock Grid.Row="5" Text="Step Time(s)" FontSize="15" Padding="10,2,0,0" Background="#FAFAFA"/>
  269. <TextBlock Grid.Row="6" Text="Next Step" FontSize="15" Padding="10,2,0,0" Background="#FAFAFA"/>
  270. <TextBlock Grid.Row="7" Text="Cycle Num/All" FontSize="15" Padding="10,2,0,0" Background="#FAFAFA"/>
  271. <TextBlock Grid.Row="1" Grid.Column="1" Text="{Binding PMDRecipeResult.RecipeName}" FontSize="15" Padding="10,2,0,0" Background="#FFFFFF"/>
  272. <TextBlock Grid.Row="2" Grid.Column="1" FontSize="15" Padding="10,2,0,0" Background="#FFFFFF">
  273. <TextBlock.Text>
  274. <MultiBinding StringFormat="{}{0}/{1}">
  275. <Binding Path="PMDRecipeResult.RecipeStepNumber"></Binding>
  276. <Binding Path="PMDRecipeResult.RecipeStepCount"></Binding>
  277. </MultiBinding>
  278. </TextBlock.Text>
  279. </TextBlock>
  280. <TextBlock Grid.Row="3" Grid.Column="1" Text="{Binding PMDRecipeResult.RecipeStepType}" FontSize="15" Padding="10,2,0,0"/>
  281. <TextBlock Grid.Row="4" Grid.Column="1" Text="{Binding PMDRecipeResult.RecipeStepDuringTime, StringFormat=hh\\:mm\\:ss}" FontSize="15" Padding="10,2,0,0"/>
  282. <TextBlock Grid.Row="5" Grid.Column="1" Text="{Binding PMDRecipeResult.RecipeStepSetTime}" FontSize="15" Padding="10,2,0,0"/>
  283. <customControls:PathButton BorderThickness="0" PathData="{StaticResource Icon_Next}" Background="Transparent" DefaultFillBrush="Black" Foreground="White" Cursor="Hand" Grid.Row="6" Grid.Column="1" Command="{Binding EndStepCommand}" Margin="15,0,0,0" HorizontalAlignment="Left"/>
  284. <TextBlock Grid.Row="7" Grid.Column="1" FontSize="15" Padding="10,2,0,0" Background="#FFFFFF">
  285. <TextBlock.Text>
  286. <MultiBinding StringFormat="{}{0}/{1}">
  287. <Binding Path="PMDRecipeResult.RecipeCurrentCounter"></Binding>
  288. <Binding Path="PMDRecipeResult.RecipeAllCounters"></Binding>
  289. </MultiBinding>
  290. </TextBlock.Text>
  291. </TextBlock>
  292. </Grid>
  293. <!--<TextBlock Canvas.Top="465" Canvas.Left="230" Text="LLA" Visibility="{Binding LLAIsInstalled,Converter={StaticResource bool2VisibilityConverter}}"></TextBlock>
  294. <TextBlock Canvas.Top="465" Canvas.Left="910" Text="LLB" Visibility="{Binding LLBIsInstalled,Converter={StaticResource bool2VisibilityConverter}}"></TextBlock>-->
  295. <userControls:FOUPFrontView UnitData="{Binding LLAModuleInfo}" VerticalAlignment="Top" Canvas.Top="470" Canvas.Left="180" Visibility="{Binding LLAIsInstalled,Converter={StaticResource bool2VisibilityConverter}}" ShowTitle="True" IsEnabled="{Binding RtDataValues[LLA.IsOnline],Converter={StaticResource BoolToBool}}"/>
  296. <userControls:FOUPFrontView UnitData="{Binding LLBModuleInfo}" VerticalAlignment="Top" Canvas.Top="470" Canvas.Left="870" Visibility="{Binding LLBIsInstalled,Converter={StaticResource bool2VisibilityConverter}}" ShowTitle="True" IsEnabled="{Binding RtDataValues[LLB.IsOnline],Converter={StaticResource BoolToBool}}"/>
  297. <userControls:EFEMFrontView UnitData="{Binding EFEMModuleInfo}" Title="Efem Robot" Canvas.Top="600" Canvas.Left="170" IsEnabled="{Binding RtDataValues[EFEM.IsOnline],Converter={StaticResource BoolToBool}}"/>
  298. <userControls:EFEMFrontView UnitData="{Binding TMModuleInfo}" Title="TM Robot" Canvas.Top="600" Canvas.Left="870" IsEnabled="{Binding RtDataValues[TM.IsOnline],Converter={StaticResource BoolToBool}}"/>
  299. <Canvas Canvas.Left="310" Canvas.Top="-50">
  300. <RadioButton Content="Carrier" Name="CarrierRadioButton" Canvas.Left="900" Canvas.Top="106" Width="60" Height="33" Style="{StaticResource Button_RadioButton}" IsChecked="True" />
  301. <RadioButton Content="LP1" Name="JobRadioButton1" Canvas.Left="961" Canvas.Top="106" Width="60" Height="33" Style="{StaticResource Button_RadioButton}" IsChecked="False" />
  302. <RadioButton Content="LP2" Name="JobRadioButton2" Canvas.Left="1022" Canvas.Top="106" Width="60" Height="33" Style="{StaticResource Button_RadioButton}" IsChecked="False" />
  303. <RadioButton Content="LP3" Name="JobRadioButton3" Canvas.Left="1083" Canvas.Top="106" Width="60" Height="33" Style="{StaticResource Button_RadioButton}" IsChecked="False" />
  304. <TabPanel Canvas.Left="900" Canvas.Top="140" Visibility="{Binding ElementName=CarrierRadioButton,Path=IsChecked,Converter={StaticResource boolToVisibility2}}">
  305. <StackPanel Orientation="Horizontal" >
  306. <StackPanel>
  307. <TextBox Background="White" Text="LP1" Width="Auto" Height="30" HorizontalContentAlignment="Center" VerticalContentAlignment="Center" IsReadOnly="True"/>
  308. <ctrls:FOUPFrontView UnitData="{Binding LP1ModuleInfo}" ShowTitle="False" IsEnabled="{Binding RtDataValues[System.IsAutoMode],Converter={StaticResource BoolToBool}}"/>
  309. <TextBlock HorizontalAlignment="Center" Margin="0,5,0,0" FontSize="15">
  310. <TextBlock.Text>
  311. <MultiBinding StringFormat="{}Wafer Count:{0}">
  312. <Binding Path="LP1WaferCount"></Binding>
  313. </MultiBinding>
  314. </TextBlock.Text>
  315. </TextBlock>
  316. <StackPanel Orientation="Horizontal">
  317. <customControls:PathButton Content="Load" HorizontalAlignment="Center" Margin="0,5,0,0" Width="80" Height="30" Command="{Binding LoadWaferCommand}" CommandParameter="LP1" IsEnabled="{Binding RtDataValues[LP1.IsLoaded],Converter={StaticResource BoolToBool}}"/>
  318. <customControls:PathButton Content="UnLoad" HorizontalAlignment="Center" Margin="0,5,8,0" Width="80" Height="30" Command="{Binding UnLoadWaferCommand}" CommandParameter="LP1" IsEnabled="{Binding RtDataValues[LP1.IsLoaded]}"/>
  319. </StackPanel>
  320. </StackPanel>
  321. <StackPanel>
  322. <TextBox Background="White" Text="LP2" Width="Auto" Height="30" HorizontalContentAlignment="Center" VerticalContentAlignment="Center" IsReadOnly="True"/>
  323. <ctrls:FOUPFrontView UnitData="{Binding LP2ModuleInfo}" ShowTitle="False" IsEnabled="{Binding RtDataValues[System.IsAutoMode],Converter={StaticResource BoolToBool}}"/>
  324. <TextBlock HorizontalAlignment="Center" Margin="0,5,0,0" FontSize="15">
  325. <TextBlock.Text>
  326. <MultiBinding StringFormat="{}Wafer Count:{0}">
  327. <Binding Path="LP2WaferCount"></Binding>
  328. </MultiBinding>
  329. </TextBlock.Text>
  330. </TextBlock>
  331. <StackPanel Orientation="Horizontal">
  332. <customControls:PathButton Content="Load" HorizontalAlignment="Center" Margin="0,5,0,0" Width="80" Height="30" Command="{Binding LoadWaferCommand}" CommandParameter="LP2" IsEnabled="{Binding RtDataValues[LP2.IsLoaded],Converter={StaticResource BoolToBool}}"/>
  333. <customControls:PathButton Content="UnLoad" HorizontalAlignment="Center" Margin="0,5,8,0" Width="80" Height="30" Command="{Binding UnLoadWaferCommand}" CommandParameter="LP2" IsEnabled="{Binding RtDataValues[LP2.IsLoaded]}"/>
  334. </StackPanel>
  335. </StackPanel>
  336. <StackPanel>
  337. <TextBox Background="White" Text="LP3" Width="Auto" Height="30" HorizontalContentAlignment="Center" VerticalContentAlignment="Center" IsReadOnly="True"/>
  338. <ctrls:FOUPFrontView UnitData="{Binding LP3ModuleInfo}" ShowTitle="False" IsEnabled="{Binding RtDataValues[System.IsAutoMode],Converter={StaticResource BoolToBool}}"/>
  339. <TextBlock HorizontalAlignment="Center" Margin="0,5,0,0" FontSize="15">
  340. <TextBlock.Text>
  341. <MultiBinding StringFormat="{}Wafer Count:{0}">
  342. <Binding Path="LP3WaferCount"></Binding>
  343. </MultiBinding>
  344. </TextBlock.Text>
  345. </TextBlock>
  346. <StackPanel Orientation="Horizontal">
  347. <customControls:PathButton Content="Load" HorizontalAlignment="Center" Margin="0,5,0,0" Width="80" Height="30" Command="{Binding LoadWaferCommand}" CommandParameter="LP3" IsEnabled="{Binding RtDataValues[LP3.IsLoaded],Converter={StaticResource BoolToBool}}"/>
  348. <customControls:PathButton Content="UnLoad" HorizontalAlignment="Center" Margin="0,5,0,0" Width="80" Height="30" Command="{Binding UnLoadWaferCommand}" CommandParameter="LP3" IsEnabled="{Binding RtDataValues[LP3.IsLoaded]}"/>
  349. </StackPanel>
  350. </StackPanel>
  351. </StackPanel>
  352. </TabPanel>
  353. <TabPanel Canvas.Left="900" Canvas.Top="140" Visibility="{Binding ElementName=JobRadioButton1,Path=IsChecked,Converter={StaticResource boolToVisibility2}}" >
  354. <local:WaferAssociationUnit WAInfo="{Binding LP1WaferAssociation}" ButtonIsEnable="{Binding ButtonIsEnableLP1}"/>
  355. </TabPanel>
  356. <TabPanel Canvas.Left="900" Canvas.Top="140" Visibility="{Binding ElementName=JobRadioButton2,Path=IsChecked,Converter={StaticResource boolToVisibility2}}" >
  357. <local:WaferAssociationUnit WAInfo="{Binding LP2WaferAssociation}" ButtonIsEnable="{Binding ButtonIsEnableLP2}"/>
  358. </TabPanel>
  359. <TabPanel Canvas.Left="900" Canvas.Top="140" Visibility="{Binding ElementName=JobRadioButton3,Path=IsChecked,Converter={StaticResource boolToVisibility2}}" >
  360. <local:WaferAssociationUnit WAInfo="{Binding LP3WaferAssociation}" ButtonIsEnable="{Binding ButtonIsEnableLP3}"/>
  361. </TabPanel>
  362. </Canvas>
  363. <Grid Canvas.Left="1700" Canvas.Top="240" Width="200" Background="White" Margin="10,-1,0,-1">
  364. <Grid.RowDefinitions>
  365. <RowDefinition Height="30"/>
  366. <RowDefinition Height="Auto"/>
  367. <RowDefinition Height="30"/>
  368. <RowDefinition />
  369. </Grid.RowDefinitions>
  370. <Border Grid.Row="0" BorderBrush="{DynamicResource MainFrame_BD}" BorderThickness="1" Background="#F5F7FA" Padding="5,1">
  371. <StackPanel Orientation="Horizontal" HorizontalAlignment="Left" VerticalAlignment="Center">
  372. <Path Data="M0,0 L5,0 5,5 z" Fill="Black" HorizontalAlignment="Left" Grid.Row="1" RenderTransformOrigin="0.5,0.5" Stretch="Fill" Width="5" Height="5">
  373. <Path.RenderTransform>
  374. <TransformGroup>
  375. <ScaleTransform/>
  376. <SkewTransform/>
  377. <RotateTransform Angle="45"/>
  378. <TranslateTransform/>
  379. </TransformGroup>
  380. </Path.RenderTransform>
  381. </Path>
  382. <TextBlock Margin="5,0,0,0" Text="Wafer Status" FontFamily="Arial" FontSize="14" Foreground="{DynamicResource FG_Black}" HorizontalAlignment="Left" VerticalAlignment="Center"/>
  383. </StackPanel>
  384. </Border>
  385. <Border Grid.Row="1" BorderBrush="{DynamicResource MainFrame_BD}" BorderThickness="1,0,1,1" Padding="5,1">
  386. <StackPanel HorizontalAlignment="Center" VerticalAlignment="Top" Margin="0,5">
  387. <Grid Width="180" Height="20" HorizontalAlignment="Left">
  388. <Grid.ColumnDefinitions>
  389. <ColumnDefinition Width="40"/>
  390. <ColumnDefinition />
  391. </Grid.ColumnDefinitions>
  392. <Rectangle Fill="Gold" Stroke="Black" StrokeThickness="1"/>
  393. <TextBlock Text="Idle / Unselected" Grid.Column="1" Margin="10,0,0,0" Foreground="{DynamicResource FG_Black}" FontSize="14" FontFamily="Arial" VerticalAlignment="Center"/>
  394. </Grid>
  395. <Grid Width="180" Height="20" Margin="0,5,0,0" HorizontalAlignment="Left">
  396. <Grid.ColumnDefinitions>
  397. <ColumnDefinition Width="40"/>
  398. <ColumnDefinition Width="6*" />
  399. <ColumnDefinition Width="29*"/>
  400. </Grid.ColumnDefinitions>
  401. <Rectangle Fill="Blue" Stroke="Black" StrokeThickness="1"/>
  402. <TextBlock Text="Idle / Job Selected" Grid.Column="1" Margin="10,2,0,1" Foreground="{DynamicResource FG_Black}" FontSize="14" FontFamily="Arial" VerticalAlignment="Center" Grid.ColumnSpan="2"/>
  403. </Grid>
  404. <Grid Width="180" Height="20" Margin="0,5,0,0" HorizontalAlignment="Left">
  405. <Grid.ColumnDefinitions>
  406. <ColumnDefinition Width="40"/>
  407. <ColumnDefinition />
  408. </Grid.ColumnDefinitions>
  409. <Rectangle Fill="Cyan" Stroke="Black" StrokeThickness="1"/>
  410. <TextBlock Text="In Process" Grid.Column="1" Margin="10,0,0,0" Foreground="{DynamicResource FG_Black}" FontSize="14" FontFamily="Arial" VerticalAlignment="Center"/>
  411. </Grid>
  412. <Grid Width="180" Height="20" Margin="0,5,0,0" HorizontalAlignment="Left">
  413. <Grid.ColumnDefinitions>
  414. <ColumnDefinition Width="40"/>
  415. <ColumnDefinition />
  416. </Grid.ColumnDefinitions>
  417. <Rectangle Fill="LimeGreen" Stroke="Black" StrokeThickness="1"/>
  418. <TextBlock Text="Process Complete" Grid.Column="1" Margin="10,0,0,0" Foreground="{DynamicResource FG_Black}" FontSize="14" FontFamily="Arial" VerticalAlignment="Center"/>
  419. </Grid>
  420. <Grid Width="180" Height="20" Margin="0,5,0,0" HorizontalAlignment="Left">
  421. <Grid.ColumnDefinitions>
  422. <ColumnDefinition Width="40"/>
  423. <ColumnDefinition />
  424. </Grid.ColumnDefinitions>
  425. <Rectangle Fill="Red" Stroke="Black" StrokeThickness="1"/>
  426. <TextBlock Text="Error" Grid.Column="1" Margin="10,0,0,0" Foreground="{DynamicResource FG_Black}" FontSize="14" FontFamily="Arial" VerticalAlignment="Center"/>
  427. </Grid>
  428. </StackPanel>
  429. </Border>
  430. <Border Grid.Row="2" BorderBrush="{DynamicResource MainFrame_BD}" BorderThickness="1,0,1,1" Background="#F5F7FA" Padding="5,1">
  431. </Border>
  432. <Border Grid.Row="3" BorderBrush="{DynamicResource MainFrame_BD}" BorderThickness="1,0,1,1" Padding="5,1">
  433. <StackPanel HorizontalAlignment="Center" VerticalAlignment="Top" Margin="0,5">
  434. <Grid x:Name="Cycle_Info" Visibility="{Binding IsCycleInfoVisibility}" Margin="0,10,0,0">
  435. <Grid.ColumnDefinitions>
  436. <ColumnDefinition Width="110"/>
  437. <ColumnDefinition Width="70"/>
  438. </Grid.ColumnDefinitions>
  439. <Grid.RowDefinitions>
  440. <RowDefinition Height="25"/>
  441. <RowDefinition Height="24"/>
  442. <RowDefinition Height="24"/>
  443. <RowDefinition Height="24"/>
  444. </Grid.RowDefinitions>
  445. <TextBlock Grid.ColumnSpan="2" Text="Cycle Information" FontFamily="Arial" FontSize="14" Foreground="{DynamicResource FG_Black}" HorizontalAlignment="Center" VerticalAlignment="Center" Margin="0,0,0,3"/>
  446. <Border BorderBrush="{DynamicResource Table_BD}" BorderThickness="1" Background="{DynamicResource Table_BG_Title}" Grid.Row="1" Padding="5,1">
  447. <TextBlock Text="Wafer Count" TextWrapping="Wrap" Foreground="{DynamicResource FG_Black}" FontSize="14" FontFamily="Arial" VerticalAlignment="Center"/>
  448. </Border>
  449. <Border BorderBrush="{DynamicResource Table_BD}" BorderThickness="0,1,1,1" Background="{DynamicResource Table_BG_Content}" Grid.Row="1" Grid.Column="1" Padding="5,1">
  450. <TextBlock Text="{Binding RtDataValues[Scheduler.CycledWafer]}" TextWrapping="Wrap" Foreground="{DynamicResource FG_Black}" FontSize="14" FontFamily="Arial" VerticalAlignment="Center"/>
  451. </Border>
  452. <Border BorderBrush="{DynamicResource Table_BD}" BorderThickness="1,0,1,1" Background="{DynamicResource Table_BG_Title}" Grid.Row="2" Padding="5,1">
  453. <TextBlock Text="Cycle Count" TextWrapping="Wrap" Foreground="{DynamicResource FG_Black}" FontSize="14" FontFamily="Arial" VerticalAlignment="Center"/>
  454. </Border>
  455. <Border BorderBrush="{DynamicResource Table_BD}" BorderThickness="0,0,1,1" Background="{DynamicResource Table_BG_Content}" Grid.Row="2" Grid.Column="1" Padding="5,1">
  456. <TextBlock TextWrapping="Wrap" Foreground="{DynamicResource FG_Black}" FontSize="14" FontFamily="Arial" VerticalAlignment="Center">
  457. <TextBlock.Text>
  458. <MultiBinding StringFormat="{}{0}/{1}">
  459. <Binding Path="RtDataValues[Scheduler.CycleSetPoint]"></Binding>
  460. <Binding Path="RtDataValues[Scheduler.CycledCount]"></Binding>
  461. </MultiBinding>
  462. </TextBlock.Text>
  463. </TextBlock>
  464. </Border>
  465. <Border BorderBrush="{DynamicResource Table_BD}" BorderThickness="1" Background="{DynamicResource Table_BG_Title}" Grid.Row="3" Padding="5,1">
  466. <TextBlock Text="Throughput" TextWrapping="Wrap" Foreground="{DynamicResource FG_Black}" FontSize="14" FontFamily="Arial" VerticalAlignment="Center"/>
  467. </Border>
  468. <Border BorderBrush="{DynamicResource Table_BD}" BorderThickness="0,1,1,1" Background="{DynamicResource Table_BG_Content}" Grid.Row="3" Grid.Column="1" Padding="5,1">
  469. <TextBlock Text="{Binding RtDataValues[Scheduler.Throughput]}" TextWrapping="Wrap" Foreground="{DynamicResource FG_Black}" FontSize="14" FontFamily="Arial" VerticalAlignment="Center"/>
  470. </Border>
  471. </Grid>
  472. <TextBlock Grid.ColumnSpan="2" Text="{Binding ATMModeIsOn}" FontFamily="Arial" FontSize="14" Foreground="{DynamicResource FG_Black}" HorizontalAlignment="Center" VerticalAlignment="Center" Margin="0,20,0,0"/>
  473. </StackPanel>
  474. </Border>
  475. </Grid>
  476. <userControls:TextboxWithLabel Canvas.Left="740" Canvas.Top="425" LabelValue="{Binding PressureType, StringFormat=CM4({0})}" TextBoxValue="{Binding RtDataValues[TM.LLBPressureGauge.Value],StringFormat='F1'}" TextBoxColor="#E6ECF5"/>
  477. <Ellipse Width="15" Height="15" Canvas.Left="820" Canvas.Top="426" Fill="{Binding RtDataValues[TM.LLBATMSwitch.Value],Converter={StaticResource boolToColor}}" Stroke="Silver" StrokeThickness="2"></Ellipse>
  478. <Ellipse Width="15" Height="15" Canvas.Left="820" Canvas.Top="446" Fill="{Binding RtDataValues[TM.LLBVacSwitch.Value],Converter={StaticResource boolToColor}}" Stroke="Silver" StrokeThickness="2"></Ellipse>
  479. <TextBlock Text="ATM" Canvas.Left="840" Canvas.Top="426"/>
  480. <TextBlock Text="VAC" Canvas.Left="840" Canvas.Top="446"/>
  481. <userControls:TextboxWithLabel Canvas.Left="386" Canvas.Top="425" LabelValue="{Binding PressureType, StringFormat=CM5({0})}" TextBoxValue="{Binding RtDataValues[TM.LLAPressureGauge.Value],StringFormat='F1'}" TextBoxColor="#E6ECF5"/>
  482. <Ellipse Width="15" Height="15" Canvas.Left="360" Canvas.Top="426" Fill="{Binding RtDataValues[TM.LLAATMSwitch.Value],Converter={StaticResource boolToColor}}" Stroke="Silver" StrokeThickness="2"></Ellipse>
  483. <Ellipse Width="15" Height="15" Canvas.Left="360" Canvas.Top="446" Fill="{Binding RtDataValues[TM.LLAVacSwitch.Value],Converter={StaticResource boolToColor}}" Stroke="Silver" StrokeThickness="2"></Ellipse>
  484. <TextBlock Text="ATM" Canvas.Left="330" Canvas.Top="426"/>
  485. <TextBlock Text="VAC" Canvas.Left="330" Canvas.Top="446"/>
  486. </Canvas>
  487. </Canvas>
  488. </UserControl>