TMView.xaml 21 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264
  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. <i:Interaction.Triggers>
  22. <i:EventTrigger EventName="Loaded">
  23. <i:InvokeCommandAction Command="{Binding LoadCommand}"/>
  24. </i:EventTrigger>
  25. </i:Interaction.Triggers>
  26. <Canvas>
  27. <Grid Canvas.Top="20" Canvas.Right="40" Width="550" IsEnabled="{Binding RtDataValues[TM.IsOnline],Converter={StaticResource BoolToBool}}">
  28. <Grid.RowDefinitions>
  29. <RowDefinition Height="30"/>
  30. <RowDefinition Height="Auto"/>
  31. </Grid.RowDefinitions>
  32. <Border BorderBrush="{DynamicResource Table_BD}" BorderThickness="1,0,1,1" Background="{DynamicResource Table_BG_FirstTitle}" Padding="5,1">
  33. <StackPanel Orientation="Horizontal" HorizontalAlignment="Left" VerticalAlignment="Center">
  34. <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">
  35. <Path.RenderTransform>
  36. <TransformGroup>
  37. <ScaleTransform/>
  38. <SkewTransform/>
  39. <RotateTransform Angle="45"/>
  40. <TranslateTransform/>
  41. </TransformGroup>
  42. </Path.RenderTransform>
  43. </Path>
  44. <TextBlock Margin="5,0,0,0" Text="TM Robot Operation" FontFamily="Arial" FontSize="14" Foreground="{DynamicResource FG_White}" HorizontalAlignment="Left" VerticalAlignment="Center"/>
  45. </StackPanel>
  46. </Border>
  47. <!--<Border Grid.Row="1" BorderBrush="{DynamicResource Table_BD}" Background="{DynamicResource Table_BG_Content}" >-->
  48. <Grid unity:GridOptions.ShowBorder="True" unity:GridOptions.LineBrush="#E0E4E7" unity:GridOptions.LineThickness="1" Grid.Row="1" Background="#F5F7FA">
  49. <Grid.RowDefinitions>
  50. <RowDefinition Height="25"/>
  51. <RowDefinition/>
  52. <RowDefinition/>
  53. <RowDefinition/>
  54. <RowDefinition/>
  55. <RowDefinition/>
  56. <RowDefinition/>
  57. </Grid.RowDefinitions>
  58. <Grid.ColumnDefinitions>
  59. <ColumnDefinition/>
  60. <ColumnDefinition/>
  61. <ColumnDefinition/>
  62. <ColumnDefinition/>
  63. </Grid.ColumnDefinitions>
  64. <TextBlock Text="Module" HorizontalAlignment="Center" VerticalAlignment="Center" FontSize="14" />
  65. <TextBlock Text="Slot" Grid.Column="1" HorizontalAlignment="Center" VerticalAlignment="Center" FontSize="14"/>
  66. <TextBlock Text="Blade" Grid.Column="2" HorizontalAlignment="Center" VerticalAlignment="Center" FontSize="14"/>
  67. <TextBlock Text="Operation" Grid.Column="3" HorizontalAlignment="Center" VerticalAlignment="Center" FontSize="14"/>
  68. <customControls:CustomComBobox Grid.Row="1" SelectedItem="{Binding PickSelectedModule}" ItemsSource="{Binding TMModules}">
  69. <i:Interaction.Triggers>
  70. <i:EventTrigger EventName="SelectionChanged">
  71. <i:InvokeCommandAction Command="{Binding ModuleChangeCommand}" CommandParameter="Pick"/>
  72. </i:EventTrigger>
  73. </i:Interaction.Triggers>
  74. </customControls:CustomComBobox>
  75. <customControls:CustomComBobox Grid.Row="1" Grid.Column="1" ItemsSource="{Binding PickSoltItemsSource}" SelectedIndex="{Binding PickSoltSelectedIndex}"/>
  76. <customControls:CustomComBobox Grid.Row="1" Grid.Column="2" SelectedItem="{Binding PickSelectedBlade}" unity:ItemsControlHelper.EnumValuesToItemsSource="True"/>
  77. <Button Grid.Row="1" Grid.Column="3" Margin="5" Width="100" Content="Pick" Height="25" Command="{Binding PickCommand}"/>
  78. <customControls:CustomComBobox Grid.Row="2" SelectedItem="{Binding PlaceSelectedModule}" ItemsSource="{Binding TMModules}">
  79. <i:Interaction.Triggers>
  80. <i:EventTrigger EventName="SelectionChanged">
  81. <i:InvokeCommandAction Command="{Binding ModuleChangeCommand}" CommandParameter="Place" />
  82. </i:EventTrigger>
  83. </i:Interaction.Triggers>
  84. </customControls:CustomComBobox>
  85. <customControls:CustomComBobox Grid.Row="2" Grid.Column="1" ItemsSource="{Binding PlaceSoltItemsSource}" SelectedIndex="{Binding PlaceSoltSelectedIndex}"/>
  86. <customControls:CustomComBobox Grid.Row="2" Grid.Column="2" SelectedItem="{Binding PlaceSelectedBlade}" unity:ItemsControlHelper.EnumValuesToItemsSource="True"/>
  87. <Button Grid.Row="2" Grid.Column="3" Margin="5" Width="100" Content="Place" Height="25" Command="{Binding PlaceCommand}"/>
  88. <customControls:CustomComBobox Grid.Row="3" SelectedItem="{Binding ExtendSelectedModule}" ItemsSource="{Binding TMModules}">
  89. <i:Interaction.Triggers>
  90. <i:EventTrigger EventName="SelectionChanged">
  91. <i:InvokeCommandAction Command="{Binding ModuleChangeCommand}" CommandParameter="Extend" />
  92. </i:EventTrigger>
  93. </i:Interaction.Triggers>
  94. </customControls:CustomComBobox>
  95. <customControls:CustomComBobox Grid.Row="3" Grid.Column="1" ItemsSource="{Binding ExtendSoltItemsSource}" SelectedIndex="{Binding ExtendSoltSelectedIndex}"/>
  96. <customControls:CustomComBobox Grid.Row="3" Grid.Column="2" SelectedItem="{Binding ExtendSelectedBlade}" unity:ItemsControlHelper.EnumValuesToItemsSource="True"/>
  97. <Button Grid.Row="3" Grid.Column="3" Margin="5" Width="100" Content="Extend" Height="25" Command="{Binding ExtendCommand}"/>
  98. <customControls:CustomComBobox Grid.Row="4" SelectedItem="{Binding RetractSelectedModule}" ItemsSource="{Binding TMModules}">
  99. <i:Interaction.Triggers>
  100. <i:EventTrigger EventName="SelectionChanged">
  101. <i:InvokeCommandAction Command="{Binding ModuleChangeCommand}" CommandParameter="Retract" />
  102. </i:EventTrigger>
  103. </i:Interaction.Triggers>
  104. </customControls:CustomComBobox>
  105. <customControls:CustomComBobox Grid.Row="4" Grid.Column="1" ItemsSource="{Binding RetractSoltItemsSource}" SelectedIndex="{Binding RetractSoltSelectedIndex}"/>
  106. <customControls:CustomComBobox Grid.Row="4" Grid.Column="2" SelectedItem="{Binding RetractSelectedBlade}" unity:ItemsControlHelper.EnumValuesToItemsSource="True"/>
  107. <Button Grid.Row="4" Grid.Column="3" Margin="5" Width="100" Content="Retract" Height="25" Command="{Binding RetractCommand}"/>
  108. <customControls:CustomComBobox Grid.Row="5" Grid.Column="0" SelectedItem="{Binding GoToSelectedModule}" unity:ItemsControlHelper.EnumValuesToItemsSource="True"/>
  109. <customControls:CustomComBobox Grid.Row="5" Grid.Column="2" SelectedItem="{Binding GoToSelectedBlade}" unity:ItemsControlHelper.EnumValuesToItemsSource="True"/>
  110. <Button Grid.Row="5" Grid.Column="3" Margin="5" Width="100" Height="25" Content="Goto" Command="{Binding GotoCommand}"/>
  111. <Button Grid.Row="6" Grid.Column="3" Margin="5" Width="100" Height="25" Content="Robot Home" Command="{Binding RobotHomeCommand}" />
  112. </Grid>
  113. <!--</Border>-->
  114. </Grid>
  115. <StackPanel Canvas.Top="360" Canvas.Right="40" Width="550" IsEnabled="{Binding RtDataValues[TM.IsOnline],Converter={StaticResource BoolToBool}}">
  116. <Grid Background="#F5F7FA">
  117. <Grid.RowDefinitions>
  118. <RowDefinition Height="30"/>
  119. <RowDefinition Height="Auto"/>
  120. <RowDefinition />
  121. </Grid.RowDefinitions>
  122. <Border BorderBrush="{DynamicResource Table_BD}" BorderThickness="1,0,1,1" Background="{DynamicResource Table_BG_FirstTitle}" Padding="5,1">
  123. <StackPanel Orientation="Horizontal" HorizontalAlignment="Left" VerticalAlignment="Center">
  124. <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">
  125. <Path.RenderTransform>
  126. <TransformGroup>
  127. <ScaleTransform/>
  128. <SkewTransform/>
  129. <RotateTransform Angle="45"/>
  130. <TranslateTransform/>
  131. </TransformGroup>
  132. </Path.RenderTransform>
  133. </Path>
  134. <TextBlock Margin="5,0,0,0" Text="TM Cycle Configuration" FontFamily="Arial" FontSize="14" Foreground="{DynamicResource FG_White}" HorizontalAlignment="Left" VerticalAlignment="Center"/>
  135. </StackPanel>
  136. </Border>
  137. <Border Grid.Row="1" BorderBrush="{DynamicResource Table_BD}" Background="{DynamicResource Table_BG_Content}" BorderThickness="1,0,1,1" >
  138. <Grid unity:GridOptions.ShowBorder="True" unity:GridOptions.LineBrush="White" unity:GridOptions.LineThickness="1" Background="#F5F7FA">
  139. <Grid.RowDefinitions>
  140. <RowDefinition/>
  141. <RowDefinition/>
  142. </Grid.RowDefinitions>
  143. <Grid.ColumnDefinitions>
  144. <ColumnDefinition/>
  145. <ColumnDefinition/>
  146. <ColumnDefinition/>
  147. <ColumnDefinition/>
  148. <ColumnDefinition/>
  149. <ColumnDefinition/>
  150. </Grid.ColumnDefinitions>
  151. <TextBlock Text="TM Cycle Enable" Grid.ColumnSpan="2" Padding="0,5,0,5" />
  152. <CheckBox Grid.Column="2" Margin="5" Grid.ColumnSpan="4" IsChecked="{Binding CycleEnable}"/>
  153. <TextBlock Text="TM Cycle Count" Grid.Row="1" Grid.ColumnSpan="2" Padding="0,5,0,5" />
  154. <TextBlock Text="TM Cycle Count Remained" Grid.Row="1" Grid.Column="3" Grid.ColumnSpan="2" Padding="0,5,0,5" />
  155. <TextBlock Text="{Binding RtDataValues[TMCycle.CycleIndex]}" Grid.Row="1" Grid.Column="5" Padding="0,5,0,5" HorizontalAlignment="Center"/>
  156. <TextBox Grid.Row="1" Grid.Column="2" BorderThickness="0" VerticalContentAlignment="Center" Padding="36,0,0,0" Text="{Binding CycleCount,UpdateSourceTrigger=PropertyChanged}"/>
  157. </Grid>
  158. </Border>
  159. </Grid>
  160. <Grid Background="#F5F7FA">
  161. <Grid.RowDefinitions>
  162. <RowDefinition Height="30"/>
  163. <RowDefinition />
  164. <RowDefinition />
  165. </Grid.RowDefinitions>
  166. <Border BorderBrush="{DynamicResource Table_BD}" BorderThickness="1,0,1,1" Background="{DynamicResource Table_BG_FirstTitle}" Padding="5,1">
  167. <StackPanel Orientation="Horizontal" HorizontalAlignment="Left" VerticalAlignment="Center" >
  168. <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">
  169. <Path.RenderTransform>
  170. <TransformGroup>
  171. <ScaleTransform/>
  172. <SkewTransform/>
  173. <RotateTransform Angle="45"/>
  174. <TranslateTransform/>
  175. </TransformGroup>
  176. </Path.RenderTransform>
  177. </Path>
  178. <TextBlock Margin="5,0,0,0" Text="TM Cycle" FontFamily="Arial" FontSize="14" Foreground="{DynamicResource FG_White}" HorizontalAlignment="Left" VerticalAlignment="Center"/>
  179. </StackPanel>
  180. </Border>
  181. <Border Grid.Row="1" BorderBrush="{DynamicResource Table_BD}" Background="{DynamicResource Table_BG_Content}" BorderThickness="1,0,1,1" >
  182. <Grid Background="#F5F7FA">
  183. <Grid.RowDefinitions>
  184. <RowDefinition/>
  185. <RowDefinition/>
  186. <RowDefinition/>
  187. </Grid.RowDefinitions>
  188. <StackPanel Orientation="Horizontal" HorizontalAlignment="Center">
  189. <TextBlock Text="Origin: " Padding="0,8,0,0"/>
  190. <customControls:CustomComBobox Width="100" ItemsSource="{Binding OriginalCycle}" SelectedItem="{Binding OriginalCycleSelectedItem}" Margin="2 4 0 0" BorderThickness=".8" BorderBrush="Black"/>
  191. <TextBlock Text="To: " Padding="10,8,0,0"/>
  192. <customControls:CustomComBobox Width="100" ItemsSource="{Binding ToCycle}" SelectedItem="{Binding ToCycleSelectedItem}" Margin="2 4 0 0" BorderThickness=".8" BorderBrush="Black"/>
  193. </StackPanel>
  194. <StackPanel Grid.Row="1" Orientation="Horizontal" HorizontalAlignment="Center">
  195. <CheckBox Content="PMA" Margin="0,10,10,10" Visibility="{Binding PMAIsInstalled,Converter={StaticResource bool2VisibilityConverter}}" IsChecked="{Binding PMAIsCycle}"/>
  196. <CheckBox Content="PMB" Margin="0,10,10,10" Visibility="{Binding PMBIsInstalled,Converter={StaticResource bool2VisibilityConverter}}" IsChecked="{Binding PMBIsCycle}"/>
  197. <CheckBox Content="PMC" Margin="0,10,10,10" Visibility="{Binding PMCIsInstalled,Converter={StaticResource bool2VisibilityConverter}}" IsChecked="{Binding PMCIsCycle}"/>
  198. <CheckBox Content="PMD" Margin="0,10,10,10" Visibility="{Binding PMDIsInstalled,Converter={StaticResource bool2VisibilityConverter}}" IsChecked="{Binding PMDIsCycle}"/>
  199. </StackPanel>
  200. <StackPanel Orientation="Horizontal" Grid.Row="2" HorizontalAlignment="Center">
  201. <Button Content="Home" Margin="0,0,10,10" Width="80" Height="25" Command="{Binding HomeCommand}"/>
  202. <Button Content="Start" Margin="0,0,10,10" Width="80" Height="25" Command="{Binding StartCycleCommand}"/>
  203. <Button Content="Stop" Margin="10,0,10,10" Width="80" Height="25" Command="{Binding StopCycleCommand}"/>
  204. <Button Content="Pause" Margin="10,0,10,10" Width="80" Height="25"/>
  205. <Button Content="Resume" Margin="10,0,0,10" Width="80" Height="25"/>
  206. </StackPanel>
  207. </Grid>
  208. </Border>
  209. </Grid>
  210. </StackPanel>
  211. <Canvas Canvas.Top="100" Canvas.Left="20">
  212. <userControls:FOUPFrontView UnitData="{Binding LLAModuleInfo}" VerticalAlignment="Top" Canvas.Top="510" Canvas.Left="358" Visibility="{Binding LLAIsInstalled,Converter={StaticResource bool2VisibilityConverter}}" IsEnabled="{Binding RtDataValues[TM.IsOnline],Converter={StaticResource BoolToBool}}"/>
  213. <userControls:FOUPFrontView UnitData="{Binding LLBModuleInfo}" VerticalAlignment="Top" Canvas.Top="510" Canvas.Left="554" Visibility="{Binding LLBIsInstalled,Converter={StaticResource bool2VisibilityConverter}}" IsEnabled="{Binding RtDataValues[TM.IsOnline],Converter={StaticResource BoolToBool}}"/>
  214. <Canvas Canvas.Top="-300" Canvas.Left="00" Width="450" Height="800">
  215. <ctrls:NiceMainTMWithLoadLock Canvas.Left="380" Canvas.Top="90" 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}}" LLAEDoorIsOpen="{Binding RtDataValues[TM.LLAESlitDoor.IsClosed],Converter={StaticResource BoolToBool}}" LLBTDoorIsOpen="{Binding RtDataValues[TM.LLBTSlitDoor.IsClosed],Converter={StaticResource BoolToBool}}" LLBEDoorIsOpen="{Binding RtDataValues[TM.LLBESlitDoor.IsClosed],Converter={StaticResource BoolToBool}}" LLAWafer="{Binding LLAWafer}" LLBWafer="{Binding LLBWafer}"/>
  216. <ctrls:XinSongRobot Width="95" Height="95" Canvas.Left="446" Canvas.Top="505" Blade1RobotWafer="{Binding BladeAWafer}" Blade2RobotWafer="{Binding BladeBWafer}" BladeRobotTAction="{Binding BladeNiceXinSongWaferRobotTAction}" Blade1RobotXAction="{Binding Blade1NiceXinSongWaferRobotXAction}" Blade2RobotXAction="{Binding Blade2NiceXinSongWaferRobotXAction}"/>
  217. <TextBlock Canvas.Left="430" Canvas.Top="605" FontSize="22" Width="180" Block.TextAlignment="Center" >
  218. <TextBlock.Text>
  219. <MultiBinding StringFormat="{}TM({0:F1}{1})">
  220. <Binding Path="RtDataValues[TM.TMProcessGauge.Value]"/>
  221. <Binding Path="PressureType"/>
  222. </MultiBinding>
  223. </TextBlock.Text>
  224. </TextBlock>
  225. <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}}" IsEnabled="{Binding PMAIsInstalled}" PressureValue="{Binding RtDataValues[PMA.CalculationPressure]}" Unit="{Binding PressureType}"/>
  226. <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}}" IsEnabled="{Binding PMBIsInstalled}" PressureValue="{Binding RtDataValues[PMA.CalculationPressure]}" Unit="{Binding PressureType}"/>
  227. <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}}" IsEnabled="{Binding PMCIsInstalled}" PressureValue="{Binding RtDataValues[PMA.CalculationPressure]}" Unit="{Binding PressureType}"/>
  228. <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}}" IsEnabled="{Binding PMDIsInstalled}" PressureValue="{Binding RtDataValues[PMA.CalculationPressure]}" Unit="{Binding PressureType}"/>
  229. <userControls:EFEMFrontView UnitData="{Binding TMModuleInfo}" Title="TM Robot" Canvas.Top="480" Canvas.Left="20" IsEnabled="{Binding RtDataValues[TM.IsOnline],Converter={StaticResource BoolToBool}}"/>
  230. <!--<TextBlock Text="{Binding RobotMoveInfo}" FontSize="20" Canvas.Left="200" Canvas.Top="280" />-->
  231. </Canvas>
  232. </Canvas>
  233. </Canvas>
  234. </UserControl>