EFEMView.xaml 43 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587
  1. <UserControl x:Class="VirgoUI.Client.Models.Platform.EFEM.EFEMView"
  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:i="http://schemas.microsoft.com/expression/2010/interactivity"
  6. xmlns:cal="http://www.caliburn.org"
  7. xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
  8. xmlns:ctrl="http://OpenSEMI.Ctrlib.com/presentation"
  9. xmlns:local="clr-namespace:VirgoUI.Client.Models.Controls"
  10. xmlns:parts="clr-namespace:VirgoUI.Controls.Parts"
  11. xmlns:deviceControl="clr-namespace:Aitex.Core.UI.DeviceControl;assembly=MECF.Framework.UI.Core"
  12. xmlns:parts1="clr-namespace:VirgoUI.Client.Controls.Parts"
  13. xmlns:converters="clr-namespace:Aitex.Core.UI.Converters;assembly=MECF.Framework.UI.Core"
  14. xmlns:system="clr-namespace:System;assembly=mscorlib"
  15. mc:Ignorable="d"
  16. d:DesignHeight="650" d:DesignWidth="1700">
  17. <UserControl.Resources>
  18. <converters:enum2BoolConverter x:Key="enum2BoolConverter"/>
  19. <converters:WaferSizeToVisibility x:Key="WaferSizeToVisibility"/>
  20. <system:String x:Key="WaferSizeFormat">{0}'</system:String>
  21. </UserControl.Resources>
  22. <ScrollViewer HorizontalScrollBarVisibility="Disabled" VerticalScrollBarVisibility="Auto">
  23. <Grid HorizontalAlignment="Left">
  24. <Grid.ColumnDefinitions>
  25. <ColumnDefinition Width="Auto"/>
  26. <ColumnDefinition Width="950"/>
  27. <ColumnDefinition Width="400"/>
  28. </Grid.ColumnDefinitions>
  29. <StackPanel Orientation="Horizontal" Margin="20" VerticalAlignment="Top" HorizontalAlignment="Left">
  30. <local:FOUPFrontView UnitData="{Binding FOUPA}" Margin="0,0,0,0"></local:FOUPFrontView>
  31. </StackPanel>
  32. <Grid Grid.Column="1">
  33. <Canvas Grid.Row="0" VerticalAlignment="Top" HorizontalAlignment="Left" Margin="180,-15,0,0">
  34. <parts1:EFEMTopView Height="540" Width="535" Canvas.Left="226" Canvas.Top="104"></parts1:EFEMTopView>
  35. <!--<parts1:EquipmentTopView x:Name="mf" Canvas.Left="92" Canvas.Top="-8"/>
  36. <parts1:SingleArmRobot Canvas.Left="400" Canvas.Top="310" Wafer1="{Binding EfemRobotWafer2}" Wafer2="{Binding EfemRobotWafer1}" RobotMoveInfo="{Binding EfemRobotMoveInfo}"/>-->
  37. <local:EFEMFrontView UnitData="{Binding EFEM}" Canvas.Left="766" Canvas.Top="495" />
  38. <Grid Width="150" Canvas.Left="-74" Canvas.Top="560" Visibility="{Binding CassetteDoorVisibility}">
  39. <Grid.RowDefinitions>
  40. <RowDefinition Height="30"/>
  41. </Grid.RowDefinitions>
  42. <Grid.ColumnDefinitions>
  43. <ColumnDefinition Width="100"/>
  44. <ColumnDefinition />
  45. </Grid.ColumnDefinitions>
  46. <Border BorderBrush="{DynamicResource Table_BD}" BorderThickness="1,1,1,1" Background="{DynamicResource Table_BG_Title}" Grid.Row="1" Padding="5,1">
  47. <TextBlock Text="Cassette Door" TextWrapping="Wrap" Foreground="{DynamicResource FG_Black}" FontSize="12" FontFamily="Arial" VerticalAlignment="Center"/>
  48. </Border>
  49. <Border BorderBrush="{DynamicResource Table_BD}" BorderThickness="0,1,1,1" Background="{DynamicResource Table_BG_Content}" Grid.Row="1" Grid.Column="1" Padding="5,1">
  50. <!--<deviceControl:AITSensor Margin="5,0" IsInterlockMode="True" DeviceData="{Binding CassetteDoorStatus}"/>-->
  51. <deviceControl:AITSensor Margin="5,0" GreenColor="True" LightOnValue="{Binding CassetteDoorStatus,Converter={StaticResource enum2BoolConverter}}"/>
  52. </Border>
  53. </Grid>
  54. <Grid Width="300" Canvas.Left="-74" Canvas.Top="390" >
  55. <Grid.RowDefinitions>
  56. <RowDefinition Height="24"/>
  57. <RowDefinition Height="30"/>
  58. <RowDefinition Height="30"/>
  59. <RowDefinition Height="30"/>
  60. <RowDefinition Height="30"/>
  61. <RowDefinition Height="0"/>
  62. </Grid.RowDefinitions>
  63. <Grid.ColumnDefinitions>
  64. <ColumnDefinition Width="80"/>
  65. <ColumnDefinition />
  66. <ColumnDefinition Width="112"/>
  67. </Grid.ColumnDefinitions>
  68. <Border Grid.ColumnSpan="3" BorderBrush="{DynamicResource Table_BD}" BorderThickness="1" Background="{DynamicResource Table_BG_Title}" Padding="5,1">
  69. <TextBlock Text="LP1" TextWrapping="Wrap" TextAlignment="Center" Foreground="{DynamicResource FG_Black}" FontSize="12" FontFamily="Arial" VerticalAlignment="Center"/>
  70. </Border>
  71. <Border BorderBrush="{DynamicResource Table_BD}" BorderThickness="1,0,1,1" Background="{DynamicResource Table_BG_Title}" Grid.Row="1" Padding="5,1">
  72. <TextBlock Text="Present" TextWrapping="Wrap" Foreground="{DynamicResource FG_Black}" FontSize="12" FontFamily="Arial" VerticalAlignment="Center"/>
  73. </Border>
  74. <Border BorderBrush="{DynamicResource Table_BD}" BorderThickness="0,0,1,1" Background="{DynamicResource Table_BG_Content}" Grid.Row="1" Grid.Column="1" Padding="5,1">
  75. <deviceControl:AITSensor Margin="5,0" GreenColor="True" LightOnValue="{Binding IsLP1PresentFeedback}"/>
  76. </Border>
  77. <Border BorderBrush="{DynamicResource Table_BD}" BorderThickness="1,0,1,1" Background="{DynamicResource Table_BG_Title}" Grid.Row="2" Padding="5,1">
  78. <TextBlock Text="Wafer Size" TextWrapping="Wrap" Foreground="{DynamicResource FG_Black}" FontSize="12" FontFamily="Arial" VerticalAlignment="Center"/>
  79. </Border>
  80. <Border BorderBrush="{DynamicResource Table_BD}" BorderThickness="0,0,1,1" Background="{DynamicResource Table_BG_Content}" Grid.Row="2" Grid.Column="1" Padding="5,1">
  81. <TextBlock Text="{Binding WaferSizeLP1}" TextAlignment="Center" TextWrapping="Wrap" Foreground="{DynamicResource FG_Black}" FontSize="12" FontFamily="Arial" VerticalAlignment="Center"/>
  82. </Border>
  83. <Border BorderBrush="{DynamicResource Table_BD}" BorderThickness="1,0,1,1" Background="{DynamicResource Table_BG_Title}" Grid.Row="3" Padding="5,1">
  84. <TextBlock Text="State" TextWrapping="Wrap" Foreground="{DynamicResource FG_Black}" FontSize="12" FontFamily="Arial" VerticalAlignment="Center"/>
  85. </Border>
  86. <Border BorderBrush="{DynamicResource Table_BD}" BorderThickness="0,0,1,1" Background="{DynamicResource Table_BG_Content}" Grid.Row="3" Grid.Column="1" Padding="5,1">
  87. <TextBlock Text="{Binding StateLP1}" TextAlignment="Center" TextWrapping="Wrap" Foreground="{DynamicResource FG_Black}" FontSize="12" FontFamily="Arial" VerticalAlignment="Center"/>
  88. </Border>
  89. <Border BorderBrush="{DynamicResource Table_BD}" BorderThickness="1,0,1,1" Background="{DynamicResource Table_BG_Title}" Grid.Row="4" Padding="5,1">
  90. <TextBlock Text="Carrier ID" TextWrapping="Wrap" Foreground="{DynamicResource FG_Black}" FontSize="12" FontFamily="Arial" VerticalAlignment="Center"/>
  91. </Border>
  92. <Border BorderBrush="{DynamicResource Table_BD}" BorderThickness="0,0,1,1" Background="{DynamicResource Table_BG_Content}" Grid.Row="4" Grid.Column="1" Padding="5,1">
  93. <TextBlock Text="{Binding CarrierIdLP1}" TextAlignment="Center" TextWrapping="Wrap" Foreground="{DynamicResource FG_Black}" FontSize="12" FontFamily="Arial" VerticalAlignment="Center"/>
  94. </Border>
  95. <!--<Border BorderBrush="{DynamicResource Table_BD}" BorderThickness="1,0,1,1" Background="{DynamicResource Table_BG_Title}" Grid.Row="5" Padding="5,1">
  96. <TextBlock Text="Clamped" TextWrapping="Wrap" Foreground="{DynamicResource FG_Black}" FontSize="12" FontFamily="Arial" VerticalAlignment="Center"/>
  97. </Border>-->
  98. <!--<Border BorderBrush="{DynamicResource Table_BD}" BorderThickness="0,0,1,1" Background="{DynamicResource Table_BG_Content}" Grid.Row="5" Grid.Column="1" Padding="5,1">
  99. <deviceControl:AITSensor Margin="5,0" GreenColor="True" LightOnValue="{Binding IsLP1ClampedFeedback}"/>
  100. </Border>-->
  101. <Border BorderBrush="{DynamicResource Table_BD}" BorderThickness="0,0,1,1" Background="{DynamicResource Table_BG_Content}" Grid.Row="1" Grid.Column="2" Grid.RowSpan="5" Padding="5,1">
  102. </Border>
  103. <Button Content="Reset" Margin="3 2 3 1" Height="24" Grid.Row="1" Grid.Column="2" IsEnabled="{Binding EnableLoadLP1}" Visibility="{Binding LoadUnloadVisibility}">
  104. <i:Interaction.Triggers>
  105. <i:EventTrigger EventName="Click">
  106. <cal:ActionMessage MethodName="ResetLP">
  107. <cal:Parameter Value="LP1" />
  108. </cal:ActionMessage>
  109. </i:EventTrigger>
  110. </i:Interaction.Triggers>
  111. </Button>
  112. <!--<Button Content="Load" Margin="3" Height="24" Grid.Row="1" Grid.Column="2" IsEnabled="{Binding EnableLoadLP1}" Visibility="{Binding LoadUnloadVisibility}">
  113. <i:Interaction.Triggers>
  114. <i:EventTrigger EventName="Click">
  115. <cal:ActionMessage MethodName="LoadLP">
  116. <cal:Parameter Value="LP1" />
  117. </cal:ActionMessage>
  118. </i:EventTrigger>
  119. </i:Interaction.Triggers>
  120. </Button>
  121. <Button Content="Unload" Margin="3" Height="24" Grid.Row="2" Grid.Column="2" IsEnabled="{Binding EnableUnloadLP1}" Visibility="{Binding LoadUnloadVisibility}">
  122. <i:Interaction.Triggers>
  123. <i:EventTrigger EventName="Click">
  124. <cal:ActionMessage MethodName="UnloadLP">
  125. <cal:Parameter Value="LP1" />
  126. </cal:ActionMessage>
  127. </i:EventTrigger>
  128. </i:Interaction.Triggers>
  129. </Button>-->
  130. <Button Content="Load" Margin="3" Height="24" Grid.Row="2" Grid.Column="2" IsEnabled="{Binding EnableLoadLP1}" Visibility="{Binding LoadUnloadVisibility}">
  131. <i:Interaction.Triggers>
  132. <i:EventTrigger EventName="Click">
  133. <cal:ActionMessage MethodName="MapLP">
  134. <cal:Parameter Value="LP1" />
  135. </cal:ActionMessage>
  136. </i:EventTrigger>
  137. </i:Interaction.Triggers>
  138. </Button>
  139. <Button Content="Home" Margin="3" Height="24" Grid.Row="3" Grid.Column="2" IsEnabled="{Binding EnableHomeLP1}" >
  140. <i:Interaction.Triggers>
  141. <i:EventTrigger EventName="Click">
  142. <cal:ActionMessage MethodName="HomeLP">
  143. <cal:Parameter Value="LP1" />
  144. </cal:ActionMessage>
  145. </i:EventTrigger>
  146. </i:Interaction.Triggers>
  147. </Button>
  148. <Button Content="CID" Margin="3" Height="24" Grid.Row="4" Grid.Column="2" IsEnabled="{Binding EnableCIDLP1}" Visibility="{Binding CIDVisibility}">
  149. <i:Interaction.Triggers>
  150. <i:EventTrigger EventName="Click">
  151. <cal:ActionMessage MethodName="ReadCarrierIdLP">
  152. <cal:Parameter Value="LP1" />
  153. </cal:ActionMessage>
  154. </i:EventTrigger>
  155. </i:Interaction.Triggers>
  156. </Button>
  157. <!--<StackPanel Orientation="Horizontal" Grid.Row="5" Grid.Column="2">
  158. <Button Content="Lock" Margin="3" Width="50" Height="24" IsEnabled="{Binding EnableLockLP1}" >
  159. <i:Interaction.Triggers>
  160. <i:EventTrigger EventName="Click">
  161. <cal:ActionMessage MethodName="LockLP">
  162. <cal:Parameter Value="LP1" />
  163. </cal:ActionMessage>
  164. </i:EventTrigger>
  165. </i:Interaction.Triggers>
  166. </Button>
  167. <Button Content="Unlock" Margin="3" Width="50" Height="24" IsEnabled="{Binding EnableUnlockLP1}" >
  168. <i:Interaction.Triggers>
  169. <i:EventTrigger EventName="Click">
  170. <cal:ActionMessage MethodName="UnlockLP">
  171. <cal:Parameter Value="LP1" />
  172. </cal:ActionMessage>
  173. </i:EventTrigger>
  174. </i:Interaction.Triggers>
  175. </Button>
  176. </StackPanel>-->
  177. </Grid>
  178. <Grid Canvas.Left="-74" Canvas.Top="269" Width="300" HorizontalAlignment="Left">
  179. <Grid.RowDefinitions>
  180. <RowDefinition Height="24"/>
  181. <RowDefinition Height="35"/>
  182. <RowDefinition Height="35"/>
  183. <RowDefinition />
  184. </Grid.RowDefinitions>
  185. <Grid.ColumnDefinitions>
  186. <ColumnDefinition Width="80"/>
  187. <ColumnDefinition />
  188. </Grid.ColumnDefinitions>
  189. <Border BorderBrush="{DynamicResource Table_BD}" BorderThickness="1" Background="{DynamicResource Table_BG_Title}" Grid.ColumnSpan="2" Padding="5,1">
  190. <TextBlock Text="Cooling 1" TextWrapping="Wrap" TextAlignment="Center" Foreground="{DynamicResource FG_Black}" FontSize="12" FontFamily="Arial" VerticalAlignment="Center"/>
  191. </Border>
  192. <Border BorderBrush="{DynamicResource Table_BD}" BorderThickness="1,0,1,1" Background="{DynamicResource Table_BG_Title}" Grid.Row="1" Padding="5,1">
  193. <TextBlock Text="Wafer Size" TextWrapping="Wrap" Foreground="{DynamicResource FG_Black}" FontSize="12" FontFamily="Arial" VerticalAlignment="Center"/>
  194. </Border>
  195. <Border BorderBrush="{DynamicResource Table_BD}" BorderThickness="0,0,1,1" Background="{DynamicResource Table_BG_Content}" Grid.Row="1" Grid.Column="1" Padding="5,1">
  196. <StackPanel Orientation="Horizontal" HorizontalAlignment="Center" VerticalAlignment="Center" IsEnabled="{Binding EnableWaferSize}">
  197. <!--<TextBlock Text="{Binding WaferSizeAligner1}" TextAlignment="Center" Width="50" TextWrapping="Wrap" Foreground="{DynamicResource FG_Black}" FontSize="12" FontFamily="Arial" VerticalAlignment="Center"/>-->
  198. <RadioButton Content="{Binding SmallPinWaferSize}" Visibility="{Binding SmallPinWaferSize, Converter={StaticResource WaferSizeToVisibility}}" Width="60" Height="24" Margin="4,0,0,0" Style="{DynamicResource OverviewRadioButton}" IsChecked="{Binding WaferSizeCooling1_3}">
  199. <i:Interaction.Triggers>
  200. <i:EventTrigger EventName="Click">
  201. <cal:ActionMessage MethodName="SetWaferSize">
  202. <cal:Parameter Value="Cooling1" />
  203. <cal:Parameter Value="3" />
  204. </cal:ActionMessage>
  205. </i:EventTrigger>
  206. </i:Interaction.Triggers>
  207. </RadioButton>
  208. <RadioButton Content="{Binding MediumPinWaferSize}" Visibility="{Binding MediumPinWaferSize, Converter={StaticResource WaferSizeToVisibility}}" Width="60" Height="24" Margin="5,0,0,0" Style="{DynamicResource OverviewRadioButton}" IsChecked="{Binding WaferSizeCooling1_4}">
  209. <i:Interaction.Triggers>
  210. <i:EventTrigger EventName="Click">
  211. <cal:ActionMessage MethodName="SetWaferSize">
  212. <cal:Parameter Value="Cooling1" />
  213. <cal:Parameter Value="4" />
  214. </cal:ActionMessage>
  215. </i:EventTrigger>
  216. </i:Interaction.Triggers>
  217. </RadioButton>
  218. <RadioButton Content="{Binding BigPinWaferSize}" Visibility="{Binding BigPinWaferSize, Converter={StaticResource WaferSizeToVisibility}}" Width="60" Height="24" Margin="5,0,0,0" Style="{DynamicResource OverviewRadioButton}" IsChecked="{Binding WaferSizeCooling1_6}">
  219. <i:Interaction.Triggers>
  220. <i:EventTrigger EventName="Click">
  221. <cal:ActionMessage MethodName="SetWaferSize">
  222. <cal:Parameter Value="Cooling1" />
  223. <cal:Parameter Value="6" />
  224. </cal:ActionMessage>
  225. </i:EventTrigger>
  226. </i:Interaction.Triggers>
  227. </RadioButton>
  228. </StackPanel>
  229. </Border>
  230. <Border BorderBrush="{DynamicResource Table_BD}" BorderThickness="1,0,1,1" Background="{DynamicResource Table_BG_Content}" Grid.Row="2" Grid.ColumnSpan="2" Padding="5">
  231. <StackPanel Orientation="Horizontal" HorizontalAlignment="Center" VerticalAlignment="Center">
  232. <Button Content="Home" Width="60" Height="24" Margin="4,0,0,0">
  233. <i:Interaction.Triggers>
  234. <i:EventTrigger EventName="Click">
  235. <cal:ActionMessage MethodName="HomeAligner">
  236. <cal:Parameter Value="Cooling1" />
  237. </cal:ActionMessage>
  238. </i:EventTrigger>
  239. </i:Interaction.Triggers>
  240. </Button>
  241. <Button Content="Align" Width="60" Height="24" Margin="10,0,0,0">
  242. <i:Interaction.Triggers>
  243. <i:EventTrigger EventName="Click">
  244. <cal:ActionMessage MethodName="AlignAligner">
  245. <cal:Parameter Value="Cooling1" />
  246. </cal:ActionMessage>
  247. </i:EventTrigger>
  248. </i:Interaction.Triggers>
  249. </Button>
  250. <Button Content="Lift Up" Width="60" Height="24" Margin="10,0,0,0">
  251. <i:Interaction.Triggers>
  252. <i:EventTrigger EventName="Click">
  253. <cal:ActionMessage MethodName="LiftAligner">
  254. <cal:Parameter Value="Cooling1" />
  255. </cal:ActionMessage>
  256. </i:EventTrigger>
  257. </i:Interaction.Triggers>
  258. </Button>
  259. <Button Content="Lift Down" Width="60" Height="24" Margin="10,0,0,0">
  260. <i:Interaction.Triggers>
  261. <i:EventTrigger EventName="Click">
  262. <cal:ActionMessage MethodName="LiftAlignerDown">
  263. <cal:Parameter Value="Cooling1" />
  264. </cal:ActionMessage>
  265. </i:EventTrigger>
  266. </i:Interaction.Triggers>
  267. </Button>
  268. </StackPanel>
  269. </Border>
  270. </Grid>
  271. <Grid Canvas.Left="-74" Canvas.Top="170" Width="300" HorizontalAlignment="Left">
  272. <Grid.RowDefinitions>
  273. <RowDefinition Height="24"/>
  274. <RowDefinition Height="35"/>
  275. <RowDefinition Height="35"/>
  276. <RowDefinition />
  277. </Grid.RowDefinitions>
  278. <Grid.ColumnDefinitions>
  279. <ColumnDefinition Width="80"/>
  280. <ColumnDefinition />
  281. </Grid.ColumnDefinitions>
  282. <Border BorderBrush="{DynamicResource Table_BD}" BorderThickness="1" Background="{DynamicResource Table_BG_Title}" Grid.ColumnSpan="2" Padding="5,1">
  283. <TextBlock Text="PM" TextWrapping="Wrap" TextAlignment="Center" Foreground="{DynamicResource FG_Black}" FontSize="12" FontFamily="Arial" VerticalAlignment="Center"/>
  284. </Border>
  285. <Border BorderBrush="{DynamicResource Table_BD}" BorderThickness="1,0,1,1" Background="{DynamicResource Table_BG_Title}" Grid.Row="1" Padding="5,1">
  286. <TextBlock Text="Wafer Size" TextWrapping="Wrap" Foreground="{DynamicResource FG_Black}" FontSize="12" FontFamily="Arial" VerticalAlignment="Center"/>
  287. </Border>
  288. <Border BorderBrush="{DynamicResource Table_BD}" BorderThickness="0,0,1,1" Background="{DynamicResource Table_BG_Content}" Grid.Row="1" Grid.Column="1" Padding="5,1">
  289. <StackPanel Orientation="Horizontal" HorizontalAlignment="Center" VerticalAlignment="Center" IsEnabled="{Binding EnableWaferSize}">
  290. <!--<TextBlock Text="{Binding WaferSizePMA}" TextAlignment="Center" Width="50" TextWrapping="Wrap" Foreground="{DynamicResource FG_Black}" FontSize="12" FontFamily="Arial" VerticalAlignment="Center"/>-->
  291. <RadioButton Content="{Binding SmallPinWaferSize}" Visibility="{Binding SmallPinWaferSize, Converter={StaticResource WaferSizeToVisibility}}" Width="60" Height="24" Margin="4,0,0,0" Style="{DynamicResource OverviewRadioButton}" IsChecked="{Binding WaferSizePMA_3}">
  292. <i:Interaction.Triggers>
  293. <i:EventTrigger EventName="Click">
  294. <cal:ActionMessage MethodName="SetWaferSize">
  295. <cal:Parameter Value="PMA" />
  296. <cal:Parameter Value="3" />
  297. </cal:ActionMessage>
  298. </i:EventTrigger>
  299. </i:Interaction.Triggers>
  300. </RadioButton>
  301. <RadioButton Content="{Binding MediumPinWaferSize}" Visibility="{Binding MediumPinWaferSize, Converter={StaticResource WaferSizeToVisibility}}" Width="60" Height="24" Margin="5,0,0,0" Style="{DynamicResource OverviewRadioButton}" IsChecked="{Binding WaferSizePMA_4}">
  302. <i:Interaction.Triggers>
  303. <i:EventTrigger EventName="Click">
  304. <cal:ActionMessage MethodName="SetWaferSize">
  305. <cal:Parameter Value="PMA" />
  306. <cal:Parameter Value="4" />
  307. </cal:ActionMessage>
  308. </i:EventTrigger>
  309. </i:Interaction.Triggers>
  310. </RadioButton>
  311. <RadioButton Content="{Binding BigPinWaferSize}" Visibility="{Binding BigPinWaferSize, Converter={StaticResource WaferSizeToVisibility}}" Width="60" Height="24" Margin="5,0,0,0" Style="{DynamicResource OverviewRadioButton}" IsChecked="{Binding WaferSizePMA_6}">
  312. <i:Interaction.Triggers>
  313. <i:EventTrigger EventName="Click">
  314. <cal:ActionMessage MethodName="SetWaferSize">
  315. <cal:Parameter Value="PMA" />
  316. <cal:Parameter Value="6" />
  317. </cal:ActionMessage>
  318. </i:EventTrigger>
  319. </i:Interaction.Triggers>
  320. </RadioButton>
  321. </StackPanel>
  322. </Border>
  323. </Grid>
  324. </Canvas>
  325. </Grid>
  326. <Grid Grid.Column="2" VerticalAlignment="Top">
  327. <Grid.RowDefinitions>
  328. <RowDefinition />
  329. <RowDefinition />
  330. <RowDefinition />
  331. <RowDefinition />
  332. </Grid.RowDefinitions>
  333. <Grid Grid.Row="0" Width="385" HorizontalAlignment="Left" Margin="0,90,0,0">
  334. <Grid.RowDefinitions>
  335. <RowDefinition Height="24"/>
  336. <RowDefinition Height="30"/>
  337. <RowDefinition Height="30"/>
  338. <RowDefinition />
  339. </Grid.RowDefinitions>
  340. <Grid.ColumnDefinitions>
  341. <ColumnDefinition Width="80"/>
  342. <ColumnDefinition />
  343. </Grid.ColumnDefinitions>
  344. <Border Grid.ColumnSpan="2" BorderBrush="{DynamicResource Table_BD}" BorderThickness="1" Background="{DynamicResource Table_BG_Title}" Padding="5,1">
  345. <TextBlock Text="EFEM" TextWrapping="Wrap" TextAlignment="Center" Foreground="{DynamicResource FG_Black}" FontSize="12" FontFamily="Arial" VerticalAlignment="Center"/>
  346. </Border>
  347. <Border BorderBrush="{DynamicResource Table_BD}" BorderThickness="1,0,1,1" Background="{DynamicResource Table_BG_Title}" Grid.Row="1" Padding="5,1">
  348. <TextBlock Text="Status" TextWrapping="Wrap" Foreground="{DynamicResource FG_Black}" FontSize="12" FontFamily="Arial" VerticalAlignment="Center"/>
  349. </Border>
  350. <Border BorderBrush="{DynamicResource Table_BD}" BorderThickness="0,0,1,1" Background="{Binding EfemStatusBackground}" Grid.Row="1" Grid.Column="1" Padding="5,1">
  351. <TextBlock Text="{Binding EfemStatus}" TextWrapping="Wrap" Foreground="{DynamicResource FG_Black}" FontSize="12" FontFamily="Arial" VerticalAlignment="Center"/>
  352. </Border>
  353. <Border BorderBrush="{DynamicResource Table_BD}" BorderThickness="1,0,1,1"
  354. Background="{DynamicResource Table_BG_Content}" Grid.Row="2" Grid.ColumnSpan="2">
  355. <UniformGrid Columns="4" >
  356. <Button Content="Home ALL" Width="90" Height="24" Margin="4,0,0,0">
  357. <i:Interaction.Triggers>
  358. <i:EventTrigger EventName="Click">
  359. <cal:ActionMessage MethodName="HomeEfem">
  360. </cal:ActionMessage>
  361. </i:EventTrigger>
  362. </i:Interaction.Triggers>
  363. </Button>
  364. <Button Content="ClearError" Width="90" Height="24" Margin="4,0,0,0">
  365. <i:Interaction.Triggers>
  366. <i:EventTrigger EventName="Click">
  367. <cal:ActionMessage MethodName="ClearError">
  368. </cal:ActionMessage>
  369. </i:EventTrigger>
  370. </i:Interaction.Triggers>
  371. </Button>
  372. <Button Content="Home Robot" Width="90" Height="24" Margin="4,0,0,0">
  373. <i:Interaction.Triggers>
  374. <i:EventTrigger EventName="Click">
  375. <cal:ActionMessage MethodName="HomeRobot"></cal:ActionMessage>
  376. </i:EventTrigger>
  377. </i:Interaction.Triggers>
  378. </Button>
  379. <Button Content="Abort" Width="90" Height="24" Margin="4,0,0,0">
  380. <i:Interaction.Triggers>
  381. <i:EventTrigger EventName="Click">
  382. <cal:ActionMessage MethodName="AbortRobot"></cal:ActionMessage>
  383. </i:EventTrigger>
  384. </i:Interaction.Triggers>
  385. </Button>
  386. </UniformGrid>
  387. </Border>
  388. </Grid>
  389. <Grid Grid.Row="1" Width="385" HorizontalAlignment="Left" Margin="0,10,0,0">
  390. <Grid.RowDefinitions>
  391. <RowDefinition Height="24"/>
  392. <RowDefinition Height="35"/>
  393. <RowDefinition />
  394. </Grid.RowDefinitions>
  395. <Grid.ColumnDefinitions>
  396. <ColumnDefinition Width="80"/>
  397. <ColumnDefinition />
  398. </Grid.ColumnDefinitions>
  399. <Border BorderBrush="{DynamicResource Table_BD}" BorderThickness="1" Background="{DynamicResource Table_BG_Title}" Grid.ColumnSpan="2" Padding="5,1">
  400. <TextBlock Text="EFEM Robot" TextWrapping="Wrap" TextAlignment="Center" Foreground="{DynamicResource FG_Black}" FontSize="12" FontFamily="Arial" VerticalAlignment="Center"/>
  401. </Border>
  402. <Border BorderBrush="{DynamicResource Table_BD}" BorderThickness="1,0,1,1" Background="{DynamicResource Table_BG_Title}" Grid.Row="1" Padding="5,1">
  403. <TextBlock Text="Wafer Size" TextWrapping="Wrap" Foreground="{DynamicResource FG_Black}" FontSize="12" FontFamily="Arial" VerticalAlignment="Center"/>
  404. </Border>
  405. <Border BorderBrush="{DynamicResource Table_BD}" BorderThickness="0,0,1,1" Background="{DynamicResource Table_BG_Content}" Grid.Row="1" Grid.Column="1" Padding="5,1">
  406. <StackPanel Orientation="Horizontal" HorizontalAlignment="Left" VerticalAlignment="Center" IsEnabled="{Binding EnableWaferSize}">
  407. <!--<TextBlock Text="{Binding WaferSizeEfemRobot}" TextAlignment="Center" Width="50" TextWrapping="Wrap" Foreground="{DynamicResource FG_Black}" FontSize="12" FontFamily="Arial" VerticalAlignment="Center"/>-->
  408. <RadioButton Content="{Binding SmallPinWaferSize, StringFormat={StaticResource WaferSizeFormat}}" Visibility="{Binding SmallPinWaferSize, Converter={StaticResource WaferSizeToVisibility}}" Width="60" Height="24" Margin="4,0,0,0" Style="{DynamicResource OverviewRadioButton}" IsChecked="{Binding WaferSizeEfemRobot_3}">
  409. <i:Interaction.Triggers>
  410. <i:EventTrigger EventName="Click">
  411. <cal:ActionMessage MethodName="SetWaferSize">
  412. <cal:Parameter Value="EfemRobot" />
  413. <cal:Parameter Value="3" />
  414. </cal:ActionMessage>
  415. </i:EventTrigger>
  416. </i:Interaction.Triggers>
  417. </RadioButton>
  418. <RadioButton Content="{Binding MediumPinWaferSize, StringFormat={StaticResource WaferSizeFormat}}" Visibility="{Binding MediumPinWaferSize, Converter={StaticResource WaferSizeToVisibility}}" Width="60" Height="24" Margin="5,0,0,0" Style="{DynamicResource OverviewRadioButton}" IsChecked="{Binding WaferSizeEfemRobot_4}">
  419. <i:Interaction.Triggers>
  420. <i:EventTrigger EventName="Click">
  421. <cal:ActionMessage MethodName="SetWaferSize">
  422. <cal:Parameter Value="EfemRobot" />
  423. <cal:Parameter Value="4" />
  424. </cal:ActionMessage>
  425. </i:EventTrigger>
  426. </i:Interaction.Triggers>
  427. </RadioButton>
  428. <RadioButton Content="{Binding BigPinWaferSize, StringFormat={StaticResource WaferSizeFormat}}" Visibility="{Binding BigPinWaferSize, Converter={StaticResource WaferSizeToVisibility}}" Width="60" Height="24" Margin="5,0,0,0" Style="{DynamicResource OverviewRadioButton}" IsChecked="{Binding WaferSizeEfemRobot_6}">
  429. <i:Interaction.Triggers>
  430. <i:EventTrigger EventName="Click">
  431. <cal:ActionMessage MethodName="SetWaferSize">
  432. <cal:Parameter Value="EfemRobot" />
  433. <cal:Parameter Value="6" />
  434. </cal:ActionMessage>
  435. </i:EventTrigger>
  436. </i:Interaction.Triggers>
  437. </RadioButton>
  438. </StackPanel>
  439. </Border>
  440. <Border BorderBrush="{DynamicResource Table_BD}" BorderThickness="1,0,1,1" Background="{DynamicResource Table_BG_Content}" Grid.Row="2" Grid.ColumnSpan="2" Padding="5">
  441. <StackPanel Orientation="Vertical" HorizontalAlignment="Center" VerticalAlignment="Center">
  442. <StackPanel Orientation="Horizontal" Width="360" Height="34">
  443. <ComboBox x:Name="cbPickModules" Height="25" Width="90" ItemsSource="{Binding PickPlaceModules}" SelectedItem="{Binding PickSelectedModule}" />
  444. <ComboBox x:Name="cbPickSlots" Height="25" Width="90" ItemsSource="{Binding PickSlots}" SelectedItem="{Binding PickSelectedSlot}" />
  445. <ComboBox x:Name="cbPickBlades" Height="25" Width="90" ItemsSource="{Binding Blades}" SelectedItem="{Binding PickSelectedBlade}" />
  446. <Button Content="Pick" Width="80" Height="24" Margin="5,0,0,0">
  447. <i:Interaction.Triggers>
  448. <i:EventTrigger EventName="Click">
  449. <cal:ActionMessage MethodName="RobotPick"/>
  450. </i:EventTrigger>
  451. </i:Interaction.Triggers>
  452. </Button>
  453. </StackPanel>
  454. <StackPanel Orientation="Horizontal" Width="360" Height="34">
  455. <ComboBox x:Name="cbModules" Height="25" Width="90" ItemsSource="{Binding PickPlaceModules}" SelectedItem="{Binding PlaceSelectedModule}" />
  456. <ComboBox x:Name="cbSlots" Height="25" Width="90" ItemsSource="{Binding PlaceSlots}" SelectedItem="{Binding PlaceSelectedSlot}" />
  457. <ComboBox x:Name="cbPlaceBlades" Height="25" Width="90" ItemsSource="{Binding Blades}" SelectedItem="{Binding PlaceSelectedBlade}" />
  458. <Button Content="Place" Width="80" Height="24" Margin="5,0,0,0">
  459. <i:Interaction.Triggers>
  460. <i:EventTrigger EventName="Click">
  461. <cal:ActionMessage MethodName="RobotPlace"/>
  462. </i:EventTrigger>
  463. </i:Interaction.Triggers>
  464. </Button>
  465. </StackPanel>
  466. <StackPanel Orientation="Horizontal" Width="360" Height="34">
  467. <ComboBox x:Name="cbExtendModules" Height="25" Width="90" ItemsSource="{Binding ExtendRetractModules}" SelectedItem="{Binding ExtendSelectedModule}" />
  468. <ComboBox x:Name="cbExtendSlots" Height="25" Width="90" ItemsSource="{Binding ExtendSlots}" SelectedItem="{Binding ExtendSelectedSlot}" />
  469. <ComboBox x:Name="cbExtendBlades" Height="25" Width="90" ItemsSource="{Binding Blades}" SelectedItem="{Binding ExtendSelectedBlade}" />
  470. <Button Content="Extend" Width="80" Height="24" Margin="5,0,0,0">
  471. <i:Interaction.Triggers>
  472. <i:EventTrigger EventName="Click">
  473. <cal:ActionMessage MethodName="RobotExtend"/>
  474. </i:EventTrigger>
  475. </i:Interaction.Triggers>
  476. </Button>
  477. </StackPanel>
  478. <StackPanel Orientation="Horizontal" Width="360" Height="34">
  479. <ComboBox x:Name="cbMapModules" Height="25" Width="90" ItemsSource="{Binding MapModules}" SelectedItem="{Binding MapSelectedModule}" />
  480. <Button Content="Map" Width="80" Height="24" Margin="5,5,0,5">
  481. <i:Interaction.Triggers>
  482. <i:EventTrigger EventName="Click">
  483. <cal:ActionMessage MethodName="RobotMap"/>
  484. </i:EventTrigger>
  485. </i:Interaction.Triggers>
  486. </Button>
  487. <TextBlock Text="Grip Status: " Margin="25,5,0,5" TextWrapping="Wrap" Visibility="{Binding GripVisibility}" Foreground="{DynamicResource FG_Black}" FontSize="12" FontFamily="Arial" VerticalAlignment="Center"/>
  488. <Ellipse Margin="15,5,0,5" HorizontalAlignment="Center" VerticalAlignment="Center"
  489. Stroke="Gray" StrokeThickness="2" Width="15" Height="15"
  490. Fill="{Binding Blade1GripStateColor}" Style="{x:Null}" Visibility="{Binding GripVisibility}"/>
  491. <Ellipse Margin="15,5,0,5" HorizontalAlignment="Center" VerticalAlignment="Center"
  492. Stroke="Gray" StrokeThickness="2" Width="15" Height="15"
  493. Fill="{Binding Blade2GripStateColor}" Style="{x:Null}" Visibility="{Binding GripVisibility}"/>
  494. </StackPanel>
  495. <StackPanel Orientation="Horizontal" Width="360" Height="34" Visibility="{Binding GripVisibility}">
  496. <ComboBox x:Name="cbGripBlades" Height="25" Width="90" ItemsSource="{Binding Blades}" SelectedItem="{Binding GripSelectedBlade}" />
  497. <Button Content="Grip" Width="80" Height="24" Margin="5,0,0,0">
  498. <i:Interaction.Triggers>
  499. <i:EventTrigger EventName="Click">
  500. <cal:ActionMessage MethodName="RobotGrip"/>
  501. </i:EventTrigger>
  502. </i:Interaction.Triggers>
  503. </Button>
  504. <ComboBox x:Name="cbUngripBlades" Height="25" Width="90" ItemsSource="{Binding Blades}" SelectedItem="{Binding UngripSelectedBlade}" />
  505. <Button Content="Ungrip" Width="80" Height="24" Margin="5,0,0,0">
  506. <i:Interaction.Triggers>
  507. <i:EventTrigger EventName="Click">
  508. <cal:ActionMessage MethodName="RobotUngrip"/>
  509. </i:EventTrigger>
  510. </i:Interaction.Triggers>
  511. </Button>
  512. </StackPanel>
  513. </StackPanel>
  514. </Border>
  515. </Grid>
  516. </Grid>
  517. </Grid>
  518. </ScrollViewer>
  519. </UserControl>