OperationView.xaml 23 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354
  1. <UserControl x:Class="Aitex.Sorter.UI.Views.OperationView"
  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:uc="clr-namespace:Aitex.Sorter.UI.Controls"
  7. xmlns:Common="clr-namespace:Aitex.Sorter.Common;assembly=Aitex.Sorter.Common"
  8. xmlns:ctrlCommon="clr-namespace:Aitex.Sorter.UI.Controls.Common"
  9. xmlns:deviceControl="clr-namespace:Aitex.Core.UI.DeviceControl;assembly=MECF.Framework.UI.Core"
  10. xmlns:equipment="clr-namespace:MECF.Framework.Common.Equipment;assembly=MECF.Framework.Common"
  11. mc:Ignorable="d"
  12. Height="800" Width="1920">
  13. <Grid>
  14. <Grid.ColumnDefinitions>
  15. <ColumnDefinition Width="480"/>
  16. <ColumnDefinition Width="*" />
  17. <ColumnDefinition Width="180" />
  18. </Grid.ColumnDefinitions>
  19. <Grid Grid.Column="0">
  20. <Grid Height="668">
  21. <Grid.ColumnDefinitions>
  22. <ColumnDefinition Width="10" />
  23. <ColumnDefinition Width="188" />
  24. <ColumnDefinition Width="60" />
  25. <ColumnDefinition Width="188" />
  26. </Grid.ColumnDefinitions>
  27. <uc:Foup Grid.Column="1" x:Name="foup1" Title="Carrier 1" SlotCount="25" Slots="{Binding FoupAWaferInfo}" Station="{Binding Source={x:Static equipment:ModuleName.LP1}}" SlotTransferInfo="{Binding LocalControlJob.TransferSlotInfoA}"></uc:Foup>
  28. <uc:Foup Grid.Column="3" x:Name="foup2" Title="Carrier 2" SlotCount="25" Slots="{Binding FoupBWaferInfo}" Station="{Binding Source={x:Static equipment:ModuleName.LP2}}" SlotTransferInfo="{Binding LocalControlJob.TransferSlotInfoB}"></uc:Foup>
  29. </Grid>
  30. </Grid>
  31. <Grid Grid.Column="1" VerticalAlignment="Top">
  32. <Grid.RowDefinitions>
  33. <RowDefinition Height="190" />
  34. <RowDefinition Height="390" />
  35. <RowDefinition Height="220" />
  36. </Grid.RowDefinitions>
  37. <Border HorizontalAlignment="Left" VerticalAlignment="Top" BorderThickness="1" BorderBrush="#84a567" Margin="523,80,0,0" Height="100" Width="230">
  38. <DockPanel Background="#d6f1ff">
  39. <Label Content="Aligner" HorizontalContentAlignment="Center" DockPanel.Dock="Top" Background="#7fc7ed" Height="30" />
  40. <Grid>
  41. <Grid.RowDefinitions>
  42. <RowDefinition Height="*" />
  43. <RowDefinition Height="*" />
  44. </Grid.RowDefinitions>
  45. <Grid.ColumnDefinitions>
  46. <ColumnDefinition Width="30" />
  47. <ColumnDefinition Width="*" />
  48. </Grid.ColumnDefinitions>
  49. <deviceControl:AITSensor DeviceData="{Binding SensorPreAlignerWaferOn}" GreenColor="True" LightOnValue="False" />
  50. <uc:Wafer Height="23.6" Grid.Column="1" Margin="0" Padding="0" Slot="0" WaferItem="{Binding AlignerWaferInfo}" Station="{Binding Source={x:Static equipment:ModuleName.Aligner}}" ShowSlot="True" />
  51. <Border Grid.Row="1" Grid.ColumnSpan="2" BorderBrush="Gray" BorderThickness="1">
  52. <Grid ctrlCommon:GridHelper.Column0="LightBlue" ctrlCommon:GridHelper.Column1="Transparent">
  53. <Grid.ColumnDefinitions>
  54. <ColumnDefinition Width="*" />
  55. <ColumnDefinition Width="*" />
  56. </Grid.ColumnDefinitions>
  57. <Label Content="Status" />
  58. <Label Content="{Binding AlignerState}" Grid.Column="1" Style="{StaticResource MiddleCenterLabel}" Background="{Binding AlignerState,Converter={StaticResource deviceStateColorConverter}}"/>
  59. </Grid>
  60. </Border>
  61. </Grid>
  62. </DockPanel>
  63. </Border>
  64. <Border HorizontalAlignment="Left" VerticalAlignment="Top" BorderThickness="1" BorderBrush="#84a567" Height="180" Width="230" Margin="31,5,0,0">
  65. <DockPanel Background="#d6f1ff">
  66. <Label Content="Robot" HorizontalContentAlignment="Center" DockPanel.Dock="Top" Background="#7fc7ed" Height="30" />
  67. <Grid>
  68. <Grid.RowDefinitions>
  69. <RowDefinition Height="*" />
  70. <RowDefinition Height="*" />
  71. <RowDefinition Height="2*" />
  72. </Grid.RowDefinitions>
  73. <Grid.ColumnDefinitions>
  74. <ColumnDefinition Width="30" />
  75. <ColumnDefinition Width="*" />
  76. </Grid.ColumnDefinitions>
  77. <deviceControl:AITSensor DeviceData="{Binding SensorRobotFork2WaferOn}" GreenColor="True" LightOnValue="False" />
  78. <uc:Wafer Height="23.6" Margin="0" Padding="0" Grid.Column="1" Slot="1" WaferItem="{Binding RobotWaferInfo2}" Station="{Binding Source={x:Static equipment:ModuleName.Robot}}" ShowSlot="True" />
  79. <deviceControl:AITSensor Grid.Row="1" DeviceData="{Binding SensorRobotFork1WaferOn}" LightOnValue="False" GreenColor="True" />
  80. <uc:Wafer Grid.Row="1" Height="23.6" Margin="0" Padding="0" Grid.Column="1" Slot="0" WaferItem="{Binding RobotWaferInfo1}" Station="{Binding Source={x:Static equipment:ModuleName.Robot}}" ShowSlot="True" />
  81. <Border Grid.Row="2" Grid.ColumnSpan="2" BorderBrush="Gray" BorderThickness="1">
  82. <Grid ctrlCommon:GridHelper.Column0="LightBlue" ctrlCommon:GridHelper.Column1="Transparent">
  83. <Grid.ColumnDefinitions>
  84. <ColumnDefinition Width="*" />
  85. <ColumnDefinition Width="*" />
  86. </Grid.ColumnDefinitions>
  87. <Grid.RowDefinitions>
  88. <RowDefinition Height="*" />
  89. <RowDefinition Height="*" />
  90. </Grid.RowDefinitions>
  91. <Label Content="Status"/>
  92. <Label Content="{Binding RobotState}" Grid.Column="1" Style="{StaticResource MiddleCenterLabel}" Background="{Binding RobotState,Converter={StaticResource deviceStateColorConverter}}"/>
  93. <Label Content="Speed" Grid.Row="1"/>
  94. <Label Content="{Binding RobotSpeed}" Grid.Row="1" Grid.Column="1" Style="{StaticResource MiddleCenterLabel}"/>
  95. </Grid>
  96. </Border>
  97. </Grid>
  98. </DockPanel>
  99. </Border>
  100. <uc:EFEM Margin="156,144,204,46" x:Name="efem" Grid.RowSpan="2" />
  101. <Border Grid.Row="0" Grid.RowSpan="3" HorizontalAlignment="Left" VerticalAlignment="Top" BorderThickness="1" BorderBrush="#84a567" Margin="850,17,0,0" Height="750" Width="400">
  102. <DockPanel Background="#d6f1ff">
  103. <Label Content="Recipe" HorizontalContentAlignment="Center" DockPanel.Dock="Top" Background="#7fc7ed" Height="30" />
  104. <Grid>
  105. <Grid.Resources>
  106. <Style TargetType="Label" BasedOn="{StaticResource {x:Type Label}}">
  107. <Setter Property="VerticalAlignment" Value="Center" />
  108. <Setter Property="HorizontalAlignment" Value="Center" />
  109. </Style>
  110. </Grid.Resources>
  111. <Grid.RowDefinitions>
  112. <RowDefinition Height="50" />
  113. <RowDefinition Height="50" />
  114. <RowDefinition Height="40" />
  115. <RowDefinition Height="330" />
  116. <RowDefinition Height="40" />
  117. <RowDefinition Height="210" />
  118. </Grid.RowDefinitions>
  119. <Grid.ColumnDefinitions>
  120. <ColumnDefinition Width="*" />
  121. <ColumnDefinition Width="*" />
  122. <ColumnDefinition Width="*" />
  123. </Grid.ColumnDefinitions>
  124. <Button Content="Select Recipe" Grid.Column="0" Grid.Row="0" Command="{Binding Path=RecipeSelectCommand}" HorizontalAlignment="Left" />
  125. <Label Grid.Column="1" Grid.Row="0" Grid.ColumnSpan="2" HorizontalAlignment="Left" >
  126. <Run Text="{Binding LocalControlJob.Name}" />
  127. </Label>
  128. <Grid Grid.Column="0" Grid.ColumnSpan="3" Grid.Row="1">
  129. <Grid.ColumnDefinitions>
  130. <ColumnDefinition Width="*"></ColumnDefinition>
  131. <ColumnDefinition Width="*"></ColumnDefinition>
  132. <ColumnDefinition Width="*"></ColumnDefinition>
  133. <ColumnDefinition Width="*"></ColumnDefinition>
  134. </Grid.ColumnDefinitions>
  135. <Button Content="Start" Grid.Column="0" Command="{Binding Path=RecipeStartCommand}" />
  136. <Button Content="Pause" Grid.Column="1" Command="{Binding Path=RecipePauseCommand}" />
  137. <Button Content="Resume" Grid.Column="2" Command="{Binding Path=RecipeResumeCommand}" />
  138. <Button Content="Stop" Grid.Column="3" Command="{Binding Path=RecipeStopCommand}" />
  139. </Grid>
  140. <Label Content="Recipe Setting" Grid.Row="2" Grid.Column="0" Grid.ColumnSpan="3" Width="400" Style="{StaticResource label}" />
  141. <Grid Grid.Row="3" Grid.ColumnSpan="3" ctrlCommon:GridHelper.Column0="LightBlue" ctrlCommon:GridHelper.Column1="Transparent">
  142. <Grid.Resources>
  143. <Style TargetType="Label" BasedOn="{StaticResource {x:Type Label}}">
  144. <Setter Property="VerticalAlignment" Value="Center" />
  145. <Setter Property="HorizontalAlignment" Value="Left" />
  146. <Setter Property="Margin" Value="10,0,0,0" />
  147. </Style>
  148. </Grid.Resources>
  149. <Grid.ColumnDefinitions>
  150. <ColumnDefinition Width="180" />
  151. <ColumnDefinition Width="*" />
  152. </Grid.ColumnDefinitions>
  153. <Grid.RowDefinitions>
  154. <RowDefinition Height="40" />
  155. <RowDefinition Height="40" />
  156. <RowDefinition Height="40" />
  157. <RowDefinition Height="40" />
  158. <RowDefinition Height="40" />
  159. <RowDefinition Height="40" />
  160. <RowDefinition Height="40" />
  161. <RowDefinition Height="40" />
  162. </Grid.RowDefinitions>
  163. <Label Grid.Row="0" Content="Type" />
  164. <Label Grid.Row="0" Grid.Column="1" Content="{Binding LocalControlJob.RecipeType}" />
  165. <Label Grid.Row="1" Content="Source" />
  166. <Label Grid.Row="1" Grid.Column="1" Content="{Binding LocalControlJob.Source}" />
  167. <Label Grid.Row="2" Content="Destination" />
  168. <Label Grid.Row="2" Grid.Column="1" Content="{Binding LocalControlJob.Destination}" />
  169. <Label Grid.Row="3" Content="Place Mode" />
  170. <Label Grid.Row="3" Grid.Column="1" Content="{Binding LocalControlJob.PlaceMode}" />
  171. <Label Grid.Row="4" Content="Read Laser Mark" />
  172. <Label Grid.Row="4" Grid.Column="1" Content="{Binding LocalControlJob.IsReadLaserMarker}" />
  173. <Label Grid.Row="5" Content="Read T7 Code" />
  174. <Label Grid.Row="5" Grid.Column="1" Content="{Binding LocalControlJob.IsReadT7Code}" />
  175. <Label Grid.Row="6" Content="Align" />
  176. <Label Grid.Row="6" Grid.Column="1" Content="{Binding LocalControlJob.IsAlign}" />
  177. <Label Grid.Row="7" Content="Align Angle" />
  178. <Label Grid.Row="7" Grid.Column="1" Content="{Binding LocalControlJob.AlignAngle}" />
  179. </Grid>
  180. <Label Content="Process Information" Grid.Row="4" Grid.Column="0" Grid.ColumnSpan="3" Width="400" Style="{StaticResource label}" />
  181. <Grid Grid.Row="5" Grid.ColumnSpan="5" ctrlCommon:GridHelper.Column0="LightBlue" ctrlCommon:GridHelper.Column1="Transparent">
  182. <Grid.Resources>
  183. <Style TargetType="Label" BasedOn="{StaticResource {x:Type Label}}">
  184. <Setter Property="VerticalAlignment" Value="Center" />
  185. <Setter Property="HorizontalAlignment" Value="Left" />
  186. <Setter Property="Margin" Value="10,0,0,0" />
  187. </Style>
  188. </Grid.Resources>
  189. <Grid.ColumnDefinitions>
  190. <ColumnDefinition Width="180" />
  191. <ColumnDefinition Width="*" />
  192. </Grid.ColumnDefinitions>
  193. <Grid.RowDefinitions>
  194. <RowDefinition Height="40" />
  195. <RowDefinition Height="40" />
  196. <RowDefinition Height="40" />
  197. <RowDefinition Height="40" />
  198. <RowDefinition Height="40" />
  199. </Grid.RowDefinitions>
  200. <Label Grid.Row="0" Content="Elapse Time(s)" />
  201. <Label Grid.Row="0" Grid.Column="1" Content="{Binding TransferTime}" />
  202. <Label Grid.Row="1" Content="Wafer Count" />
  203. <Label Grid.Row="1" Grid.Column="1" Content="{Binding TransferCount}" />
  204. <Label Grid.Row="2" Content="Throughput" />
  205. <Label Grid.Row="2" Grid.Column="1" Content="{Binding TranserThroughput}" />
  206. <Label Grid.Row="3" Content="Total Wafer Count" />
  207. <Label Grid.Row="3" Grid.Column="1" Content="{Binding TotalWaferCount}" />
  208. <Label Grid.Row="4" Content="Cycle Count" />
  209. <Label Grid.Row="4" Grid.Column="1" Content="{Binding CycleCount}" />
  210. </Grid>
  211. </Grid>
  212. </DockPanel>
  213. </Border>
  214. <uc:HeaderPanel Header="LoadPort 1" VerticalAlignment="Top" HorizontalAlignment="Left" Margin="0,20,0,0" Height="172" Width="350" Grid.Row="2">
  215. <Grid ctrlCommon:GridHelper.Column0="LightBlue" ctrlCommon:GridHelper.Column1="Transparent">
  216. <Grid.RowDefinitions>
  217. <RowDefinition Height="40" />
  218. <RowDefinition Height="40" />
  219. <RowDefinition Height="60" />
  220. </Grid.RowDefinitions>
  221. <Grid.ColumnDefinitions>
  222. <ColumnDefinition Width="*" />
  223. <ColumnDefinition Width="*" />
  224. </Grid.ColumnDefinitions>
  225. <Label Content="Status" />
  226. <Label Grid.Column="1" Content="{Binding LoadportAState}" Background="{Binding LoadportAState,Converter={StaticResource deviceStateColorConverter}}"/>
  227. <Label Content="Carrier ID" Grid.Row="1" />
  228. <Label Content="{Binding FoupAID}" Grid.Column="1" Grid.Row="1" />
  229. <StackPanel Orientation="Horizontal" Grid.Row="2" Grid.ColumnSpan="2" HorizontalAlignment="Center">
  230. <Button Content="Load" Command="{Binding LoadPortACommand}" CommandParameter="{x:Static Common:OperationName.ReadFoupID}" />
  231. <Button Content="Proceed" Command="{Binding LoadPortACommand}" CommandParameter="{x:Static Common:OperationName.LoadFoup}" />
  232. <Button Content="Unload" Command="{Binding LoadPortACommand}" CommandParameter="{x:Static Common:OperationName.UnloadFoup}" />
  233. </StackPanel>
  234. </Grid>
  235. </uc:HeaderPanel>
  236. <uc:HeaderPanel Header="LoadPort 2" VerticalAlignment="Top" HorizontalAlignment="Left" Margin="380,20,0,0" Height="172" Width="350" Grid.Row="2">
  237. <Grid ctrlCommon:GridHelper.Column0="LightBlue" ctrlCommon:GridHelper.Column1="Transparent">
  238. <Grid.RowDefinitions>
  239. <RowDefinition Height="40" />
  240. <RowDefinition Height="40" />
  241. <RowDefinition Height="60" />
  242. </Grid.RowDefinitions>
  243. <Grid.ColumnDefinitions>
  244. <ColumnDefinition Width="*" />
  245. <ColumnDefinition Width="*" />
  246. </Grid.ColumnDefinitions>
  247. <Label Content="Status" />
  248. <Label Grid.Column="1" Content="{Binding LoadportBState}" Background="{Binding LoadportBState,Converter={StaticResource deviceStateColorConverter}}" />
  249. <Label Content="Carrier ID" Grid.Row="1" />
  250. <Label Content="{Binding FoupBID}" Grid.Column="1" Grid.Row="1" />
  251. <StackPanel Orientation="Horizontal" Grid.Row="2" Grid.ColumnSpan="2" HorizontalAlignment="Center">
  252. <Button Content="Load" Command="{Binding LoadPortBCommand}" CommandParameter="{x:Static Common:OperationName.ReadFoupID}" />
  253. <Button Content="Proceed" Command="{Binding LoadPortBCommand}" CommandParameter="{x:Static Common:OperationName.LoadFoup}" />
  254. <Button Content="Unload" Command="{Binding LoadPortBCommand}" CommandParameter="{x:Static Common:OperationName.UnloadFoup}" />
  255. </StackPanel>
  256. </Grid>
  257. </uc:HeaderPanel>
  258. </Grid>
  259. <Grid Grid.Column="2" Background="#eaedef">
  260. <Grid.RowDefinitions>
  261. <RowDefinition Height="240" />
  262. <RowDefinition Height="140" />
  263. <RowDefinition Height="*" />
  264. </Grid.RowDefinitions>
  265. <Border Grid.Row="0" HorizontalAlignment="Center" Background="White" VerticalAlignment="Top" BorderThickness="1" BorderBrush="LightGray" CornerRadius="4" Width="160" Height="220" Margin="10">
  266. <WrapPanel Margin="2" HorizontalAlignment="Center" Orientation="Vertical">
  267. <Label Content="System" Foreground="#035092" HorizontalContentAlignment="Center" Height="35" />
  268. <Line DockPanel.Dock="Top" X1="10" Y1="0" Y2="0" X2="140" Stroke="Black" StrokeThickness="1" />
  269. <Grid Margin="0,8,0,0">
  270. <Grid.RowDefinitions>
  271. <RowDefinition Height="40" />
  272. <RowDefinition Height="*" />
  273. </Grid.RowDefinitions>
  274. <TextBlock Text="{Binding RtStatus}" />
  275. <WrapPanel Grid.Row="1">
  276. <Button Content="Home All" Height="50" Width="120" Command="{Binding OperationCommand}" CommandParameter="HomeAll" />
  277. <Button Content="Abort" Height="50" Width="120" Command="{Binding OperationCommand}" CommandParameter="AbortHomeAll" />
  278. </WrapPanel>
  279. </Grid>
  280. </WrapPanel>
  281. </Border>
  282. <Border Visibility="{Binding CycleVisibility}" Grid.Row="2" HorizontalAlignment="Center" Background="White" VerticalAlignment="Top" BorderThickness="1" BorderBrush="LightGray" CornerRadius="4" Width="160" Height="180" Margin="10">
  283. <WrapPanel Margin="2" HorizontalAlignment="Center" Orientation="Vertical">
  284. <Label Content="Cycle" Foreground="#035092" HorizontalContentAlignment="Center" Height="35" />
  285. <Line DockPanel.Dock="Top" X1="10" Y1="0" Y2="0" X2="140" Stroke="Black" StrokeThickness="1" />
  286. <Grid Margin="0,8,0,0">
  287. <Grid.RowDefinitions>
  288. <RowDefinition Height="0" />
  289. <RowDefinition Height="*" />
  290. </Grid.RowDefinitions>
  291. <WrapPanel Grid.Row="1">
  292. <Button Content="Start" Height="50" Width="120" Command="{Binding OperationCommand}" CommandParameter="Cycle" />
  293. <Button Content="Stop" Height="50" Width="120" Command="{Binding OperationCommand}" CommandParameter="Stop" />
  294. </WrapPanel>
  295. </Grid>
  296. </WrapPanel>
  297. </Border>
  298. <Border Grid.Row="1" HorizontalAlignment="Center" Background="White" VerticalAlignment="Top" BorderThickness="1" BorderBrush="LightGray" CornerRadius="4" Width="160" Height="120" Margin="10">
  299. <WrapPanel Margin="2" HorizontalAlignment="Center" Orientation="Vertical">
  300. <Label Content="Operation" Foreground="#035092" HorizontalContentAlignment="Center" Height="35" />
  301. <Line DockPanel.Dock="Top" X1="10" Y1="0" Y2="0" X2="140" Stroke="Black" StrokeThickness="1" />
  302. <Grid Margin="0,8,0,0">
  303. <Grid.RowDefinitions>
  304. <RowDefinition Height="0" />
  305. <RowDefinition Height="*" />
  306. </Grid.RowDefinitions>
  307. <WrapPanel Grid.Row="1">
  308. <Button Content="Return Wafer" Height="50" Width="120" Command="{Binding OperationCommand}" CommandParameter="ReturnWafer" />
  309. </WrapPanel>
  310. </Grid>
  311. </WrapPanel>
  312. </Border>
  313. </Grid>
  314. </Grid>
  315. </UserControl>