OperationOverView.xaml 43 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552
  1. <UserControl x:Class="Venus_MainPages.Views.OperationOverView"
  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. mc:Ignorable="d"
  8. xmlns:ctrls="clr-namespace:Venus_Themes.UserControls;assembly=Venus_Themes"
  9. xmlns:customControls="clr-namespace:Venus_Themes.CustomControls;assembly=Venus_Themes"
  10. xmlns:Attach="clr-namespace:Venus_UI.Themes.Attach;assembly=Venus_Themes"
  11. xmlns:converters="clr-namespace:Venus_Themes.Converters;assembly=Venus_Themes"
  12. xmlns:converters2="clr-namespace:Venus_MainPages.Converters"
  13. xmlns:userControls="clr-namespace:Venus_Themes.UserControls;assembly=Venus_Themes"
  14. xmlns:i="clr-namespace:System.Windows.Interactivity;assembly=System.Windows.Interactivity"
  15. xmlns:prism="http://prismlibrary.com/"
  16. prism:ViewModelLocator.AutoWireViewModel="True"
  17. xmlns:deviceControl="clr-namespace:Aitex.Core.UI.DeviceControl;assembly=MECF.Framework.UI.Core"
  18. xmlns:unity="clr-namespace:Venus_MainPages.Unity"
  19. d:DesignHeight="450" d:DesignWidth="800">
  20. <i:Interaction.Triggers>
  21. <i:EventTrigger EventName="Loaded">
  22. <i:InvokeCommandAction Command="{Binding LoadCommand}"/>
  23. </i:EventTrigger>
  24. </i:Interaction.Triggers>
  25. <UserControl.Resources>
  26. <converters:BoolToVisibility x:Key="boolToVisibility"/>
  27. <converters:BoolToVisibility2 x:Key="boolToVisibility2"/>
  28. <converters:BoolToVisibility3 x:Key="boolToVisibility3"/>
  29. <converters:BoolToBool x:Key="BoolToBool"/>
  30. <converters2:IsOnlineToOpacityConverter x:Key="IsOnlineToOpacityConverter"/>
  31. <converters:BoolToColor x:Key="boolToColor"/>
  32. </UserControl.Resources>
  33. <Canvas>
  34. <Canvas Canvas.Left="180">
  35. <Viewbox Width="800" Height="800" Canvas.Top="100" Canvas.Left="-20" Stretch="Fill">
  36. <Canvas Width="1000" Height="1000">
  37. <userControls:MainTM Width="300" Height="250" Canvas.Left="380" Canvas.Top="90" Opacity="{Binding RtDataValues[TM.IsOnline],Converter={StaticResource IsOnlineToOpacityConverter}}"/>
  38. <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}" IsEnabled="False" Opacity="{Binding RtDataValues[LLA.IsOnline],Converter={StaticResource IsOnlineToOpacityConverter}}"/>
  39. <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}" IsEnabled="False" Opacity="{Binding RtDataValues[LLB.IsOnline],Converter={StaticResource IsOnlineToOpacityConverter}}"/>
  40. <userControls:TMChamber ModuleName="PMA" x:Name="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}}" Opacity="{Binding RtDataValues[PMA.IsOnline],Converter={StaticResource IsOnlineToOpacityConverter}}"/>
  41. <userControls:TMChamber ModuleName="PMB" x:Name="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}}" Opacity="{Binding RtDataValues[PMB.IsOnline],Converter={StaticResource IsOnlineToOpacityConverter}}"/>
  42. <userControls:TMChamber ModuleName="PMC" x:Name="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}}" Opacity="{Binding RtDataValues[PMC.IsOnline],Converter={StaticResource IsOnlineToOpacityConverter}}"/>
  43. <userControls:TMChamber ModuleName="PMD" x:Name="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}}" Opacity="{Binding RtDataValues[PMD.IsOnline],Converter={StaticResource IsOnlineToOpacityConverter}}"/>
  44. </Canvas>
  45. </Viewbox>
  46. <userControls:EFEM Width="450" Height="180" Canvas.Left="160" Canvas.Top="482" Aligner1Wafer="{Binding Aligner1Wafer}" LP1Presented="{Binding RtDataValues[LP1.CassettePlaced]}" LP2Presented="{Binding RtDataValues[LP2.CassettePlaced]}" LP3Presented="{Binding RtDataValues[LP3.CassettePlaced]}" LP1Loaded="{Binding RtDataValues[LP1.IsLoaded]}" LP2Loaded="{Binding RtDataValues[LP2.IsLoaded]}" LP3Loaded="{Binding RtDataValues[LP3.IsLoaded]}" RobotATAction="{Binding Robot3TAction}" RobotAXAction="{Binding Robot3XAction}" RobotBTAction="{Binding Robot4TAction}" RobotBXAction="{Binding Robot4XAction}" RobotAWaferInfo="{Binding BladeAWafer}" RobotBWaferInfo="{Binding BladeBWafer}" CurrentRobotPosition="{Binding CurrentRobotPosition}" Opacity="{Binding RtDataValues[EFEM.IsOnline],Converter={StaticResource IsOnlineToOpacityConverter}}"/>
  47. <!--<customControls:WaferRobotControl OriginT="PMA" Canvas.Left="310" Canvas.Top="453" Width="160" Height="240" RobotTAction="{Binding Robot3TAction}" RobotXAction="{Binding Robot3XAction}" RobotWafer="{Binding EFEMBladeAWafer}"/>
  48. <customControls:WaferRobotControl OriginT="PMD" Canvas.Left="310" Canvas.Top="453" Width="160" Height="240" RobotTAction="{Binding Robot4TAction}" RobotXAction="{Binding Robot4XAction}" RobotWafer="{Binding EFEMBladeBWafer}"/>-->
  49. <customControls:WaferRobotControl OriginT="T_Origin" Canvas.Left="310" Canvas.Top="160" Width="160" Height="240" RobotTAction="{Binding Robot1TAction}" RobotXAction="{Binding Robot1XAction}" RobotWafer="{Binding TMBladeAWafer}" IsEnabled="False" Opacity="{Binding RtDataValues[TM.IsOnline],Converter={StaticResource IsOnlineToOpacityConverter}}"/>
  50. <customControls:WaferRobotControl OriginT="T_Origin" Canvas.Left="310" Canvas.Top="160" Width="160" Height="240" RobotTAction="{Binding Robot2TAction}" RobotXAction="{Binding Robot2XAction}" RobotWafer="{Binding TMBladeBWafer}" IsEnabled="False" Opacity="{Binding RtDataValues[TM.IsOnline],Converter={StaticResource IsOnlineToOpacityConverter}}"/>
  51. <TextBlock Text="{Binding RobotMoveInfo}" FontSize="20" Canvas.Left="700" Canvas.Top="250" Visibility="Collapsed"/>
  52. <TextBlock Text="{Binding EfemRobotMoveInfo}" FontSize="20" Canvas.Left="700" Canvas.Top="350" Visibility="Collapsed"/>
  53. </Canvas>
  54. <Grid Width="280" Height="170" Canvas.Left="30" Canvas.Top="250" unity:GridOptions.LineBrush="#afb4db" unity:GridOptions.ShowBorder="True" Background="#E9EDF4" Visibility="{Binding PMAIsInstalled,Converter={StaticResource bool2VisibilityConverter}}">
  55. <Grid.RowDefinitions>
  56. <RowDefinition Height="30"/>
  57. <RowDefinition/>
  58. <RowDefinition/>
  59. <RowDefinition/>
  60. <RowDefinition/>
  61. <RowDefinition/>
  62. <RowDefinition Height="0"/>
  63. <RowDefinition/>
  64. </Grid.RowDefinitions>
  65. <Grid.ColumnDefinitions>
  66. <ColumnDefinition Width="3*"/>
  67. <ColumnDefinition Width="2*"/>
  68. </Grid.ColumnDefinitions>
  69. <TextBlock Grid.Row="0" Text="PMA" Foreground="White" Grid.ColumnSpan="2" FontSize="20" Padding="120,2,0,0" Background="#376092"/>
  70. <TextBlock Grid.Row="1" Text="Recipe Name" FontSize="15" Padding="10,2,0,0" Background="#D0D8E8"/>
  71. <TextBlock Grid.Row="2" Text="Step Num/All" FontSize="15" Padding="10,2,0,0" Background="#D0D8E8"/>
  72. <TextBlock Grid.Row="3" Text="Step Type" FontSize="15" Padding="10,2,0,0" Background="#D0D8E8"/>
  73. <TextBlock Grid.Row="4" Text="Step Elpased Time" FontSize="15" Padding="10,2,0,0" Background="#D0D8E8"/>
  74. <TextBlock Grid.Row="5" Text="Step Time(s)" FontSize="15" Padding="10,2,0,0" Background="#D0D8E8"/>
  75. <TextBlock Grid.Row="6" Text="Next Step" FontSize="15" Padding="10,2,0,0" Background="#D0D8E8"/>
  76. <TextBlock Grid.Row="7" Text="Cycle Num/All" FontSize="15" Padding="10,2,0,0" Background="#D0D8E8"/>
  77. <TextBlock Grid.Row="1" Grid.Column="1" Text="{Binding PMARecipeResult.RecipeName}" FontSize="15" Padding="10,2,0,0" Background="#E9EDF4"/>
  78. <TextBlock Grid.Row="2" Grid.Column="1" FontSize="15" Padding="10,2,0,0" Background="#E9EDF4">
  79. <TextBlock.Text>
  80. <MultiBinding StringFormat="{}{0}/{1}">
  81. <Binding Path="PMARecipeResult.RecipeStepNumber"></Binding>
  82. <Binding Path="PMARecipeResult.RecipeStepCount"></Binding>
  83. </MultiBinding>
  84. </TextBlock.Text>
  85. </TextBlock>
  86. <TextBlock Grid.Row="3" Grid.Column="1" Text="{Binding PMARecipeResult.RecipeStepType}" FontSize="15" Padding="10,2,0,0"/>
  87. <TextBlock Grid.Row="4" Grid.Column="1" Text="{Binding PMARecipeResult.RecipeStepDuringTime, StringFormat=hh\\:mm\\:ss}" FontSize="15" Padding="10,2,0,0"/>
  88. <TextBlock Grid.Row="5" Grid.Column="1" Text="{Binding PMARecipeResult.RecipeStepSetTime}" FontSize="15" Padding="10,2,0,0"/>
  89. <customControls:PathButton BorderThickness="0" PathData="{StaticResource Icon_Next}" Background="Transparent" DefaultFillBrush="Black" Foreground="White" Cursor="Hand" Grid.Row="6" Grid.Column="1" Command="{Binding EndStepCommand}" Margin="15,0,0,0" HorizontalAlignment="Left"/>
  90. <TextBlock Grid.Row="7" Grid.Column="1" FontSize="15" Padding="10,2,0,0" Background="#E9EDF4">
  91. <TextBlock.Text>
  92. <MultiBinding StringFormat="{}{0}/{1}">
  93. <Binding Path="PMARecipeResult.RecipeCurrentCounter"></Binding>
  94. <Binding Path="PMARecipeResult.RecipeAllCounters"></Binding>
  95. </MultiBinding>
  96. </TextBlock.Text>
  97. </TextBlock>
  98. </Grid>
  99. <Grid Width="280" Height="170" Canvas.Left="30" Canvas.Top="50" unity:GridOptions.LineBrush="#afb4db" unity:GridOptions.ShowBorder="True" Background="#E9EDF4" Visibility="{Binding PMBIsInstalled,Converter={StaticResource bool2VisibilityConverter}}">
  100. <Grid.RowDefinitions>
  101. <RowDefinition Height="30"/>
  102. <RowDefinition/>
  103. <RowDefinition/>
  104. <RowDefinition/>
  105. <RowDefinition/>
  106. <RowDefinition/>
  107. <RowDefinition Height="0"/>
  108. <RowDefinition/>
  109. </Grid.RowDefinitions>
  110. <Grid.ColumnDefinitions>
  111. <ColumnDefinition Width="3*"/>
  112. <ColumnDefinition Width="2*"/>
  113. </Grid.ColumnDefinitions>
  114. <TextBlock Grid.Row="0" Text="PMB" Foreground="White" Grid.ColumnSpan="2" FontSize="20" Padding="120,2,0,0" Background="#376092"/>
  115. <TextBlock Grid.Row="1" Text="Recipe Name" FontSize="15" Padding="10,2,0,0" Background="#D0D8E8"/>
  116. <TextBlock Grid.Row="2" Text="Step Num/All" FontSize="15" Padding="10,2,0,0" Background="#D0D8E8"/>
  117. <TextBlock Grid.Row="3" Text="Step Type" FontSize="15" Padding="10,2,0,0" Background="#D0D8E8"/>
  118. <TextBlock Grid.Row="4" Text="Step Elpased Time" FontSize="15" Padding="10,2,0,0" Background="#D0D8E8"/>
  119. <TextBlock Grid.Row="5" Text="Step Time(s)" FontSize="15" Padding="10,2,0,0" Background="#D0D8E8"/>
  120. <TextBlock Grid.Row="6" Text="Next Step" FontSize="15" Padding="10,2,0,0" Background="#D0D8E8"/>
  121. <TextBlock Grid.Row="7" Text="Cycle Num/All" FontSize="15" Padding="10,2,0,0" Background="#D0D8E8"/>
  122. <TextBlock Grid.Row="1" Grid.Column="1" Text="{Binding PMBRecipeResult.RecipeName}" FontSize="15" Padding="10,2,0,0" Background="#E9EDF4"/>
  123. <TextBlock Grid.Row="2" Grid.Column="1" FontSize="15" Padding="10,2,0,0" Background="#E9EDF4">
  124. <TextBlock.Text>
  125. <MultiBinding StringFormat="{}{0}/{1}">
  126. <Binding Path="PMBRecipeResult.RecipeStepNumber"></Binding>
  127. <Binding Path="PMBRecipeResult.RecipeStepCount"></Binding>
  128. </MultiBinding>
  129. </TextBlock.Text>
  130. </TextBlock>
  131. <TextBlock Grid.Row="3" Grid.Column="1" Text="{Binding PMBRecipeResult.RecipeStepType}" FontSize="15" Padding="10,2,0,0"/>
  132. <TextBlock Grid.Row="4" Grid.Column="1" Text="{Binding PMBRecipeResult.RecipeStepDuringTime, StringFormat=hh\\:mm\\:ss}" FontSize="15" Padding="10,2,0,0"/>
  133. <TextBlock Grid.Row="5" Grid.Column="1" Text="{Binding PMBRecipeResult.RecipeStepSetTime}" FontSize="15" Padding="10,2,0,0"/>
  134. <customControls:PathButton BorderThickness="0" PathData="{StaticResource Icon_Next}" Background="Transparent" DefaultFillBrush="Black" Foreground="White" Cursor="Hand" Grid.Row="6" Grid.Column="1" Command="{Binding EndStepCommand}" Margin="15,0,0,0" HorizontalAlignment="Left"/>
  135. <TextBlock Grid.Row="7" Grid.Column="1" FontSize="15" Padding="10,2,0,0" Background="#E9EDF4">
  136. <TextBlock.Text>
  137. <MultiBinding StringFormat="{}{0}/{1}">
  138. <Binding Path="PMBRecipeResult.RecipeCurrentCounter"></Binding>
  139. <Binding Path="PMBRecipeResult.RecipeAllCounters"></Binding>
  140. </MultiBinding>
  141. </TextBlock.Text>
  142. </TextBlock>
  143. </Grid>
  144. <Grid Width="280" Height="170" Canvas.Left="830" Canvas.Top="50" unity:GridOptions.LineBrush="#afb4db" unity:GridOptions.ShowBorder="True" Background="#E9EDF4" Visibility="{Binding PMCIsInstalled,Converter={StaticResource bool2VisibilityConverter}}">
  145. <Grid.RowDefinitions>
  146. <RowDefinition Height="30"/>
  147. <RowDefinition/>
  148. <RowDefinition/>
  149. <RowDefinition/>
  150. <RowDefinition/>
  151. <RowDefinition/>
  152. <RowDefinition Height="0"/>
  153. <RowDefinition/>
  154. </Grid.RowDefinitions>
  155. <Grid.ColumnDefinitions>
  156. <ColumnDefinition Width="3*"/>
  157. <ColumnDefinition Width="2*"/>
  158. </Grid.ColumnDefinitions>
  159. <TextBlock Grid.Row="0" Text="PMC" Foreground="White" Grid.ColumnSpan="2" FontSize="20" Padding="120,2,0,0" Background="#376092"/>
  160. <TextBlock Grid.Row="1" Text="Recipe Name" FontSize="15" Padding="10,2,0,0" Background="#D0D8E8"/>
  161. <TextBlock Grid.Row="2" Text="Step Num/All" FontSize="15" Padding="10,2,0,0" Background="#D0D8E8"/>
  162. <TextBlock Grid.Row="3" Text="Step Type" FontSize="15" Padding="10,2,0,0" Background="#D0D8E8"/>
  163. <TextBlock Grid.Row="4" Text="Step Elpased Time" FontSize="15" Padding="10,2,0,0" Background="#D0D8E8"/>
  164. <TextBlock Grid.Row="5" Text="Step Time(s)" FontSize="15" Padding="10,2,0,0" Background="#D0D8E8"/>
  165. <TextBlock Grid.Row="6" Text="Next Step" FontSize="15" Padding="10,2,0,0" Background="#D0D8E8"/>
  166. <TextBlock Grid.Row="7" Text="Cycle Num/All" FontSize="15" Padding="10,2,0,0" Background="#D0D8E8"/>
  167. <TextBlock Grid.Row="1" Grid.Column="1" Text="{Binding PMCRecipeResult.RecipeName}" FontSize="15" Padding="10,2,0,0" Background="#E9EDF4"/>
  168. <TextBlock Grid.Row="2" Grid.Column="1" FontSize="15" Padding="10,2,0,0" Background="#E9EDF4">
  169. <TextBlock.Text>
  170. <MultiBinding StringFormat="{}{0}/{1}">
  171. <Binding Path="PMCRecipeResult.RecipeStepNumber"></Binding>
  172. <Binding Path="PMCRecipeResult.RecipeStepCount"></Binding>
  173. </MultiBinding>
  174. </TextBlock.Text>
  175. </TextBlock>
  176. <TextBlock Grid.Row="3" Grid.Column="1" Text="{Binding PMCRecipeResult.RecipeStepType}" FontSize="15" Padding="10,2,0,0"/>
  177. <TextBlock Grid.Row="4" Grid.Column="1" Text="{Binding PMCRecipeResult.RecipeStepDuringTime, StringFormat=hh\\:mm\\:ss}" FontSize="15" Padding="10,2,0,0"/>
  178. <TextBlock Grid.Row="5" Grid.Column="1" Text="{Binding PMCRecipeResult.RecipeStepSetTime}" FontSize="15" Padding="10,2,0,0"/>
  179. <customControls:PathButton BorderThickness="0" PathData="{StaticResource Icon_Next}" Background="Transparent" DefaultFillBrush="Black" Foreground="White" Cursor="Hand" Grid.Row="6" Grid.Column="1" Command="{Binding EndStepCommand}" Margin="15,0,0,0" HorizontalAlignment="Left"/>
  180. <TextBlock Grid.Row="7" Grid.Column="1" FontSize="15" Padding="10,2,0,0" Background="#E9EDF4">
  181. <TextBlock.Text>
  182. <MultiBinding StringFormat="{}{0}/{1}">
  183. <Binding Path="PMCRecipeResult.RecipeCurrentCounter"></Binding>
  184. <Binding Path="PMCRecipeResult.RecipeAllCounters"></Binding>
  185. </MultiBinding>
  186. </TextBlock.Text>
  187. </TextBlock>
  188. </Grid>
  189. <Grid Width="280" Height="170" Canvas.Left="830" Canvas.Top="250" unity:GridOptions.LineBrush="#afb4db" unity:GridOptions.ShowBorder="True" Background="#E9EDF4" Visibility="{Binding PMDIsInstalled,Converter={StaticResource bool2VisibilityConverter}}">
  190. <Grid.RowDefinitions>
  191. <RowDefinition Height="30"/>
  192. <RowDefinition/>
  193. <RowDefinition/>
  194. <RowDefinition/>
  195. <RowDefinition/>
  196. <RowDefinition/>
  197. <RowDefinition Height="0"/>
  198. <RowDefinition/>
  199. </Grid.RowDefinitions>
  200. <Grid.ColumnDefinitions>
  201. <ColumnDefinition Width="3*"/>
  202. <ColumnDefinition Width="2*"/>
  203. </Grid.ColumnDefinitions>
  204. <TextBlock Grid.Row="0" Text="PMD" Foreground="White" Grid.ColumnSpan="2" FontSize="20" Padding="120,2,0,0" Background="#376092"/>
  205. <TextBlock Grid.Row="1" Text="Recipe Name" FontSize="15" Padding="10,2,0,0" Background="#D0D8E8"/>
  206. <TextBlock Grid.Row="2" Text="Step Num/All" FontSize="15" Padding="10,2,0,0" Background="#D0D8E8"/>
  207. <TextBlock Grid.Row="3" Text="Step Type" FontSize="15" Padding="10,2,0,0" Background="#D0D8E8"/>
  208. <TextBlock Grid.Row="4" Text="Step Elpased Time" FontSize="15" Padding="10,2,0,0" Background="#D0D8E8"/>
  209. <TextBlock Grid.Row="5" Text="Step Time(s)" FontSize="15" Padding="10,2,0,0" Background="#D0D8E8"/>
  210. <TextBlock Grid.Row="6" Text="Next Step" FontSize="15" Padding="10,2,0,0" Background="#D0D8E8"/>
  211. <TextBlock Grid.Row="7" Text="Cycle Num/All" FontSize="15" Padding="10,2,0,0" Background="#D0D8E8"/>
  212. <TextBlock Grid.Row="1" Grid.Column="1" Text="{Binding PMDRecipeResult.RecipeName}" FontSize="15" Padding="10,2,0,0" Background="#E9EDF4"/>
  213. <TextBlock Grid.Row="2" Grid.Column="1" FontSize="15" Padding="10,2,0,0" Background="#E9EDF4">
  214. <TextBlock.Text>
  215. <MultiBinding StringFormat="{}{0}/{1}">
  216. <Binding Path="PMDRecipeResult.RecipeStepNumber"></Binding>
  217. <Binding Path="PMDRecipeResult.RecipeStepCount"></Binding>
  218. </MultiBinding>
  219. </TextBlock.Text>
  220. </TextBlock>
  221. <TextBlock Grid.Row="3" Grid.Column="1" Text="{Binding PMDRecipeResult.RecipeStepType}" FontSize="15" Padding="10,2,0,0"/>
  222. <TextBlock Grid.Row="4" Grid.Column="1" Text="{Binding PMDRecipeResult.RecipeStepDuringTime, StringFormat=hh\\:mm\\:ss}" FontSize="15" Padding="10,2,0,0"/>
  223. <TextBlock Grid.Row="5" Grid.Column="1" Text="{Binding PMDRecipeResult.RecipeStepSetTime}" FontSize="15" Padding="10,2,0,0"/>
  224. <customControls:PathButton BorderThickness="0" PathData="{StaticResource Icon_Next}" Background="Transparent" DefaultFillBrush="Black" Foreground="White" Cursor="Hand" Grid.Row="6" Grid.Column="1" Command="{Binding EndStepCommand}" Margin="15,0,0,0" HorizontalAlignment="Left"/>
  225. <TextBlock Grid.Row="7" Grid.Column="1" FontSize="15" Padding="10,2,0,0" Background="#E9EDF4">
  226. <TextBlock.Text>
  227. <MultiBinding StringFormat="{}{0}/{1}">
  228. <Binding Path="PMDRecipeResult.RecipeCurrentCounter"></Binding>
  229. <Binding Path="PMDRecipeResult.RecipeAllCounters"></Binding>
  230. </MultiBinding>
  231. </TextBlock.Text>
  232. </TextBlock>
  233. </Grid>
  234. <TextBlock Canvas.Top="465" Canvas.Left="200" Text="LLA" Visibility="{Binding LLAIsInstalled,Converter={StaticResource bool2VisibilityConverter}}"></TextBlock>
  235. <TextBlock Canvas.Top="465" Canvas.Left="880" Text="LLB" Visibility="{Binding LLBIsInstalled,Converter={StaticResource bool2VisibilityConverter}}"></TextBlock>
  236. <userControls:FOUPFrontView UnitData="{Binding LLAModuleInfo}" VerticalAlignment="Top" Canvas.Top="470" Canvas.Left="150" Visibility="{Binding LLAIsInstalled,Converter={StaticResource bool2VisibilityConverter}}" ShowTitle="True"/>
  237. <userControls:FOUPFrontView UnitData="{Binding LLBModuleInfo}" VerticalAlignment="Top" Canvas.Top="470" Canvas.Left="830" Visibility="{Binding LLBIsInstalled,Converter={StaticResource bool2VisibilityConverter}}" ShowTitle="True"/>
  238. <userControls:EFEMFrontView UnitData="{Binding EFEMModuleInfo}" Title="Efem Robot" Canvas.Top="600" Canvas.Left="140" />
  239. <userControls:EFEMFrontView UnitData="{Binding TMModuleInfo}" Title="TM Robot" Canvas.Top="600" Canvas.Left="820"/>
  240. <Canvas Canvas.Left="300" Canvas.Top="-40">
  241. <RadioButton Content="Carrier" Name="CarrierRadioButton" Canvas.Left="900" Canvas.Top="106" Width="60" Height="33" Style="{StaticResource Button_RadioButton}" IsChecked="True" />
  242. <RadioButton Content="LP1" Name="JobRadioButton1" Canvas.Left="961" Canvas.Top="106" Width="60" Height="33" Style="{StaticResource Button_RadioButton}" IsChecked="False" />
  243. <RadioButton Content="LP2" Name="JobRadioButton2" Canvas.Left="1022" Canvas.Top="106" Width="60" Height="33" Style="{StaticResource Button_RadioButton}" IsChecked="False" />
  244. <RadioButton Content="LP3" Name="JobRadioButton3" Canvas.Left="1083" Canvas.Top="106" Width="60" Height="33" Style="{StaticResource Button_RadioButton}" IsChecked="False" />
  245. <TabPanel Canvas.Left="900" Canvas.Top="140" Visibility="{Binding ElementName=CarrierRadioButton,Path=IsChecked,Converter={StaticResource boolToVisibility2}}">
  246. <StackPanel Orientation="Horizontal" >
  247. <StackPanel>
  248. <TextBox Background="{DynamicResource Table_BG_Title}" Text="LP1" Width="Auto" Height="30" HorizontalContentAlignment="Center" VerticalContentAlignment="Center" IsReadOnly="True"/>
  249. <ctrls:FOUPFrontView UnitData="{Binding LP1ModuleInfo}" ShowTitle="False" />
  250. <TextBlock HorizontalAlignment="Center" Margin="0,5,0,0" FontSize="15">
  251. <TextBlock.Text>
  252. <MultiBinding StringFormat="{}Wafer Count:{0}">
  253. <Binding Path="LP1WaferCount"></Binding>
  254. </MultiBinding>
  255. </TextBlock.Text>
  256. </TextBlock>
  257. <StackPanel Orientation="Horizontal">
  258. <customControls:PathButton Content="Load" HorizontalAlignment="Center" Margin="0,5,0,0" Width="80" Height="30" Command="{Binding LoadWaferCommand}" CommandParameter="LP1" IsEnabled="{Binding RtDataValues[LP1.IsLoaded],Converter={StaticResource BoolToBool}}"/>
  259. <customControls:PathButton Content="UnLoad" HorizontalAlignment="Center" Margin="0,5,8,0" Width="80" Height="30" Command="{Binding UnLoadWaferCommand}" CommandParameter="LP1" IsEnabled="{Binding RtDataValues[LP1.IsLoaded]}"/>
  260. </StackPanel>
  261. </StackPanel>
  262. <StackPanel>
  263. <TextBox Background="{DynamicResource Table_BG_Title}" Text="LP2" Width="Auto" Height="30" HorizontalContentAlignment="Center" VerticalContentAlignment="Center" IsReadOnly="True"/>
  264. <ctrls:FOUPFrontView UnitData="{Binding LP2ModuleInfo}" ShowTitle="False" />
  265. <TextBlock HorizontalAlignment="Center" Margin="0,5,0,0" FontSize="15">
  266. <TextBlock.Text>
  267. <MultiBinding StringFormat="{}Wafer Count:{0}">
  268. <Binding Path="LP2WaferCount"></Binding>
  269. </MultiBinding>
  270. </TextBlock.Text>
  271. </TextBlock>
  272. <StackPanel Orientation="Horizontal">
  273. <customControls:PathButton Content="Load" HorizontalAlignment="Center" Margin="0,5,0,0" Width="80" Height="30" Command="{Binding LoadWaferCommand}" CommandParameter="LP2" IsEnabled="{Binding RtDataValues[LP2.IsLoaded],Converter={StaticResource BoolToBool}}"/>
  274. <customControls:PathButton Content="UnLoad" HorizontalAlignment="Center" Margin="0,5,8,0" Width="80" Height="30" Command="{Binding UnLoadWaferCommand}" CommandParameter="LP2" IsEnabled="{Binding RtDataValues[LP2.IsLoaded]}"/>
  275. </StackPanel>
  276. </StackPanel>
  277. <StackPanel>
  278. <TextBox Background="{DynamicResource Table_BG_Title}" Text="LP3" Width="Auto" Height="30" HorizontalContentAlignment="Center" VerticalContentAlignment="Center" IsReadOnly="True"/>
  279. <ctrls:FOUPFrontView UnitData="{Binding LP3ModuleInfo}" ShowTitle="False"/>
  280. <TextBlock HorizontalAlignment="Center" Margin="0,5,0,0" FontSize="15">
  281. <TextBlock.Text>
  282. <MultiBinding StringFormat="{}Wafer Count:{0}">
  283. <Binding Path="LP3WaferCount"></Binding>
  284. </MultiBinding>
  285. </TextBlock.Text>
  286. </TextBlock>
  287. <StackPanel Orientation="Horizontal">
  288. <customControls:PathButton Content="Load" HorizontalAlignment="Center" Margin="0,5,0,0" Width="80" Height="30" Command="{Binding LoadWaferCommand}" CommandParameter="LP3" IsEnabled="{Binding RtDataValues[LP3.IsLoaded],Converter={StaticResource BoolToBool}}"/>
  289. <customControls:PathButton Content="UnLoad" HorizontalAlignment="Center" Margin="0,5,0,0" Width="80" Height="30" Command="{Binding UnLoadWaferCommand}" CommandParameter="LP3" IsEnabled="{Binding RtDataValues[LP3.IsLoaded]}"/>
  290. </StackPanel>
  291. </StackPanel>
  292. </StackPanel>
  293. </TabPanel>
  294. <TabPanel Canvas.Left="900" Canvas.Top="140" Visibility="{Binding ElementName=JobRadioButton1,Path=IsChecked,Converter={StaticResource boolToVisibility2}}" >
  295. <local:WaferAssociationUnit WAInfo="{Binding LP1WaferAssociation}" />
  296. </TabPanel>
  297. <TabPanel Canvas.Left="900" Canvas.Top="140" Visibility="{Binding ElementName=JobRadioButton2,Path=IsChecked,Converter={StaticResource boolToVisibility2}}" >
  298. <local:WaferAssociationUnit WAInfo="{Binding LP2WaferAssociation}"/>
  299. </TabPanel>
  300. <TabPanel Canvas.Left="900" Canvas.Top="140" Visibility="{Binding ElementName=JobRadioButton3,Path=IsChecked,Converter={StaticResource boolToVisibility2}}" >
  301. <local:WaferAssociationUnit WAInfo="{Binding LP3WaferAssociation}"/>
  302. </TabPanel>
  303. </Canvas>
  304. <Grid Canvas.Left="1700" Canvas.Top="140" Width="200" Background="White" Margin="10,-1,0,-1">
  305. <Grid.RowDefinitions>
  306. <RowDefinition Height="30"/>
  307. <RowDefinition Height="Auto"/>
  308. <RowDefinition Height="30"/>
  309. <RowDefinition Height="Auto" />
  310. <RowDefinition Height="30"/>
  311. <RowDefinition />
  312. </Grid.RowDefinitions>
  313. <Border Grid.Row="0" BorderBrush="{DynamicResource MainFrame_BD}" BorderThickness="1" Background="{DynamicResource MainFrame_BG_Title}" Padding="5,1">
  314. <StackPanel Orientation="Horizontal" HorizontalAlignment="Left" VerticalAlignment="Center">
  315. <Path Data="M0,0 L5,0 5,5 z" Fill="Black" HorizontalAlignment="Left" Grid.Row="1" RenderTransformOrigin="0.5,0.5" Stretch="Fill" Width="5" Height="5">
  316. <Path.RenderTransform>
  317. <TransformGroup>
  318. <ScaleTransform/>
  319. <SkewTransform/>
  320. <RotateTransform Angle="45"/>
  321. <TranslateTransform/>
  322. </TransformGroup>
  323. </Path.RenderTransform>
  324. </Path>
  325. <TextBlock Margin="5,0,0,0" Text="Wafer Status" FontFamily="Arial" FontSize="14" Foreground="{DynamicResource FG_Black}" HorizontalAlignment="Left" VerticalAlignment="Center"/>
  326. </StackPanel>
  327. </Border>
  328. <Border Grid.Row="1" BorderBrush="{DynamicResource MainFrame_BD}" BorderThickness="1,0,1,1" Padding="5,1">
  329. <StackPanel HorizontalAlignment="Center" VerticalAlignment="Top" Margin="0,5">
  330. <Grid Width="180" Height="20" HorizontalAlignment="Left">
  331. <Grid.ColumnDefinitions>
  332. <ColumnDefinition Width="40"/>
  333. <ColumnDefinition />
  334. </Grid.ColumnDefinitions>
  335. <Rectangle Fill="Gold" Stroke="Black" StrokeThickness="1"/>
  336. <TextBlock Text="Idle / Unselected" Grid.Column="1" Margin="10,0,0,0" Foreground="{DynamicResource FG_Black}" FontSize="14" FontFamily="Arial" VerticalAlignment="Center"/>
  337. </Grid>
  338. <Grid Width="180" Height="20" Margin="0,5,0,0" HorizontalAlignment="Left">
  339. <Grid.ColumnDefinitions>
  340. <ColumnDefinition Width="40"/>
  341. <ColumnDefinition Width="6*" />
  342. <ColumnDefinition Width="29*"/>
  343. </Grid.ColumnDefinitions>
  344. <Rectangle Fill="Blue" Stroke="Black" StrokeThickness="1"/>
  345. <TextBlock Text="Idle / Job Selected" Grid.Column="1" Margin="10,2,0,1" Foreground="{DynamicResource FG_Black}" FontSize="14" FontFamily="Arial" VerticalAlignment="Center" Grid.ColumnSpan="2"/>
  346. </Grid>
  347. <Grid Width="180" Height="20" Margin="0,5,0,0" HorizontalAlignment="Left">
  348. <Grid.ColumnDefinitions>
  349. <ColumnDefinition Width="40"/>
  350. <ColumnDefinition />
  351. </Grid.ColumnDefinitions>
  352. <Rectangle Fill="Cyan" Stroke="Black" StrokeThickness="1"/>
  353. <TextBlock Text="In Process" Grid.Column="1" Margin="10,0,0,0" Foreground="{DynamicResource FG_Black}" FontSize="14" FontFamily="Arial" VerticalAlignment="Center"/>
  354. </Grid>
  355. <Grid Width="180" Height="20" Margin="0,5,0,0" HorizontalAlignment="Left">
  356. <Grid.ColumnDefinitions>
  357. <ColumnDefinition Width="40"/>
  358. <ColumnDefinition />
  359. </Grid.ColumnDefinitions>
  360. <Rectangle Fill="LimeGreen" Stroke="Black" StrokeThickness="1"/>
  361. <TextBlock Text="Process Complete" Grid.Column="1" Margin="10,0,0,0" Foreground="{DynamicResource FG_Black}" FontSize="14" FontFamily="Arial" VerticalAlignment="Center"/>
  362. </Grid>
  363. <Grid Width="180" Height="20" Margin="0,5,0,0" HorizontalAlignment="Left">
  364. <Grid.ColumnDefinitions>
  365. <ColumnDefinition Width="40"/>
  366. <ColumnDefinition />
  367. </Grid.ColumnDefinitions>
  368. <Rectangle Fill="Red" Stroke="Black" StrokeThickness="1"/>
  369. <TextBlock Text="Error" Grid.Column="1" Margin="10,0,0,0" Foreground="{DynamicResource FG_Black}" FontSize="14" FontFamily="Arial" VerticalAlignment="Center"/>
  370. </Grid>
  371. </StackPanel>
  372. </Border>
  373. <Border Grid.Row="2" BorderBrush="{DynamicResource MainFrame_BD}" BorderThickness="1,0,1,1" Background="{DynamicResource MainFrame_BG_Title}" Padding="5,1">
  374. </Border>
  375. <Border Grid.Row="3" BorderBrush="{DynamicResource MainFrame_BD}" BorderThickness="1,0,1,1" Padding="5,1">
  376. <StackPanel HorizontalAlignment="Center" VerticalAlignment="Top" Margin="0,8">
  377. <Grid>
  378. <Grid.ColumnDefinitions>
  379. <ColumnDefinition Width="0"/>
  380. <ColumnDefinition />
  381. </Grid.ColumnDefinitions>
  382. <deviceControl:AITSensor Margin="-30,0,5,0" GreenColor="True" LightOnValue="{Binding IsRtInitialized}"></deviceControl:AITSensor>
  383. <Button Grid.Column="1" Content="Initialize" Width="120" Height="25" Command="{Binding HomeAllCommand}">
  384. </Button>
  385. </Grid>
  386. <Grid Margin="0,8,0,0">
  387. <Grid.ColumnDefinitions>
  388. <ColumnDefinition Width="0"/>
  389. <ColumnDefinition />
  390. </Grid.ColumnDefinitions>
  391. <Button Grid.Column="1" Content="Abort" Width="120" Height="25" Command="{Binding AbortAllCommand}">
  392. </Button>
  393. </Grid>
  394. <Grid Margin="0,8,0,0">
  395. <Grid.ColumnDefinitions>
  396. <ColumnDefinition Width="0"/>
  397. <ColumnDefinition />
  398. </Grid.ColumnDefinitions>
  399. <Button Grid.Column="1" Content="Pause" Width="120" Height="25" IsEnabled="{Binding IsPauseAllEnable}" Command="{Binding PauseAllJobCommand}">
  400. </Button>
  401. </Grid>
  402. <Grid Margin="0,8,0,0">
  403. <Grid.ColumnDefinitions>
  404. <ColumnDefinition Width="0"/>
  405. <ColumnDefinition />
  406. </Grid.ColumnDefinitions>
  407. <Button Grid.Column="1" Content="Return Wafer" Width="120" Height="25" Command="{Binding ReturnAllWaferCommand}">
  408. </Button>
  409. </Grid>
  410. </StackPanel>
  411. </Border>
  412. <Border Grid.Row="4" BorderBrush="{DynamicResource MainFrame_BD}" BorderThickness="1,0,1,1" Background="{DynamicResource MainFrame_BG_Title}" Padding="5,1">
  413. </Border>
  414. <Border Grid.Row="5" BorderBrush="{DynamicResource MainFrame_BD}" BorderThickness="1,0,1,1" Padding="5,1">
  415. <StackPanel HorizontalAlignment="Center" VerticalAlignment="Top" Margin="0,5">
  416. <Button IsEnabled="{Binding RtDataValues[System.IsAutoMode],Converter={StaticResource BoolToBool}}" Margin ="5" Content="Auto" Width="80" Height="25" Command="{Binding EnableAutoCommand}">
  417. </Button>
  418. <Button IsEnabled="{Binding RtDataValues[System.IsAutoMode]}" Margin ="5" Content="Manual" Width="80" Height="25" Command="{Binding EnableManualCommand}">
  419. </Button>
  420. <Grid x:Name="Cycle_Info" Visibility="{Binding IsCycleInfoVisibility}" Margin="0,10,0,0">
  421. <Grid.ColumnDefinitions>
  422. <ColumnDefinition Width="110"/>
  423. <ColumnDefinition Width="70"/>
  424. </Grid.ColumnDefinitions>
  425. <Grid.RowDefinitions>
  426. <RowDefinition Height="25"/>
  427. <RowDefinition Height="24"/>
  428. <RowDefinition Height="24"/>
  429. <RowDefinition Height="24"/>
  430. </Grid.RowDefinitions>
  431. <TextBlock Grid.ColumnSpan="2" Text="Cycle Information" FontFamily="Arial" FontSize="14" Foreground="{DynamicResource FG_Black}" HorizontalAlignment="Center" VerticalAlignment="Center" Margin="0,0,0,3"/>
  432. <Border BorderBrush="{DynamicResource Table_BD}" BorderThickness="1" Background="{DynamicResource Table_BG_Title}" Grid.Row="1" Padding="5,1">
  433. <TextBlock Text="Wafer Count" TextWrapping="Wrap" Foreground="{DynamicResource FG_Black}" FontSize="14" FontFamily="Arial" VerticalAlignment="Center"/>
  434. </Border>
  435. <Border BorderBrush="{DynamicResource Table_BD}" BorderThickness="0,1,1,1" Background="{DynamicResource Table_BG_Content}" Grid.Row="1" Grid.Column="1" Padding="5,1">
  436. <TextBlock Text="{Binding RtDataValues[Scheduler.CycledWafer]}" TextWrapping="Wrap" Foreground="{DynamicResource FG_Black}" FontSize="14" FontFamily="Arial" VerticalAlignment="Center"/>
  437. </Border>
  438. <Border BorderBrush="{DynamicResource Table_BD}" BorderThickness="1,0,1,1" Background="{DynamicResource Table_BG_Title}" Grid.Row="2" Padding="5,1">
  439. <TextBlock Text="Cycle Count" TextWrapping="Wrap" Foreground="{DynamicResource FG_Black}" FontSize="14" FontFamily="Arial" VerticalAlignment="Center"/>
  440. </Border>
  441. <Border BorderBrush="{DynamicResource Table_BD}" BorderThickness="0,0,1,1" Background="{DynamicResource Table_BG_Content}" Grid.Row="2" Grid.Column="1" Padding="5,1">
  442. <TextBlock TextWrapping="Wrap" Foreground="{DynamicResource FG_Black}" FontSize="14" FontFamily="Arial" VerticalAlignment="Center">
  443. <TextBlock.Text>
  444. <MultiBinding StringFormat="{}{0}/{1}">
  445. <Binding Path="RtDataValues[Scheduler.CycleSetPoint]"></Binding>
  446. <Binding Path="RtDataValues[Scheduler.CycledCount]"></Binding>
  447. </MultiBinding>
  448. </TextBlock.Text>
  449. </TextBlock>
  450. </Border>
  451. <Border BorderBrush="{DynamicResource Table_BD}" BorderThickness="1" Background="{DynamicResource Table_BG_Title}" Grid.Row="3" Padding="5,1">
  452. <TextBlock Text="Throughput" TextWrapping="Wrap" Foreground="{DynamicResource FG_Black}" FontSize="14" FontFamily="Arial" VerticalAlignment="Center"/>
  453. </Border>
  454. <Border BorderBrush="{DynamicResource Table_BD}" BorderThickness="0,1,1,1" Background="{DynamicResource Table_BG_Content}" Grid.Row="3" Grid.Column="1" Padding="5,1">
  455. <TextBlock Text="{Binding RtDataValues[Scheduler.Throughput]}" TextWrapping="Wrap" Foreground="{DynamicResource FG_Black}" FontSize="14" FontFamily="Arial" VerticalAlignment="Center"/>
  456. </Border>
  457. </Grid>
  458. <TextBlock Grid.ColumnSpan="2" Text="{Binding ATMModeIsOn}" FontFamily="Arial" FontSize="14" Foreground="{DynamicResource FG_Black}" HorizontalAlignment="Center" VerticalAlignment="Center" Margin="0,20,0,0"/>
  459. </StackPanel>
  460. </Border>
  461. </Grid>
  462. <userControls:TextboxWithLabel Canvas.Left="710" Canvas.Top="425" LabelValue="CM4(mTorr)" TextBoxValue="{Binding RtDataValues[TM.LLBPressureGauge.Value],StringFormat='F1'}" TextBoxColor="#D7E4BD"/>
  463. <Ellipse Width="15" Height="15" Canvas.Left="790" Canvas.Top="426" Fill="{Binding RtDataValues[TM.LLBATMSwitch.Value],Converter={StaticResource boolToColor}}" Stroke="Silver" StrokeThickness="2"></Ellipse>
  464. <Ellipse Width="15" Height="15" Canvas.Left="790" Canvas.Top="446" Fill="{Binding RtDataValues[TM.LLBVacSwitch.Value],Converter={StaticResource boolToColor}}" Stroke="Silver" StrokeThickness="2"></Ellipse>
  465. <TextBlock Text="ATM" Canvas.Left="810" Canvas.Top="426"/>
  466. <TextBlock Text="VAC" Canvas.Left="810" Canvas.Top="446"/>
  467. <userControls:TextboxWithLabel Canvas.Left="356" Canvas.Top="425" LabelValue="CM5(mTorr)" TextBoxValue="{Binding RtDataValues[TM.LLAPressureGauge.Value],StringFormat='F1'}" TextBoxColor="#D7E4BD"/>
  468. <Ellipse Width="15" Height="15" Canvas.Left="330" Canvas.Top="426" Fill="{Binding RtDataValues[TM.LLAATMSwitch.Value],Converter={StaticResource boolToColor}}" Stroke="Silver" StrokeThickness="2"></Ellipse>
  469. <Ellipse Width="15" Height="15" Canvas.Left="330" Canvas.Top="446" Fill="{Binding RtDataValues[TM.LLAVacSwitch.Value],Converter={StaticResource boolToColor}}" Stroke="Silver" StrokeThickness="2"></Ellipse>
  470. <TextBlock Text="ATM" Canvas.Left="300" Canvas.Top="426"/>
  471. <TextBlock Text="VAC" Canvas.Left="300" Canvas.Top="446"/>
  472. </Canvas>
  473. </UserControl>