VenusDETMView.xaml 22 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275
  1. <UserControl x:Class="Venus_MainPages.Views.VenusDETMView"
  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:userControls="clr-namespace:Venus_Themes.UserControls;assembly=Venus_Themes"
  8. xmlns:customControls="clr-namespace:Venus_Themes.CustomControls;assembly=Venus_Themes"
  9. xmlns:converters="clr-namespace:Venus_Themes.Converters;assembly=Venus_Themes"
  10. xmlns:unity="clr-namespace:Venus_MainPages.Unity"
  11. xmlns:prism="http://prismlibrary.com/"
  12. xmlns:i="http://schemas.microsoft.com/expression/2010/interactivity"
  13. prism:ViewModelLocator.AutoWireViewModel="True"
  14. mc:Ignorable="d"
  15. d:DesignHeight="450" d:DesignWidth="1500">
  16. <UserControl.Resources>
  17. <converters:BoolToVisibility x:Key="boolToVisibility"/>
  18. <converters:BoolToVisibility2 x:Key="boolToVisibility2"/>
  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="SeTM Robot Operation" FontFamily="Arial" FontSize="14" Foreground="{DynamicResource FG_White}" HorizontalAlignment="Left" VerticalAlignment="Center"/>
  40. </StackPanel>
  41. </Border>
  42. <Grid unity:GridOptions.ShowBorder="True" unity:GridOptions.LineBrush="Black" Grid.Row="1" Background="{DynamicResource Table_BG_Content}">
  43. <!--行数列数设置-->
  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. <!--第1行-->
  64. <ComboBox Grid.Row="1" Margin="5" SelectedItem="{Binding PickSelectedModule}" ItemsSource="{Binding TMModules}">
  65. <i:Interaction.Triggers>
  66. <i:EventTrigger EventName="SelectionChanged">
  67. <i:InvokeCommandAction Command="{Binding ModuleChangeCommand}" CommandParameter="Pick"/>
  68. </i:EventTrigger>
  69. </i:Interaction.Triggers>
  70. </ComboBox>
  71. <ComboBox Grid.Row="1" Grid.Column="1" Margin="5" ItemsSource="{Binding PickSoltItemsSource}" SelectedIndex="{Binding PickSoltSelectedIndex}"/>
  72. <ComboBox Grid.Row="1" Grid.Column="2" Margin="5" SelectedItem="{Binding PickSelectedBlade}" unity:ItemsControlHelper.EnumValuesToItemsSource="True"/>
  73. <Button Grid.Row="1" Grid.Column="3" Margin="5" Content="Pick" Height="25" Command="{Binding PickCommand}"/>
  74. <!--第2行-->
  75. <ComboBox Grid.Row="2" Margin="5" SelectedItem="{Binding PlaceSelectedModule}" ItemsSource="{Binding TMModules}">
  76. <i:Interaction.Triggers>
  77. <i:EventTrigger EventName="SelectionChanged">
  78. <i:InvokeCommandAction Command="{Binding ModuleChangeCommand}" CommandParameter="Place" />
  79. </i:EventTrigger>
  80. </i:Interaction.Triggers>
  81. </ComboBox>
  82. <ComboBox Grid.Row="2" Grid.Column="1" Margin="5" ItemsSource="{Binding PlaceSoltItemsSource}" SelectedIndex="{Binding PlaceSoltSelectedIndex}"/>
  83. <ComboBox Grid.Row="2" Grid.Column="2" Margin="5" SelectedItem="{Binding PlaceSelectedBlade}" unity:ItemsControlHelper.EnumValuesToItemsSource="True"/>
  84. <Button Grid.Row="2" Grid.Column="3" Margin="5" Content="Place" Height="25" Command="{Binding PlaceCommand}"/>
  85. <!--第3行-->
  86. <ComboBox Grid.Row="3" Margin="5" SelectedItem="{Binding ExtendSelectedModule}" ItemsSource="{Binding TMModules}">
  87. <i:Interaction.Triggers>
  88. <i:EventTrigger EventName="SelectionChanged">
  89. <i:InvokeCommandAction Command="{Binding ModuleChangeCommand}" CommandParameter="Extend" />
  90. </i:EventTrigger>
  91. </i:Interaction.Triggers>
  92. </ComboBox>
  93. <ComboBox Grid.Row="3" Grid.Column="1" Margin="5" ItemsSource="{Binding ExtendSoltItemsSource}" SelectedIndex="{Binding ExtendSoltSelectedIndex}"/>
  94. <ComboBox Grid.Row="3" Grid.Column="2" Margin="5" SelectedItem="{Binding ExtendSelectedBlade}" unity:ItemsControlHelper.EnumValuesToItemsSource="True"/>
  95. <Button Grid.Row="3" Grid.Column="3" Margin="5" Content="Extend" Height="25" Command="{Binding ExtendCommand}"/>
  96. <!--第4行-->
  97. <ComboBox Grid.Row="4" Margin="5" SelectedItem="{Binding RetractSelectedModule}" ItemsSource="{Binding TMModules}">
  98. <i:Interaction.Triggers>
  99. <i:EventTrigger EventName="SelectionChanged">
  100. <i:InvokeCommandAction Command="{Binding ModuleChangeCommand}" CommandParameter="Retract" />
  101. </i:EventTrigger>
  102. </i:Interaction.Triggers>
  103. </ComboBox>
  104. <ComboBox Grid.Row="4" Grid.Column="1" Margin="5" ItemsSource="{Binding RetractSoltItemsSource}" SelectedIndex="{Binding RetractSoltSelectedIndex}"/>
  105. <ComboBox Grid.Row="4" Grid.Column="2" Margin="5" SelectedItem="{Binding RetractSelectedBlade}" unity:ItemsControlHelper.EnumValuesToItemsSource="True"/>
  106. <Button Grid.Row="4" Grid.Column="3" Margin="5" Content="Retract" Height="25" Command="{Binding RetractCommand}"/>
  107. <!--第5行-->
  108. <ComboBox Grid.Row="5" Grid.Column="0" Margin="5" SelectedItem="{Binding GotoSelectedModule}" ItemsSource="{Binding TMModules}">
  109. <i:Interaction.Triggers>
  110. <i:EventTrigger EventName="SelectionChanged">
  111. <i:InvokeCommandAction Command="{Binding ModuleChangeCommand}" CommandParameter="Goto"/>
  112. </i:EventTrigger>
  113. </i:Interaction.Triggers>
  114. </ComboBox>
  115. <ComboBox Grid.Row="5" Grid.Column="2" Margin="5" SelectedItem="{Binding GoToSelectedBlade}" unity:ItemsControlHelper.EnumValuesToItemsSource="True"/>
  116. <Button Grid.Row="5" Grid.Column="3" Margin="5" Height="25" Content="Goto" IsEnabled="{Binding Path=IsManualMode}" Command="{Binding GotoCommand}"/>
  117. <Button Grid.Row="6" Grid.Column="3" Margin="5" Height="25" Content="Robot Home" Command="{Binding RobotHomeCommand}" />
  118. </Grid>
  119. </Grid>
  120. <StackPanel Canvas.Top="360" Canvas.Right="40" Width="550">
  121. <Grid>
  122. <Grid.RowDefinitions>
  123. <RowDefinition Height="30"/>
  124. <RowDefinition Height="Auto"/>
  125. <RowDefinition />
  126. </Grid.RowDefinitions>
  127. <Border BorderBrush="{DynamicResource Table_BD}" BorderThickness="1,0,1,1" Background="{DynamicResource Table_BG_FirstTitle}" Padding="5,1">
  128. <StackPanel Orientation="Horizontal" HorizontalAlignment="Left" VerticalAlignment="Center">
  129. <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">
  130. <Path.RenderTransform>
  131. <TransformGroup>
  132. <ScaleTransform/>
  133. <SkewTransform/>
  134. <RotateTransform Angle="45"/>
  135. <TranslateTransform/>
  136. </TransformGroup>
  137. </Path.RenderTransform>
  138. </Path>
  139. <TextBlock Margin="5,0,0,0" Text="SETM Cycle Configuration" FontFamily="Arial" FontSize="14" Foreground="{DynamicResource FG_White}" HorizontalAlignment="Left" VerticalAlignment="Center"/>
  140. </StackPanel>
  141. </Border>
  142. <Border Grid.Row="1" BorderBrush="{DynamicResource Table_BD}" Background="{DynamicResource Table_BG_Content}" BorderThickness="1,0,1,1" >
  143. <Grid unity:GridOptions.ShowBorder="True" unity:GridOptions.LineBrush="White" unity:GridOptions.LineThickness="1">
  144. <Grid.RowDefinitions>
  145. <RowDefinition/>
  146. <RowDefinition/>
  147. </Grid.RowDefinitions>
  148. <Grid.ColumnDefinitions>
  149. <ColumnDefinition/>
  150. <ColumnDefinition/>
  151. <ColumnDefinition/>
  152. <ColumnDefinition/>
  153. <ColumnDefinition/>
  154. <ColumnDefinition/>
  155. </Grid.ColumnDefinitions>
  156. <TextBlock Text="SETM Cycle Enable" Grid.ColumnSpan="2" Padding="0,5,0,5" Background="#D0D8E8" />
  157. <CheckBox Grid.Column="2" Margin="5" Grid.ColumnSpan="4" IsChecked="{Binding CycleEnable}"/>
  158. <TextBlock Text="SETM Cycle Count" Grid.Row="1" Grid.ColumnSpan="2" Padding="0,5,0,5" Background="#D0D8E8"/>
  159. <TextBlock Text="SETM Cycle Count Remained" Grid.Row="1" Grid.Column="3" Grid.ColumnSpan="2" Padding="0,5,0,5" Background="#D0D8E8"/>
  160. <TextBlock Text="{Binding RtDataValues[TMCycle.CycleIndex]}" Grid.Row="1" Grid.Column="5" Padding="0,5,0,5" HorizontalAlignment="Center"/>
  161. <TextBox Grid.Row="1" Grid.Column="2" BorderThickness="0" VerticalContentAlignment="Center" Padding="36,0,0,0" Text="{Binding CycleCount,UpdateSourceTrigger=PropertyChanged}"/>
  162. </Grid>
  163. </Border>
  164. </Grid>
  165. <Grid >
  166. <Grid.RowDefinitions>
  167. <RowDefinition Height="30"/>
  168. <RowDefinition />
  169. <RowDefinition />
  170. </Grid.RowDefinitions>
  171. <Border BorderBrush="{DynamicResource Table_BD}" BorderThickness="1,0,1,1" Background="{DynamicResource Table_BG_FirstTitle}" Padding="5,1">
  172. <StackPanel Orientation="Horizontal" HorizontalAlignment="Left" VerticalAlignment="Center">
  173. <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">
  174. <Path.RenderTransform>
  175. <TransformGroup>
  176. <ScaleTransform/>
  177. <SkewTransform/>
  178. <RotateTransform Angle="45"/>
  179. <TranslateTransform/>
  180. </TransformGroup>
  181. </Path.RenderTransform>
  182. </Path>
  183. <TextBlock Margin="5,0,0,0" Text="SETM Cycle" FontFamily="Arial" FontSize="14" Foreground="{DynamicResource FG_White}" HorizontalAlignment="Left" VerticalAlignment="Center"/>
  184. </StackPanel>
  185. </Border>
  186. <Border Grid.Row="1" BorderBrush="{DynamicResource Table_BD}" Background="{DynamicResource Table_BG_Content}" BorderThickness="1,0,1,1" >
  187. <Grid >
  188. <Grid.RowDefinitions>
  189. <RowDefinition/>
  190. <RowDefinition/>
  191. <RowDefinition/>
  192. </Grid.RowDefinitions>
  193. <StackPanel Orientation="Horizontal" HorizontalAlignment="Center">
  194. <TextBlock Text="Origin: " Padding="0,8,0,0"/>
  195. <TextBlock Text="VCE" FontSize="15" Padding="8,8,8,0"/>
  196. <TextBlock Text="To: " Padding="10,8,0,0"/>
  197. <TextBlock Text="VCE" FontSize="15" Padding="8,8,8,0"/>
  198. </StackPanel>
  199. <StackPanel Grid.Row="1" Orientation="Horizontal" HorizontalAlignment="Center">
  200. <CheckBox Content="PMA" Margin="0,10,10,10" Visibility="{Binding PMAIsInstalled,Converter={StaticResource bool2VisibilityConverter}}" IsChecked="{Binding PMAIsCycle}"/>
  201. <CheckBox Content="PMB" Margin="0,10,10,10" Visibility="{Binding PMBIsInstalled,Converter={StaticResource bool2VisibilityConverter}}" IsChecked="{Binding PMBIsCycle}"/>
  202. <CheckBox Content="PMC" Margin="0,10,10,10" Visibility="{Binding PMCIsInstalled,Converter={StaticResource bool2VisibilityConverter}}" IsChecked="{Binding PMCIsCycle}"/>
  203. </StackPanel>
  204. <StackPanel Orientation="Horizontal" Grid.Row="2" HorizontalAlignment="Center">
  205. <Button Content="Home" Margin="0,0,10,10" Width="80" Height="25" Command="{Binding HomeCommand}"/>
  206. <Button Content="Start" Margin="0,0,10,10" Width="80" Height="25" Command="{Binding StartCycleCommand}"/>
  207. <Button Content="Stop" Margin="10,0,10,10" Width="80" Height="25" Command="{Binding StopCycleCommand}"/>
  208. <Button Content="Pause" Margin="10,0,10,10" Width="80" Height="25"/>
  209. <Button Content="Resume" Margin="10,0,0,10" Width="80" Height="25"/>
  210. </StackPanel>
  211. </Grid>
  212. </Border>
  213. </Grid>
  214. </StackPanel>
  215. <!--Vce PM Aligner-->
  216. <Canvas Canvas.Top="-250" Canvas.Left="-100">
  217. <Viewbox Width="600" Height="600" Stretch="Fill" >
  218. <Canvas Canvas.Top="100" Width="600" Height="600" Cursor="">
  219. <customControls:SERobot Panel.ZIndex="999" OriginX="X_Origin" OriginT="T_Origin" Canvas.Left="505" Canvas.Top="458" Width="200" Height="300" x:Name="robot1" RobotTAction="{Binding Robot1TAction}" RobotXAction="{Binding Robot1XAction}" RobotWafer="{Binding RobotUpperWafer}" PMCIsInstalled="{Binding PMCIsInstalled}" RobotSpeed="15"/>
  220. <customControls:SERobot Panel.ZIndex="999" OriginX="X_Origin2" OriginT="T_Origin" Canvas.Left="505" Canvas.Top="458" Width="200" Height="300" x:Name="robot2" RobotTAction="{Binding Robot2TAction}" RobotXAction="{Binding Robot2XAction}" RobotWafer="{Binding RobotLowerWafer}" PMCIsInstalled="{Binding PMCIsInstalled}" RobotSpeed="15" HorizontalAlignment="Center" VerticalAlignment="Top"/>
  221. <userControls:VenusDETM Canvas.Top="440" Canvas.Left="442" PAWafer="{Binding PAWafer}"
  222. VCEAIsInstalled="{Binding VCEIsInstalled }"
  223. VCEBIsInstalled="{Binding VCEIsInstalled }"
  224. PMAIsInstalled="{Binding PMAIsInstalled}"
  225. PMBIsInstalled="{Binding PMBIsInstalled}"
  226. PMCIsInstalled="{Binding PMCIsInstalled}"
  227. VCEADoorIsOpen = "{Binding VCEDoorIsOpen}"
  228. VCEBDoorIsOpen = "{Binding VCEDoorIsOpen}"
  229. PMADoorIsOpen = "{Binding PMADoorIsOpen}"
  230. PMBDoorIsOpen = "{Binding PMBDoorIsOpen}"
  231. PMCDoorIsOpen = "{Binding PMCDoorIsOpen}"
  232. VPAIsShow ="True" Panel.ZIndex="99"></userControls:VenusDETM>
  233. <userControls:TMChamber ModuleName="PMC" x:Name="PMC1" Canvas.Top="282" Canvas.Left="707" Width="100" Height="100" 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}}" IsVenting="True" PressureValue="{Binding RtDataValues[PMC.ChamberPressure],TargetNullValue=0}" PercentValue="{Binding PMCPercent}" RenderTransformOrigin="0.5,0.5">
  234. <userControls:TMChamber.RenderTransform>
  235. <TransformGroup>
  236. <ScaleTransform/>
  237. <SkewTransform/>
  238. <RotateTransform Angle="-60"/>
  239. <TranslateTransform/>
  240. </TransformGroup>
  241. </userControls:TMChamber.RenderTransform>
  242. </userControls:TMChamber>
  243. <userControls:TMChamber ModuleName="PMB" x:Name="PMB1" Canvas.Top="371" Canvas.Left="451" Width="100" Height="100" 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}}" IsVenting="True" PressureValue="{Binding RtDataValues[PMB.ChamberPressure]}" PercentValue="{Binding PMBPercent}" RenderTransformOrigin="0.5,0.5">
  244. <userControls:TMChamber.RenderTransform>
  245. <TransformGroup>
  246. <ScaleTransform/>
  247. <SkewTransform/>
  248. <RotateTransform Angle="-30"/>
  249. <TranslateTransform/>
  250. </TransformGroup>
  251. </userControls:TMChamber.RenderTransform>
  252. </userControls:TMChamber>
  253. <userControls:TMChamber ModuleName="PMA" x:Name="PMA1" Canvas.Top="650" Canvas.Left="345" Width="100" Height="100" 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}}" IsVenting="True" PressureValue="{Binding RtDataValues[PMA.ChamberPressure]}" PercentValue="{Binding PMAPercent}"/>
  254. <userControls:DEVceA VCEName="VCE1" Canvas.Top="740" Canvas.Left="435" Width="150" Height="180" PressureValue="{Binding RtDataValues[SETM.VCEPressure.Value],TargetNullValue=0}" PercentValue="{Binding VCEPercent}" IsVenting="True" VCEOutDoorIsOpen="{Binding VCEOutDoorIsOpen}" CassetteArrive="{Binding RtDataValues[VCE1.CassetteArrive]}" HorizontalAlignment="Left" VerticalAlignment="Center"></userControls:DEVceA>
  255. <userControls:DEVceB VCEName="VCE2" Canvas.Top="740" Canvas.Left="622" Width="150" Height="180" PressureValue="{Binding RtDataValues[SETM.VCEPressure.Value],TargetNullValue=0}" PercentValue="{Binding VCEPercent}" IsVenting="True" VCEOutDoorIsOpen="{Binding VCEOutDoorIsOpen}" CassetteArrive="{Binding RtDataValues[VCE1.CassetteArrive]}" HorizontalAlignment="Left" VerticalAlignment="Center"></userControls:DEVceB>
  256. <userControls:EFEMFrontView UnitData="{Binding TMModuleInfo}" Title="SeTM Robot" Canvas.Top="320" Canvas.Left="120"/>
  257. </Canvas>
  258. </Viewbox>
  259. </Canvas>
  260. </Canvas>
  261. </UserControl>