TMView.xaml 20 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251
  1. <UserControl x:Class="Venus_MainPages.Views.TMView"
  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:customControls="clr-namespace:Venus_Themes.CustomControls;assembly=Venus_Themes"
  8. xmlns:userControls="clr-namespace:Venus_Themes.UserControls;assembly=Venus_Themes"
  9. xmlns:unity="clr-namespace:Venus_MainPages.Unity"
  10. xmlns:converters="clr-namespace:Venus_Themes.Converters;assembly=Venus_Themes"
  11. xmlns:ctrls="clr-namespace:Venus_Themes.UserControls;assembly=Venus_Themes"
  12. xmlns:prism="http://prismlibrary.com/"
  13. xmlns:i="http://schemas.microsoft.com/expression/2010/interactivity"
  14. xmlns:viewModel="clr-namespace:Venus_MainPages.ViewModels"
  15. prism:ViewModelLocator.AutoWireViewModel="True"
  16. mc:Ignorable="d"
  17. d:DesignHeight="450" d:DesignWidth="1500">
  18. <UserControl.Resources>
  19. <converters:BoolToBool x:Key="BoolToBool"/>
  20. </UserControl.Resources>
  21. <Canvas>
  22. <Grid Canvas.Top="20" Canvas.Right="40" Width="550">
  23. <Grid.RowDefinitions>
  24. <RowDefinition Height="30"/>
  25. <RowDefinition Height="Auto"/>
  26. </Grid.RowDefinitions>
  27. <Border BorderBrush="{DynamicResource Table_BD}" BorderThickness="1,0,1,1" Background="{DynamicResource Table_BG_FirstTitle}" Padding="5,1">
  28. <StackPanel Orientation="Horizontal" HorizontalAlignment="Left" VerticalAlignment="Center">
  29. <Path Data="M0,0 L5,0 5,5 z" Fill="White" HorizontalAlignment="Left" Grid.Row="1" RenderTransformOrigin="0.5,0.5" Stretch="Fill" Width="5" Height="5">
  30. <Path.RenderTransform>
  31. <TransformGroup>
  32. <ScaleTransform/>
  33. <SkewTransform/>
  34. <RotateTransform Angle="45"/>
  35. <TranslateTransform/>
  36. </TransformGroup>
  37. </Path.RenderTransform>
  38. </Path>
  39. <TextBlock Margin="5,0,0,0" Text="TM Robot Operation" FontFamily="Arial" FontSize="14" Foreground="{DynamicResource FG_White}" HorizontalAlignment="Left" VerticalAlignment="Center"/>
  40. </StackPanel>
  41. </Border>
  42. <!--<Border Grid.Row="1" BorderBrush="{DynamicResource Table_BD}" Background="{DynamicResource Table_BG_Content}" >-->
  43. <Grid unity:GridOptions.ShowBorder="True" unity:GridOptions.LineBrush="Black" Grid.Row="1" Background="{DynamicResource Table_BG_Content}">
  44. <Grid.RowDefinitions>
  45. <RowDefinition Height="25"/>
  46. <RowDefinition/>
  47. <RowDefinition/>
  48. <RowDefinition/>
  49. <RowDefinition/>
  50. <RowDefinition/>
  51. <RowDefinition/>
  52. </Grid.RowDefinitions>
  53. <Grid.ColumnDefinitions>
  54. <ColumnDefinition/>
  55. <ColumnDefinition/>
  56. <ColumnDefinition/>
  57. <ColumnDefinition/>
  58. </Grid.ColumnDefinitions>
  59. <TextBlock Text="Module" HorizontalAlignment="Center" VerticalAlignment="Center" FontSize="14" />
  60. <TextBlock Text="Slot" Grid.Column="1" HorizontalAlignment="Center" VerticalAlignment="Center" FontSize="14"/>
  61. <TextBlock Text="Blada" Grid.Column="2" HorizontalAlignment="Center" VerticalAlignment="Center" FontSize="14"/>
  62. <TextBlock Text="Operation" Grid.Column="3" HorizontalAlignment="Center" VerticalAlignment="Center" FontSize="14"/>
  63. <ComboBox Grid.Row="1" Margin="5" SelectedItem="{Binding PickSelectedModule}" ItemsSource="{Binding TMModules}">
  64. <i:Interaction.Triggers>
  65. <i:EventTrigger EventName="SelectionChanged">
  66. <i:InvokeCommandAction Command="{Binding ModuleChangeCommand}" CommandParameter="Pick"/>
  67. </i:EventTrigger>
  68. </i:Interaction.Triggers>
  69. </ComboBox>
  70. <ComboBox Grid.Row="1" Grid.Column="1" Margin="5" ItemsSource="{Binding PickSoltItemsSource}" SelectedIndex="{Binding PickSoltSelectedIndex}"/>
  71. <ComboBox Grid.Row="1" Grid.Column="2" Margin="5" SelectedItem="{Binding PickSelectedBlade}" unity:ItemsControlHelper.EnumValuesToItemsSource="True"/>
  72. <Button Grid.Row="1" Grid.Column="3" Margin="5" Content="Pick" Height="25" Command="{Binding PickCommand}"/>
  73. <ComboBox Grid.Row="2" Margin="5" SelectedItem="{Binding PlaceSelectedModule}" ItemsSource="{Binding TMModules}">
  74. <i:Interaction.Triggers>
  75. <i:EventTrigger EventName="SelectionChanged">
  76. <i:InvokeCommandAction Command="{Binding ModuleChangeCommand}" CommandParameter="Place" />
  77. </i:EventTrigger>
  78. </i:Interaction.Triggers>
  79. </ComboBox>
  80. <ComboBox Grid.Row="2" Grid.Column="1" Margin="5" ItemsSource="{Binding PlaceSoltItemsSource}" SelectedIndex="{Binding PlaceSoltSelectedIndex}"/>
  81. <ComboBox Grid.Row="2" Grid.Column="2" Margin="5" SelectedItem="{Binding PlaceSelectedBlade}" unity:ItemsControlHelper.EnumValuesToItemsSource="True"/>
  82. <Button Grid.Row="2" Grid.Column="3" Margin="5" Content="Place" Height="25" Command="{Binding PlaceCommand}"/>
  83. <ComboBox Grid.Row="3" Margin="5" SelectedItem="{Binding ExtendSelectedModule}" ItemsSource="{Binding TMModules}">
  84. <i:Interaction.Triggers>
  85. <i:EventTrigger EventName="SelectionChanged">
  86. <i:InvokeCommandAction Command="{Binding ModuleChangeCommand}" CommandParameter="Extend" />
  87. </i:EventTrigger>
  88. </i:Interaction.Triggers>
  89. </ComboBox>
  90. <ComboBox Grid.Row="3" Grid.Column="1" Margin="5" ItemsSource="{Binding ExtendSoltItemsSource}" SelectedIndex="{Binding ExtendSoltSelectedIndex}"/>
  91. <ComboBox Grid.Row="3" Grid.Column="2" Margin="5" SelectedItem="{Binding ExtendSelectedBlade}" unity:ItemsControlHelper.EnumValuesToItemsSource="True"/>
  92. <Button Grid.Row="3" Grid.Column="3" Margin="5" Content="Extend" Height="25" Command="{Binding ExtendCommand}"/>
  93. <ComboBox Grid.Row="4" Margin="5" SelectedItem="{Binding RetractSelectedModule}" ItemsSource="{Binding TMModules}">
  94. <i:Interaction.Triggers>
  95. <i:EventTrigger EventName="SelectionChanged">
  96. <i:InvokeCommandAction Command="{Binding ModuleChangeCommand}" CommandParameter="Retract" />
  97. </i:EventTrigger>
  98. </i:Interaction.Triggers>
  99. </ComboBox>
  100. <ComboBox Grid.Row="4" Grid.Column="1" Margin="5" ItemsSource="{Binding RetractSoltItemsSource}" SelectedIndex="{Binding RetractSoltSelectedIndex}"/>
  101. <ComboBox Grid.Row="4" Grid.Column="2" Margin="5" SelectedItem="{Binding RetractSelectedBlade}" unity:ItemsControlHelper.EnumValuesToItemsSource="True"/>
  102. <Button Grid.Row="4" Grid.Column="3" Margin="5" Content="Retract" Height="25" Command="{Binding RetractCommand}"/>
  103. <ComboBox Grid.Row="5" Grid.Column="0" Margin="5" SelectedItem="{Binding WaferRobotTAction}" unity:ItemsControlHelper.EnumValuesToItemsSource="True"/>
  104. <ComboBox Grid.Row="5" Grid.Column="2" Margin="5" SelectedItem="{Binding GoToSelectedBlade}" unity:ItemsControlHelper.EnumValuesToItemsSource="True"/>
  105. <Button Grid.Row="5" Grid.Column="3" Margin="5" Height="25" Content="Goto" IsEnabled="{Binding Path=IsManualMode}" Command="{Binding GotoCommand}"/>
  106. <Button Grid.Row="6" Grid.Column="3" Margin="5" Height="25" Content="Robot Home" Command="{Binding RobotHomeCommand}" />
  107. </Grid>
  108. <!--</Border>-->
  109. </Grid>
  110. <StackPanel Canvas.Top="360" Canvas.Right="40" Width="550">
  111. <Grid>
  112. <Grid.RowDefinitions>
  113. <RowDefinition Height="30"/>
  114. <RowDefinition Height="Auto"/>
  115. <RowDefinition />
  116. </Grid.RowDefinitions>
  117. <Border BorderBrush="{DynamicResource Table_BD}" BorderThickness="1,0,1,1" Background="{DynamicResource Table_BG_FirstTitle}" Padding="5,1">
  118. <StackPanel Orientation="Horizontal" HorizontalAlignment="Left" VerticalAlignment="Center">
  119. <Path Data="M0,0 L5,0 5,5 z" Fill="White" HorizontalAlignment="Left" Grid.Row="1" RenderTransformOrigin="0.5,0.5" Stretch="Fill" Width="5" Height="5">
  120. <Path.RenderTransform>
  121. <TransformGroup>
  122. <ScaleTransform/>
  123. <SkewTransform/>
  124. <RotateTransform Angle="45"/>
  125. <TranslateTransform/>
  126. </TransformGroup>
  127. </Path.RenderTransform>
  128. </Path>
  129. <TextBlock Margin="5,0,0,0" Text="TM Cycle Configuration" FontFamily="Arial" FontSize="14" Foreground="{DynamicResource FG_White}" HorizontalAlignment="Left" VerticalAlignment="Center"/>
  130. </StackPanel>
  131. </Border>
  132. <Border Grid.Row="1" BorderBrush="{DynamicResource Table_BD}" Background="{DynamicResource Table_BG_Content}" BorderThickness="1,0,1,1" >
  133. <Grid unity:GridOptions.ShowBorder="True" unity:GridOptions.LineBrush="White" unity:GridOptions.LineThickness="1">
  134. <Grid.RowDefinitions>
  135. <RowDefinition/>
  136. <RowDefinition/>
  137. </Grid.RowDefinitions>
  138. <Grid.ColumnDefinitions>
  139. <ColumnDefinition/>
  140. <ColumnDefinition/>
  141. <ColumnDefinition/>
  142. <ColumnDefinition/>
  143. <ColumnDefinition/>
  144. <ColumnDefinition/>
  145. </Grid.ColumnDefinitions>
  146. <TextBlock Text="TM Cycle Enable" Grid.ColumnSpan="2" Padding="0,5,0,5" Background="#D0D8E8" />
  147. <CheckBox Grid.Column="2" Margin="5" Grid.ColumnSpan="4" IsChecked="{Binding CycleEnable}"/>
  148. <TextBlock Text="TM Cycle Count" Grid.Row="1" Grid.ColumnSpan="2" Padding="0,5,0,5" Background="#D0D8E8"/>
  149. <TextBlock Text="TM Cycle Count Remained" Grid.Row="1" Grid.Column="3" Grid.ColumnSpan="2" Padding="0,5,0,5" Background="#D0D8E8"/>
  150. <TextBlock Text="{Binding RtDataValues[TMCycle.CycleIndex]}" Grid.Row="1" Grid.Column="5" Padding="0,5,0,5" HorizontalAlignment="Center"/>
  151. <TextBox Grid.Row="1" Grid.Column="2" BorderThickness="0" VerticalContentAlignment="Center" Padding="36,0,0,0" Text="{Binding CycleCount,UpdateSourceTrigger=PropertyChanged}"/>
  152. </Grid>
  153. </Border>
  154. </Grid>
  155. <Grid >
  156. <Grid.RowDefinitions>
  157. <RowDefinition Height="30"/>
  158. <RowDefinition />
  159. <RowDefinition />
  160. </Grid.RowDefinitions>
  161. <Border BorderBrush="{DynamicResource Table_BD}" BorderThickness="1,0,1,1" Background="{DynamicResource Table_BG_FirstTitle}" Padding="5,1">
  162. <StackPanel Orientation="Horizontal" HorizontalAlignment="Left" VerticalAlignment="Center">
  163. <Path Data="M0,0 L5,0 5,5 z" Fill="White" HorizontalAlignment="Left" Grid.Row="1" RenderTransformOrigin="0.5,0.5" Stretch="Fill" Width="5" Height="5">
  164. <Path.RenderTransform>
  165. <TransformGroup>
  166. <ScaleTransform/>
  167. <SkewTransform/>
  168. <RotateTransform Angle="45"/>
  169. <TranslateTransform/>
  170. </TransformGroup>
  171. </Path.RenderTransform>
  172. </Path>
  173. <TextBlock Margin="5,0,0,0" Text="TM Cycle" FontFamily="Arial" FontSize="14" Foreground="{DynamicResource FG_White}" HorizontalAlignment="Left" VerticalAlignment="Center"/>
  174. </StackPanel>
  175. </Border>
  176. <Border Grid.Row="1" BorderBrush="{DynamicResource Table_BD}" Background="{DynamicResource Table_BG_Content}" BorderThickness="1,0,1,1" >
  177. <Grid >
  178. <Grid.RowDefinitions>
  179. <RowDefinition/>
  180. <RowDefinition/>
  181. <RowDefinition/>
  182. </Grid.RowDefinitions>
  183. <StackPanel Orientation="Horizontal" HorizontalAlignment="Center">
  184. <TextBlock Text="Origin: " Padding="0,8,0,0"/>
  185. <ComboBox Width="100" Margin="0,5,5,0" ItemsSource="{Binding OriginalCycle}" SelectedItem="{Binding OriginalCycleSelectedItem}"/>
  186. <TextBlock Text="To: " Padding="10,8,0,0"/>
  187. <ComboBox Width="100" Margin="0,5,5,0" ItemsSource="{Binding ToCycle}" SelectedItem="{Binding ToCycleSelectedItem}"/>
  188. </StackPanel>
  189. <StackPanel Grid.Row="1" Orientation="Horizontal" HorizontalAlignment="Center">
  190. <CheckBox Content="PMA" Margin="0,10,10,10" Visibility="{Binding PMAIsInstalled,Converter={StaticResource bool2VisibilityConverter}}" IsChecked="{Binding PMAIsCycle}"/>
  191. <CheckBox Content="PMB" Margin="0,10,10,10" Visibility="{Binding PMBIsInstalled,Converter={StaticResource bool2VisibilityConverter}}" IsChecked="{Binding PMBIsCycle}"/>
  192. <CheckBox Content="PMC" Margin="0,10,10,10" Visibility="{Binding PMCIsInstalled,Converter={StaticResource bool2VisibilityConverter}}" IsChecked="{Binding PMCIsCycle}"/>
  193. <CheckBox Content="PMD" Margin="0,10,10,10" Visibility="{Binding PMDIsInstalled,Converter={StaticResource bool2VisibilityConverter}}" IsChecked="{Binding PMDIsCycle}"/>
  194. </StackPanel>
  195. <StackPanel Orientation="Horizontal" Grid.Row="2" HorizontalAlignment="Center">
  196. <Button Content="Home" Margin="0,0,10,10" Width="80" Height="25" Command="{Binding HomeCommand}"/>
  197. <Button Content="Start" Margin="0,0,10,10" Width="80" Height="25" Command="{Binding StartCycleCommand}"/>
  198. <Button Content="Stop" Margin="10,0,10,10" Width="80" Height="25" Command="{Binding StopCycleCommand}"/>
  199. <Button Content="Pause" Margin="10,0,10,10" Width="80" Height="25"/>
  200. <Button Content="Resume" Margin="10,0,0,10" Width="80" Height="25"/>
  201. </StackPanel>
  202. </Grid>
  203. </Border>
  204. </Grid>
  205. </StackPanel>
  206. <Canvas Canvas.Top="100" Canvas.Left="20">
  207. <userControls:FOUPFrontView UnitData="{Binding LLAModuleInfo}" VerticalAlignment="Top" Canvas.Top="460" Canvas.Left="326" Visibility="{Binding LLAIsInstalled,Converter={StaticResource bool2VisibilityConverter}}"/>
  208. <userControls:FOUPFrontView UnitData="{Binding LLBModuleInfo}" VerticalAlignment="Top" Canvas.Top="460" Canvas.Left="506" Visibility="{Binding LLBIsInstalled,Converter={StaticResource bool2VisibilityConverter}}"/>
  209. <Viewbox Width="420" Height="720" Stretch="Fill" >
  210. <Canvas Canvas.Top="100" Width="450" Height="800">
  211. <userControls:MainTM Width="300" Height="250" Canvas.Left="380" Canvas.Top="90"/>
  212. <customControls:WaferRobotControl OriginT="PMA" Canvas.Left="410" Canvas.Top="76" Width="200" Height="300" x:Name="robot" RobotTAction="{Binding Robot1TAction}" RobotXAction="{Binding Robot1XAction}" RobotWafer="{Binding BladeAWafer}"/>
  213. <customControls:WaferRobotControl OriginT="PMD" Canvas.Left="410" Canvas.Top="76" Width="200" Height="300" x:Name="robot2" RobotTAction="{Binding Robot2TAction}" RobotXAction="{Binding Robot2XAction}" RobotWafer="{Binding BladeBWafer}"/>
  214. <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}"/>
  215. <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}"/>
  216. <userControls:TMChamber x:Name="PMA" ModuleName="PMA" Canvas.Top="302" Canvas.Left="233" Width="140" Height="140" RotateTransformValue="-90" DoorIsOpen="{Binding RtDataValues[PMA.IsSlitDoorClosed],Converter={StaticResource BoolToBool}}" RobotWafer="{Binding PMAWafer}" PMVisibility="{Binding PMAIsInstalled,Converter={StaticResource bool2VisibilityConverter}}" IsEnabled="{Binding PMAIsInstalled}"/>
  217. <userControls:TMChamber x:Name="PMB" ModuleName="PMB" Canvas.Top="28" Canvas.Left="315" Width="140" Height="140" RotateTransformValue="-28" DoorIsOpen="{Binding RtDataValues[PMB.IsSlitDoorClosed],Converter={StaticResource BoolToBool}}" RobotWafer="{Binding PMBWafer}" PMVisibility="{Binding PMBIsInstalled,Converter={StaticResource bool2VisibilityConverter}}" IsEnabled="{Binding PMBIsInstalled}"/>
  218. <userControls:TMChamber x:Name="PMC" ModuleName="PMC" Canvas.Top="-37" Canvas.Left="586" Width="140" Height="140" RotateTransformValue="29" DoorIsOpen="{Binding RtDataValues[PMC.IsSlitDoorClosed],Converter={StaticResource BoolToBool}}" RobotWafer="{Binding PMCWafer}" PMVisibility="{Binding PMCIsInstalled,Converter={StaticResource bool2VisibilityConverter}}" IsEnabled="{Binding PMCIsInstalled}"/>
  219. <userControls:TMChamber x:Name="PMD" ModuleName="PMD" Canvas.Top="160" Canvas.Left="788" Width="140" Height="140" RotateTransformValue="90" DoorIsOpen="{Binding RtDataValues[PMD.IsSlitDoorClosed],Converter={StaticResource BoolToBool}}" RobotWafer="{Binding PMDWafer}" PMVisibility="{Binding PMDIsInstalled,Converter={StaticResource bool2VisibilityConverter}}" IsEnabled="{Binding PMDIsInstalled}"/>
  220. </Canvas>
  221. </Viewbox>
  222. </Canvas>
  223. </Canvas>
  224. </UserControl>