VenusSeOperationOverView.xaml 20 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243
  1. <UserControl x:Class="Venus_MainPages.Views.VenusSeOperationOverView"
  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. xmlns:unity="clr-namespace:Venus_MainPages.Unity"
  8. xmlns:prism="http://prismlibrary.com/"
  9. prism:ViewModelLocator.AutoWireViewModel="True"
  10. xmlns:converters="clr-namespace:Venus_Themes.Converters;assembly=Venus_Themes"
  11. xmlns:ctrls="clr-namespace:Venus_Themes.UserControls;assembly=Venus_Themes"
  12. xmlns:userControls="clr-namespace:Venus_Themes.UserControls;assembly=Venus_Themes"
  13. xmlns:customControls="clr-namespace:Venus_Themes.CustomControls;assembly=Venus_Themes"
  14. mc:Ignorable="d"
  15. xmlns:i="clr-namespace:System.Windows.Interactivity;assembly=System.Windows.Interactivity"
  16. d:DesignHeight="450" d:DesignWidth="800">
  17. <i:Interaction.Triggers>
  18. <i:EventTrigger EventName="Loaded">
  19. <i:InvokeCommandAction Command="{Binding LoadCommand}"/>
  20. </i:EventTrigger>
  21. </i:Interaction.Triggers>
  22. <UserControl.Resources>
  23. <converters:BoolToVisibility x:Key="boolToVisibility"/>
  24. <converters:BoolToVisibility2 x:Key="boolToVisibility2"/>
  25. <converters:BoolToBool x:Key="BoolToBool"/>
  26. </UserControl.Resources>
  27. <Grid>
  28. <Canvas>
  29. <!-- Recipe -->
  30. <Grid Width="280" Height="170" Canvas.Left="240" Canvas.Top="380" unity:GridOptions.LineBrush="#afb4db" unity:GridOptions.ShowBorder="True" Background="#E9EDF4" Visibility="{Binding PMAIsInstalled,Converter={StaticResource bool2VisibilityConverter}}">
  31. <Grid.RowDefinitions>
  32. <RowDefinition Height="30"/>
  33. <RowDefinition/>
  34. <RowDefinition/>
  35. <RowDefinition/>
  36. <RowDefinition/>
  37. <RowDefinition/>
  38. <RowDefinition Height="0"/>
  39. <RowDefinition/>
  40. </Grid.RowDefinitions>
  41. <Grid.ColumnDefinitions>
  42. <ColumnDefinition Width="3*"/>
  43. <ColumnDefinition Width="2*"/>
  44. </Grid.ColumnDefinitions>
  45. <TextBlock Grid.Row="0" Text="PMA" Foreground="White" Grid.ColumnSpan="2" FontSize="20" Padding="120,2,0,0" Background="#376092"/>
  46. <TextBlock Grid.Row="1" Text="Recipe Name" FontSize="15" Padding="10,2,0,0" Background="#D0D8E8"/>
  47. <TextBlock Grid.Row="2" Text="Step Num/All" FontSize="15" Padding="10,2,0,0" Background="#D0D8E8"/>
  48. <TextBlock Grid.Row="3" Text="Step Type" FontSize="15" Padding="10,2,0,0" Background="#D0D8E8"/>
  49. <TextBlock Grid.Row="4" Text="Step Elpased Time" FontSize="15" Padding="10,2,0,0" Background="#D0D8E8"/>
  50. <TextBlock Grid.Row="5" Text="Step Time(s)" FontSize="15" Padding="10,2,0,0" Background="#D0D8E8"/>
  51. <TextBlock Grid.Row="6" Text="Next Step" FontSize="15" Padding="10,2,0,0" Background="#D0D8E8"/>
  52. <TextBlock Grid.Row="7" Text="Cycle Num/All" FontSize="15" Padding="10,2,0,0" Background="#D0D8E8"/>
  53. <TextBlock Grid.Row="1" Grid.Column="1" Text="" FontSize="15" Padding="10,2,0,0" Background="#E9EDF4"/>
  54. <TextBlock Grid.Row="2" Grid.Column="1" FontSize="15" Padding="10,2,0,0" Background="#E9EDF4">
  55. </TextBlock>
  56. <TextBlock Grid.Row="3" Grid.Column="1" FontSize="15" Padding="10,2,0,0"/>
  57. <TextBlock Grid.Row="4" Grid.Column="1" FontSize="15" Padding="10,2,0,0"/>
  58. <TextBlock Grid.Row="5" Grid.Column="1" FontSize="15" Padding="10,2,0,0"/>
  59. <TextBlock Grid.Row="7" Grid.Column="1" FontSize="15" Padding="10,2,0,0" Background="#E9EDF4">
  60. </TextBlock>
  61. </Grid>
  62. <Grid Width="280" Height="170" Canvas.Left="730" Canvas.Top="30" unity:GridOptions.LineBrush="#afb4db" unity:GridOptions.ShowBorder="True" Background="#E9EDF4" Visibility="{Binding PMBIsInstalled,Converter={StaticResource bool2VisibilityConverter}}" Cursor="">
  63. <Grid.RowDefinitions>
  64. <RowDefinition Height="30"/>
  65. <RowDefinition/>
  66. <RowDefinition/>
  67. <RowDefinition/>
  68. <RowDefinition/>
  69. <RowDefinition/>
  70. <RowDefinition Height="0"/>
  71. <RowDefinition/>
  72. </Grid.RowDefinitions>
  73. <Grid.ColumnDefinitions>
  74. <ColumnDefinition Width="3*"/>
  75. <ColumnDefinition Width="2*"/>
  76. </Grid.ColumnDefinitions>
  77. <TextBlock Grid.Row="0" Text="PMB" Foreground="White" Grid.ColumnSpan="2" FontSize="20" Padding="120,2,0,0" Background="#376092"/>
  78. <TextBlock Grid.Row="1" Text="Recipe Name" FontSize="15" Padding="10,2,0,0" Background="#D0D8E8"/>
  79. <TextBlock Grid.Row="2" Text="Step Num/All" FontSize="15" Padding="10,2,0,0" Background="#D0D8E8"/>
  80. <TextBlock Grid.Row="3" Text="Step Type" FontSize="15" Padding="10,2,0,0" Background="#D0D8E8"/>
  81. <TextBlock Grid.Row="4" Text="Step Elpased Time" FontSize="15" Padding="10,2,0,0" Background="#D0D8E8"/>
  82. <TextBlock Grid.Row="5" Text="Step Time(s)" FontSize="15" Padding="10,2,0,0" Background="#D0D8E8"/>
  83. <TextBlock Grid.Row="6" Text="Next Step" FontSize="15" Padding="10,2,0,0" Background="#D0D8E8"/>
  84. <TextBlock Grid.Row="7" Text="Cycle Num/All" FontSize="15" Padding="10,2,0,0" Background="#D0D8E8"/>
  85. <TextBlock Grid.Row="1" Grid.Column="1" Text="" FontSize="15" Padding="10,2,0,0" Background="#E9EDF4"/>
  86. <TextBlock Grid.Row="2" Grid.Column="1" FontSize="15" Padding="10,2,0,0" Background="#E9EDF4">
  87. </TextBlock>
  88. <TextBlock Grid.Row="3" Grid.Column="1" FontSize="15" Padding="10,2,0,0"/>
  89. <TextBlock Grid.Row="4" Grid.Column="1" FontSize="15" Padding="10,2,0,0"/>
  90. <TextBlock Grid.Row="5" Grid.Column="1" FontSize="15" Padding="10,2,0,0"/>
  91. <TextBlock Grid.Row="7" Grid.Column="1" FontSize="15" Padding="10,2,0,0" Background="#E9EDF4">
  92. </TextBlock>
  93. </Grid>
  94. <!-- Overview including Vce PM TM(slitDoor) Aligner -->
  95. <Viewbox Height="300" Width="300" Canvas.Top="50" Canvas.Left="400">
  96. <Canvas Height="400" Width="400">
  97. <!-- 遮罩栏 -->
  98. <Rectangle Width="152" Height="16" Canvas.Top="455" Canvas.Left="547" Fill="Transparent" HorizontalAlignment="Center" VerticalAlignment="Center" Panel.ZIndex="100"></Rectangle>
  99. <Rectangle Width="152" Height="15" Canvas.Top="788" Canvas.Left="547" Fill="Transparent" Panel.ZIndex="100"></Rectangle>
  100. <Rectangle Width="152" Height="17" Canvas.Top="496" Canvas.Left="522" Fill="Transparent" Panel.ZIndex="100">
  101. <Rectangle.RenderTransform>
  102. <RotateTransform Angle="90"></RotateTransform>
  103. </Rectangle.RenderTransform>
  104. </Rectangle>
  105. <Rectangle Width="152" Height="20" Canvas.Top="496" Canvas.Left="743" Fill="Transparent" Panel.ZIndex="100"
  106. >
  107. <Rectangle.RenderTransform>
  108. <RotateTransform Angle="90"></RotateTransform>
  109. </Rectangle.RenderTransform>
  110. </Rectangle>
  111. <userControls:VenusSETM Canvas.Top="450" Canvas.Left="500" PAWafer="{Binding PAWafer}"
  112. VCEIsInstalled="{Binding VCEIsInstalled }"
  113. PMAIsInstalled="{Binding PMAIsInstalled}"
  114. PMBIsInstalled="{Binding PMBIsInstalled}"
  115. PMCIsInstalled="{Binding PMCIsInstalled}"
  116. VCEDoorIsOpen = "{Binding VCEDoorIsOpen}"
  117. PMADoorIsOpen = "{Binding PMADoorIsOpen}"
  118. PMBDoorIsOpen = "{Binding PMBDoorIsOpen}"
  119. PMCDoorIsOpen = "{Binding PMCDoorIsOpen}"
  120. VPAIsShow ="True" Panel.ZIndex="99"></userControls:VenusSETM>
  121. <userControls:TMChamber ModuleName="PMC" x:Name="PMC" Canvas.Top="496" Canvas.Left="889" Width="150" Height="150" RotateTransformValue="90" DoorIsOpen="{Binding PMCDoorIsOpen,Converter={StaticResource BoolToBool}}" RobotWafer="{Binding PMCWafer}" PMVisibility="{Binding PMCIsInstalled,Converter={StaticResource bool2VisibilityConverter}}" HorizontalAlignment="Left" VerticalAlignment="Center" Visibility="{Binding PMCIsInstalled,Converter={StaticResource boolToVisibility2}}"/>
  122. <userControls:TMChamber ModuleName="PMB" x:Name="PMB" Canvas.Top="305" Canvas.Left="548" Width="150" Height="150" DoorIsOpen="{Binding PMBDoorIsOpen,Converter={StaticResource BoolToBool}}" RobotWafer="{Binding PMBWafer}" PMVisibility="{Binding PMBIsInstalled,Converter={StaticResource bool2VisibilityConverter}}" HorizontalAlignment="Center" VerticalAlignment="Top" Visibility="{Binding PMBIsInstalled,Converter={StaticResource boolToVisibility2}}"/>
  123. <userControls:TMChamber ModuleName="PMA" x:Name="PMA" Canvas.Top="647" Canvas.Left="355" Width="150" Height="150" RotateTransformValue="-90" DoorIsOpen="{Binding PMADoorIsOpen,Converter={StaticResource BoolToBool}}" RobotWafer="{Binding PMAWafer}" PMVisibility="{Binding PMAIsInstalled,Converter={StaticResource bool2VisibilityConverter}}" HorizontalAlignment="Left" VerticalAlignment="Center" Visibility="{Binding PMAIsInstalled,Converter={StaticResource boolToVisibility2}}"/>
  124. <TextBlock Canvas.Top="930" Canvas.Left="600" Text="Vce" FontSize="25" FontWeight="Normal"></TextBlock>
  125. <userControls:Vce Canvas.Top="778" Canvas.Left="520" Width="200" Height="180" VCEOutDoorIsOpen="{Binding VCEOutDoorIsOpen}"></userControls:Vce>
  126. </Canvas>
  127. </Viewbox>
  128. <ctrls:WaferCtrl WaferData="{Binding RobotUpperWafer}" Canvas.Left="838" Canvas.Top="410" HorizontalAlignment="Center" VerticalAlignment="Top"/>
  129. <ctrls:WaferCtrl WaferData="{Binding RobotLowerWafer}" Canvas.Left="838" Canvas.Top="485" HorizontalAlignment="Center" VerticalAlignment="Top"/>
  130. <userControls:EFEMFrontView UnitData="{Binding TMModuleInfo}" Title="Robot" Canvas.Top="583" Canvas.Left="625" HorizontalAlignment="Center" VerticalAlignment="Top" Height="89" />
  131. <!--手臂 wafer情况-->
  132. <!-- carrier 记录vce的情况 -->
  133. <Canvas Canvas.Left="500">
  134. <StackPanel Orientation="Vertical" Canvas.Left="700" Canvas.Top="30">
  135. <StackPanel>
  136. <TextBlock Text="Cassette" Foreground="White" TextAlignment="Center" Background="#2570a1" Padding="5" HorizontalAlignment="Center" VerticalAlignment="Top" Width="130"/>
  137. <TextBox Background="{DynamicResource Table_BG_Title}" Text="Vce" Width="Auto" Height="30" HorizontalContentAlignment="Center" VerticalContentAlignment="Center" IsReadOnly="True"/>
  138. <ctrls:FOUPFrontView UnitData="{Binding VCE1ModuleInfo}" ShowTitle="False"/>
  139. <TextBlock HorizontalAlignment="Center" Margin="0,5,0,0" FontSize="15">
  140. <TextBlock.Text>
  141. <MultiBinding StringFormat="{}Wafer Count:{0}">
  142. <Binding Path="VCE1WaferCount"></Binding>
  143. </MultiBinding>
  144. </TextBlock.Text>
  145. </TextBlock>
  146. </StackPanel>
  147. </StackPanel>
  148. <WrapPanel Orientation="Horizontal" Canvas.Left="500" Canvas.Top="636" Width="580" Height="282">
  149. <customControls:PathButton Content="Home All" HorizontalAlignment="Center" Margin="0,5,0,0" Height="35" Command="{Binding HomeAll}" />
  150. <customControls:PathButton Content="AutoMode" HorizontalAlignment="Center" Margin="0,5,0,0" Height="35" Command="{Binding SetAutoMode}" />
  151. <customControls:PathButton Content="OutAuto" HorizontalAlignment="Center" Margin="0,5,0,0" Height="35" Command="{Binding SetManualMode}" />
  152. <customControls:PathButton Content="SETMCycle" HorizontalAlignment="Center" Margin="0,5,0,0" Height="35" Command="{Binding StartSETMCycle}" />
  153. <customControls:PathButton Content="StopCycle" HorizontalAlignment="Center" Margin="0,5,0,0" Height="35" Command="{Binding StopCycle}" Cursor="Hand" />
  154. <customControls:PathButton Content="VCE Home" HorizontalAlignment="Center" Margin="0,5,0,0" Height="35" Command="{Binding VCEHome}" />
  155. <customControls:PathButton Content="VCE ReadMap" HorizontalAlignment="Center" Margin="0,5,0,0" Height="35" Command="{Binding VCEReadMap}" />
  156. <customControls:PathButton Content="VCE Load Prepare" HorizontalAlignment="Center" Margin="0,5,0,0" Height="35" Command="{Binding VCELoadPrepare}" />
  157. <customControls:PathButton Content="VCE Load" HorizontalAlignment="Center" Margin="0,5,0,0" Height="35" Command="{Binding VCELoad}"/>
  158. <customControls:PathButton Content="VCE UnLoad" HorizontalAlignment="Center" Margin="0,5,0,0" Height="35" Command="{Binding VCEUnLoad}" />
  159. <customControls:PathButton Content="SMIF UnLoad" HorizontalAlignment="Center" Margin="0,5,0,0" Height="35" Command="{Binding SMIFLoad}" />
  160. <customControls:PathButton Content="SMIF Load" HorizontalAlignment="Center" Margin="0,5,0,0" Height="35" Command="{Binding SMIFULoad}"/>
  161. <customControls:PathButton Content="TMHome" HorizontalAlignment="Center" Margin="0,5,0,0" Height="35" Command="{Binding TmHome}"/>
  162. <customControls:PathButton Content="TMPick" HorizontalAlignment="Center" Margin="0,5,0,0" Height="35" Command="{Binding TmPick}"/>
  163. <TextBox Width="20" Height="40" VerticalAlignment="Center" TextAlignment="Center" Text="{Binding PickNum,UpdateSourceTrigger=PropertyChanged,Mode=TwoWay}"></TextBox>
  164. <customControls:PathButton Content="TMPlace" HorizontalAlignment="Center" Margin="0,5,0,0" Height="35" Command="{Binding TMPlace}"/>
  165. <customControls:PathButton Content="ReturnAllWafer" HorizontalAlignment="Center" Margin="0,5,0,0" Height="35" Command="{Binding ReturnAllWafer}"/>
  166. </WrapPanel>
  167. <TextBlock Text="Job" Canvas.Left="1000" Canvas.Top="30" Foreground="White" TextAlignment="Center" Background="#2570a1" Padding="5,3" HorizontalAlignment="Center" VerticalAlignment="Top" Width="362"/>
  168. <Viewbox Width="362" Canvas.Left="1000" Canvas.Top="50" Visibility="{Binding VCEIsInstalled,Converter={StaticResource boolToVisibility2}}" >
  169. <local:WaferAssociationUnit WAInfo="{Binding VCEwaferAssociation}" />
  170. </Viewbox>
  171. </Canvas>
  172. <!-- OverOperation -->
  173. <!-- Cycle information-->
  174. <Canvas Canvas.Top="690" Canvas.Left="1550">
  175. <Border BorderBrush="#4e6a8a" BorderThickness="2" Padding="10" CornerRadius="7">
  176. <Grid Width="200" Height="100">
  177. <Grid.ColumnDefinitions>
  178. <ColumnDefinition Width="*"></ColumnDefinition>
  179. <ColumnDefinition Width="*"></ColumnDefinition>
  180. </Grid.ColumnDefinitions>
  181. <Grid.RowDefinitions>
  182. <RowDefinition Height="*"></RowDefinition>
  183. <RowDefinition Height="*"></RowDefinition>
  184. <RowDefinition Height="*"></RowDefinition>
  185. <RowDefinition Height="*"></RowDefinition>
  186. </Grid.RowDefinitions>
  187. <TextBlock Grid.ColumnSpan="2" Text="Cycle Information" FontFamily="Arial" FontSize="14" Foreground="{DynamicResource FG_Black}" HorizontalAlignment="Center" VerticalAlignment="Center" Margin="0,0,0,3"/>
  188. <Border BorderBrush="{DynamicResource Table_BD}" BorderThickness="1" Background="{DynamicResource Table_BG_Title}" Grid.Row="1" Padding="5,1">
  189. <TextBlock Text="Wafer Count" TextWrapping="Wrap" Foreground="{DynamicResource FG_Black}" FontSize="14" FontFamily="Arial" VerticalAlignment="Center"/>
  190. </Border>
  191. <Border BorderBrush="{DynamicResource Table_BD}" BorderThickness="0,1,1,1" Background="{DynamicResource Table_BG_Content}" Grid.Column="1" Grid.Row="1" Padding="5,1" >
  192. <TextBlock Text="{Binding RtDataValues[SEScheduler.CycledWafer]}" TextWrapping="Wrap" Foreground="{DynamicResource FG_Black}" FontSize="14" FontFamily="Arial" HorizontalAlignment="Center" VerticalAlignment="Center"/>
  193. </Border>
  194. <Border BorderBrush="{DynamicResource Table_BD}" BorderThickness="1,0,1,1" Background="{DynamicResource Table_BG_Title}" Grid.Row="2" Padding="5,1">
  195. <TextBlock Text="Cycle Count" TextWrapping="Wrap" Foreground="{DynamicResource FG_Black}" FontSize="14" FontFamily="Arial" VerticalAlignment="Center"/>
  196. </Border>
  197. <Border BorderBrush="{DynamicResource Table_BD}" BorderThickness="0,0,1,1" Background="{DynamicResource Table_BG_Content}" Grid.Row="2" Grid.Column="1" Padding="5,1">
  198. <StackPanel Orientation="Horizontal" VerticalAlignment="Center" HorizontalAlignment="Center">
  199. <TextBlock Text="{Binding RtDataValues[SEScheduler.CycleCount]}" Foreground="{DynamicResource FG_Black}"></TextBlock>
  200. <TextBlock Text="/" Foreground="{DynamicResource FG_Black}"></TextBlock>
  201. <TextBlock Text="{Binding RtDataValues[SEScheduler.CycleSetPoint]}" Foreground="{DynamicResource FG_Black}"></TextBlock>
  202. </StackPanel>
  203. </Border>
  204. <Border BorderBrush="{DynamicResource Table_BD}" BorderThickness="1,0,1,1" Background="{DynamicResource Table_BG_Title}" Grid.Row="3" Padding="5,1">
  205. <TextBlock Text="Throughput" TextWrapping="Wrap" Foreground="{DynamicResource FG_Black}" FontSize="14" FontFamily="Arial" VerticalAlignment="Center"/>
  206. </Border>
  207. <Border BorderBrush="{DynamicResource Table_BD}" BorderThickness="0,0,1,1" Background="{DynamicResource Table_BG_Content}" Grid.Row="3" Grid.Column="1" Padding="5,1">
  208. <StackPanel Orientation="Horizontal" VerticalAlignment="Center" HorizontalAlignment="Center">
  209. <TextBlock Text="{Binding RtDataValues[SEScheduler.ThroughPut]}" Foreground="{DynamicResource FG_Black}"></TextBlock>
  210. </StackPanel>
  211. </Border>
  212. </Grid>
  213. </Border>
  214. </Canvas>
  215. </Canvas>
  216. </Grid>
  217. </UserControl>