PmOverviewView.xaml 103 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427
  1. <UserControl x:Class="VirgoUI.Client.Models.PMs.PmOverviewView"
  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:i="http://schemas.microsoft.com/expression/2010/interactivity"
  7. xmlns:ctrl="http://OpenSEMI.Ctrlib.com/presentation"
  8. xmlns:cal="http://www.caliburn.org"
  9. xmlns:deviceControl="clr-namespace:Aitex.Core.UI.DeviceControl;assembly=MECF.Framework.UI.Core"
  10. xmlns:control="clr-namespace:Aitex.Core.UI.Control;assembly=MECF.Framework.UI.Core"
  11. xmlns:parts="clr-namespace:VirgoUI.Controls.Parts"
  12. xmlns:pMs="clr-namespace:VirgoUI.Client.Models.PMs"
  13. xmlns:converters="clr-namespace:Aitex.Core.UI.Converters;assembly=MECF.Framework.UI.Core"
  14. xmlns:parts1="clr-namespace:VirgoUI.Client.Controls.Parts"
  15. mc:Ignorable="d" IsEnabled="{Binding PageEnabled}"
  16. d:DesignHeight="800" d:DesignWidth="1530">
  17. <UserControl.Resources>
  18. <converters:bool2VisibilityConverter x:Key="bool2VisibilityConvert"/>
  19. <Storyboard x:Key="SlitValve_Open">
  20. <DoubleAnimationUsingKeyFrames Storyboard.TargetProperty="(FrameworkElement.Height)" >
  21. <EasingDoubleKeyFrame KeyTime="0" Value="75"/>
  22. <EasingDoubleKeyFrame KeyTime="0:0:0.5" Value="55"/>
  23. </DoubleAnimationUsingKeyFrames>
  24. </Storyboard>
  25. <Storyboard x:Key="SlitValve_Close">
  26. <DoubleAnimationUsingKeyFrames Storyboard.TargetProperty="(FrameworkElement.Height)" >
  27. <EasingDoubleKeyFrame KeyTime="0" Value="55"/>
  28. <EasingDoubleKeyFrame KeyTime="0:0:0.5" Value="75"/>
  29. </DoubleAnimationUsingKeyFrames>
  30. </Storyboard>
  31. <Style TargetType="{x:Type Rectangle}" x:Key="SlitValve_Animation" >
  32. <Style.Triggers>
  33. <DataTrigger Binding="{Binding IsSlitValveOpen}" Value="true">
  34. <DataTrigger.EnterActions>
  35. <BeginStoryboard Storyboard="{StaticResource SlitValve_Open}"/>
  36. </DataTrigger.EnterActions>
  37. <DataTrigger.ExitActions>
  38. <BeginStoryboard Storyboard="{StaticResource SlitValve_Close}"/>
  39. </DataTrigger.ExitActions>
  40. </DataTrigger>
  41. </Style.Triggers>
  42. </Style>
  43. <DataTemplate x:Key="Default">
  44. <Grid>
  45. <Grid.ColumnDefinitions>
  46. <ColumnDefinition Width="125"></ColumnDefinition>
  47. <ColumnDefinition></ColumnDefinition>
  48. </Grid.ColumnDefinitions>
  49. <Border BorderBrush="{DynamicResource Table_BD}" BorderThickness="0,0,1,0" Grid.Row="0" Padding="0">
  50. <TextBlock Text="{Binding Feedback}" TextAlignment="Center" Width="90" Margin="0"></TextBlock>
  51. </Border>
  52. <TextBlock Text="{Binding Setpoint}" Grid.Column="1" TextAlignment="Center" Width="90">
  53. <TextBlock.Style>
  54. <Style>
  55. <Setter Property="TextBlock.Visibility" Value="Collapsed" ></Setter>
  56. <Style.Triggers>
  57. <DataTrigger Binding="{Binding SetpointEnabled}" Value="False">
  58. <Setter Property="TextBlock.Visibility" Value="Visible" ></Setter>
  59. </DataTrigger>
  60. </Style.Triggers>
  61. </Style>
  62. </TextBlock.Style>
  63. </TextBlock>
  64. <!--<TextBox Width="50" Text="10"></TextBox>-->
  65. <ctrl:TextBoxEx AllowBackgroundChange="False" Background="White" ChangedColor="White" NormalColor="White" WarningColor="White" Text="{Binding Setpoint, UpdateSourceTrigger=PropertyChanged}" TextSaved="{Binding SetpointSaved, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" Grid.Column="1" Width="90">
  66. <!--<i:Interaction.Triggers>
  67. <i:EventTrigger EventName="KeyDown">
  68. <cal:ActionMessage MethodName="SetParameter">
  69. <cal:Parameter Value="$eventargs" />
  70. <cal:Parameter Value="{Binding }" />
  71. </cal:ActionMessage>
  72. </i:EventTrigger>
  73. </i:Interaction.Triggers>-->
  74. <TextBox.Style>
  75. <Style>
  76. <Setter Property="TextBox.Visibility" Value="Collapsed" ></Setter>
  77. <Style.Triggers>
  78. <DataTrigger Binding="{Binding SetpointEnabled}" Value="True">
  79. <Setter Property="TextBox.Visibility" Value="Visible" ></Setter>
  80. </DataTrigger>
  81. </Style.Triggers>
  82. </Style>
  83. </TextBox.Style>
  84. </ctrl:TextBoxEx>
  85. </Grid>
  86. </DataTemplate>
  87. <DataTemplate x:Key="Share">
  88. <TextBlock Text="{Binding Feedback}" Width="250" TextAlignment="Center"></TextBlock>
  89. </DataTemplate>
  90. <DataTemplate x:Key="DropdownList">
  91. <Grid>
  92. <Grid.ColumnDefinitions>
  93. <ColumnDefinition Width="125"></ColumnDefinition>
  94. <ColumnDefinition></ColumnDefinition>
  95. </Grid.ColumnDefinitions>
  96. <Border BorderBrush="{DynamicResource Table_BD}" BorderThickness="0,0,1,0" Grid.Row="0" Padding="0">
  97. <TextBlock Text="{Binding Feedback}" TextAlignment="Center" Width="90" Margin="0"></TextBlock>
  98. </Border>
  99. <ComboBox ItemsSource="{Binding Selections}" SelectedValue="{Binding Setpoint, UpdateSourceTrigger=PropertyChanged}" Grid.Column="1" Width="120"></ComboBox>
  100. </Grid>
  101. </DataTemplate>
  102. <DataTemplate x:Key="ListBoxDataTemp">
  103. <Canvas Width="60" Height="200">
  104. <Grid Width="60">
  105. <Grid.RowDefinitions>
  106. <RowDefinition Height="20"/>
  107. <RowDefinition Height="20"/>
  108. </Grid.RowDefinitions>
  109. <!--<TextBlock Text="{Binding Display}" FontFamily="Arial" TextAlignment="Center" FontSize="14" Foreground="{DynamicResource FG_Black}" HorizontalAlignment="Center" VerticalAlignment="Center"/>-->
  110. <TextBlock Grid.Row="1" Text="{Binding MfcData.DisplayName}" FontFamily="Arial" TextAlignment="Center" FontSize="14" Foreground="{DynamicResource FG_Black}" VerticalAlignment="Center" HorizontalAlignment="Center"/>
  111. </Grid>
  112. <ctrl:Gasline Orientation="Vertical" Height="160" Canvas.Left="27" Canvas.Top="40"/>
  113. <ctrl:GaslineJoint JointType="UP" Canvas.Left="27" Canvas.Top="200"/>
  114. <control:FlowPipeV2 Width="200" Height="8" FlowOrientation="Vertical" IsFlowing="{Binding ValveData.Feedback}" Canvas.Left="35" Canvas.Top="41" />
  115. <control:FlowPipeV2 Width="50" Height="8" FlowOrientation="Vertical" IsFlowing="{Binding ValveData.Feedback}" Canvas.Left="35" Canvas.Top="100" />
  116. <deviceControl:AITGasValve Canvas.Left="14" Canvas.Top="130" ValveOpenOrientation="Vertical" DeviceData="{Binding ValveData}" EnableServiceControl="True" IsAutoMode="{Binding RelativeSource={RelativeSource FindAncestor,AncestorType={x:Type UserControl}},Path= DataContext.IsAutoMode}" />
  117. <control:MfcControl Canvas.Left="10" Canvas.Top="90" DeviceData="{Binding MfcData}" IsAutoMode="{Binding RelativeSource={RelativeSource FindAncestor,AncestorType={x:Type UserControl}},Path= DataContext.IsAutoMode}" />
  118. </Canvas>
  119. </DataTemplate>
  120. <pMs:PMTemplateSelector x:Key="SPSelector" DefaultTemplate="{StaticResource Default}" ShareTemplate="{StaticResource Share}" DropDownListTemplate="{StaticResource DropdownList}" />
  121. </UserControl.Resources>
  122. <Grid>
  123. <Grid.ColumnDefinitions>
  124. <ColumnDefinition />
  125. <ColumnDefinition Width="Auto"/>
  126. <ColumnDefinition Width="Auto"/>
  127. </Grid.ColumnDefinitions>
  128. <Canvas Grid.Column="0" Width="800" Height="800" HorizontalAlignment="Center" VerticalAlignment="Center" Margin="0 0 20 0" >
  129. <!--Lid 盖子,其实没有Lid开关控制信号,盖子上有把锁, 和温度有interlock-->
  130. <!--<Grid Width="220" HorizontalAlignment="Center" VerticalAlignment="Top" Canvas.Left="425" Canvas.Top="10">
  131. <Grid.RowDefinitions>
  132. <RowDefinition Height="24"/>
  133. <RowDefinition Height="40"/>
  134. <RowDefinition />
  135. </Grid.RowDefinitions>
  136. <Border BorderBrush="{DynamicResource Table_BD}" BorderThickness="1" Background="{DynamicResource Table_BG_Title}" Grid.Row="0" Grid.Column="0" Padding="5,1">
  137. <TextBlock Text="Lid Control" TextWrapping="Wrap" TextAlignment="Center" Foreground="{DynamicResource FG_Black}" FontSize="12" FontFamily="Arial" VerticalAlignment="Center"/>
  138. </Border>
  139. <Border BorderBrush="{DynamicResource Table_BD}" BorderThickness="1,0,1,1" Background="{DynamicResource Table_BG_Content}" Grid.Row="1" Grid.ColumnSpan="2" Padding="5,1">
  140. <StackPanel Orientation="Horizontal" HorizontalAlignment="Center" >
  141. <Button Content="Open Lid" IsEnabled="{Binding EnableOpenLid}" Width="90" Height="25" Margin="0">
  142. <i:Interaction.Triggers>
  143. <i:EventTrigger EventName="Click">
  144. <cal:ActionMessage MethodName="OpenLid"></cal:ActionMessage>
  145. </i:EventTrigger>
  146. </i:Interaction.Triggers>
  147. </Button>
  148. <Button Content="Close Lid" IsEnabled="{Binding EnableCloseLid}" Width="90" Height="25" Margin="5">
  149. <i:Interaction.Triggers>
  150. <i:EventTrigger EventName="Click">
  151. <cal:ActionMessage MethodName="CloseLid"></cal:ActionMessage>
  152. </i:EventTrigger>
  153. </i:Interaction.Triggers>
  154. </Button>
  155. </StackPanel>
  156. </Border>
  157. </Grid>-->
  158. <!--DI switch signals-->
  159. <Grid Canvas.Left="45" Canvas.Top="90">
  160. <Grid.ColumnDefinitions>
  161. <ColumnDefinition Width="100"/>
  162. <ColumnDefinition Width="105"/>
  163. <ColumnDefinition Width="100"/>
  164. <ColumnDefinition Width="105"/>
  165. </Grid.ColumnDefinitions>
  166. <Grid.RowDefinitions>
  167. <RowDefinition Height="25"/>
  168. <RowDefinition Height="25"/>
  169. <RowDefinition Height="25"/>
  170. <RowDefinition Height="25"/>
  171. </Grid.RowDefinitions>
  172. <!--chamber status-->
  173. <Border BorderBrush="{DynamicResource Table_BD}" BorderThickness="1" Background="{DynamicResource Table_BG_Title}" Grid.Row="0" Padding="5,1">
  174. <TextBlock Text="State" TextWrapping="Wrap" Foreground="{DynamicResource FG_Black}" FontSize="12" FontFamily="Arial" VerticalAlignment="Center"/>
  175. </Border>
  176. <Border BorderBrush="{DynamicResource Table_BD}" BorderThickness="0,1,1,1" Background="{DynamicResource Table_BG_Content}" Grid.Row="0" Grid.Column="1" Padding="5,1">
  177. <TextBlock Text="{Binding Path=ChamberStatus}" Background="{Binding ChamberStatusBkColor}" TextAlignment="Center" VerticalAlignment="Center"/>
  178. </Border>
  179. <!--SensorWaterFlowOk-->
  180. <Border BorderBrush="{DynamicResource Table_BD}" BorderThickness="1,0,1,1" Background="{DynamicResource Table_BG_Title}" Grid.Row="1" Padding="5,1">
  181. <TextBlock Text="Water Flow" TextWrapping="Wrap" Foreground="{DynamicResource FG_Black}" FontSize="12" FontFamily="Arial" VerticalAlignment="Center"/>
  182. </Border>
  183. <Border BorderBrush="{DynamicResource Table_BD}" BorderThickness="0,0,1,1" Background="{DynamicResource Table_BG_Content}" Grid.Row="1" Grid.Column="1" Padding="5,1">
  184. <deviceControl:AITSensor IsInterlockMode="True" DeviceData="{Binding SensorWaterFlowOk}" />
  185. </Border>
  186. <!--SensorCDAPressureOk-->
  187. <Border BorderBrush="{DynamicResource Table_BD}" BorderThickness="1,0,1,1" Background="{DynamicResource Table_BG_Title}" Grid.Row="2" Padding="5,1">
  188. <TextBlock Text="CDA" TextWrapping="Wrap" Foreground="{DynamicResource FG_Black}" FontSize="12" FontFamily="Arial" VerticalAlignment="Center"/>
  189. </Border>
  190. <Border BorderBrush="{DynamicResource Table_BD}" BorderThickness="0,0,1,1" Background="{DynamicResource Table_BG_Content}" Grid.Row="2" Grid.Column="1" Padding="5,1">
  191. <StackPanel Orientation="Horizontal" HorizontalAlignment="Center">
  192. <deviceControl:AITSensor IsInterlockMode="True" DeviceData="{Binding SensorCDAPressureOk}"/>
  193. <!--<deviceControl:AITSensor IsInterlockMode="True" DeviceData="{Binding SensorCDAPressureOk2}" Margin="10,0,0,0"/>-->
  194. </StackPanel>
  195. </Border>
  196. <!--SourceFan1-->
  197. <Border BorderBrush="{DynamicResource Table_BD}" BorderThickness="1,0,1,1" Background="{DynamicResource Table_BG_Title}" Grid.Row="3" Padding="5,1">
  198. <TextBlock Text="Fan" TextWrapping="Wrap" Foreground="{DynamicResource FG_Black}" FontSize="12" FontFamily="Arial" VerticalAlignment="Center"/>
  199. </Border>
  200. <Border BorderBrush="{DynamicResource Table_BD}" BorderThickness="0,0,1,1" Background="{DynamicResource Table_BG_Content}" Grid.Row="3" Grid.Column="1" Padding="5,1">
  201. <StackPanel Orientation="Horizontal" HorizontalAlignment="Center">
  202. <deviceControl:AITSensor IsInterlockMode="True" DeviceData="{Binding SourceFan1}" />
  203. </StackPanel>
  204. </Border>
  205. <!--SensorWaterLeakOk-->
  206. <Border BorderBrush="{DynamicResource Table_BD}" BorderThickness="0,1,1,1" Background="{DynamicResource Table_BG_Title}" Grid.Row="0" Grid.Column="2" Padding="5,1">
  207. <TextBlock Text="PM Water Leak" TextWrapping="Wrap" Foreground="{DynamicResource FG_Black}" FontSize="12" FontFamily="Arial" VerticalAlignment="Center"/>
  208. </Border>
  209. <Border BorderBrush="{DynamicResource Table_BD}" BorderThickness="0,1,1,1" Background="{DynamicResource Table_BG_Content}" Grid.Row="0" Grid.Column="3" Padding="5,1">
  210. <deviceControl:AITSensor IsInterlockMode="True" DeviceData="{Binding SensorWaterLeakOk}" />
  211. </Border>
  212. <!--SensorArmNotExtend-->
  213. <Border BorderBrush="{DynamicResource Table_BD}" BorderThickness="0,0,1,1" Background="{DynamicResource Table_BG_Title}" Grid.Row="2" Grid.Column="2" Padding="5,1">
  214. <TextBlock Text="Arm Not Extend" TextWrapping="Wrap" Foreground="{DynamicResource FG_Black}" FontSize="12" FontFamily="Arial" VerticalAlignment="Center"/>
  215. </Border>
  216. <Border BorderBrush="{DynamicResource Table_BD}" BorderThickness="0,0,1,1" Background="{DynamicResource Table_BG_Content}" Grid.Row="2" Grid.Column="3" Padding="5,1">
  217. <deviceControl:AITSensor IsInterlockMode="True" DeviceData="{Binding SensorArmNotExtend}" />
  218. </Border>
  219. <!--ATM Switch-->
  220. <Border BorderBrush="{DynamicResource Table_BD}" BorderThickness="0,0,1,1" Background="{DynamicResource Table_BG_Title}" Grid.Row="3" Grid.Column="2" Padding="5,1">
  221. <TextBlock Text="ATM" TextWrapping="Wrap" Foreground="{DynamicResource FG_Black}" FontSize="12" FontFamily="Arial" VerticalAlignment="Center"/>
  222. </Border>
  223. <Border BorderBrush="{DynamicResource Table_BD}" BorderThickness="0,0,1,1" Background="{DynamicResource Table_BG_Content}" Grid.Row="3" Grid.Column="3" Padding="5,1">
  224. <deviceControl:AITSensor GreenColor="True" DeviceData="{Binding SensorATMSwitch}" />
  225. </Border>
  226. <!--VAC switch-->
  227. <Border BorderBrush="{DynamicResource Table_BD}" BorderThickness="0,0,1,1" Background="{DynamicResource Table_BG_Title}" Grid.Row="1" Grid.Column="2" Padding="5,1">
  228. <TextBlock Text="Vac" TextWrapping="Wrap" Foreground="{DynamicResource FG_Black}" FontSize="12" FontFamily="Arial" VerticalAlignment="Center"/>
  229. </Border>
  230. <Border BorderBrush="{DynamicResource Table_BD}" BorderThickness="0,0,1,1" Background="{DynamicResource Table_BG_Content}" Grid.Row="1" Grid.Column="3" Padding="5,1">
  231. <deviceControl:AITSensor GreenColor="True" DeviceData="{Binding SensorVacSwitch}" />
  232. </Border>
  233. </Grid>
  234. <Canvas Canvas.Left="121" Canvas.Top="280" >
  235. <!-- Fast vent valve-->
  236. <TextBlock Text="Vent" FontFamily="Arial" TextAlignment="Center" FontSize="14" Foreground="{DynamicResource FG_Black}" Canvas.Left="212" Canvas.Top="-87"/>
  237. <TextBlock Text="Purge" FontFamily="Arial" TextAlignment="Center" FontSize="14" Foreground="{DynamicResource FG_Black}" Canvas.Left="252" Canvas.Top="-60"/>
  238. <ctrl:Gasline Orientation="Vertical" Height="166" Canvas.Left="220" Canvas.Top="-66" />
  239. <control:FlowPipeV2 Width="168" Height="7" IsFlowing="{Binding FastVentVlv.Feedback}" Canvas.Left="228" Canvas.Top="-66" >
  240. <control:FlowPipeV2.RenderTransform>
  241. <RotateTransform Angle="90"></RotateTransform>
  242. </control:FlowPipeV2.RenderTransform>
  243. </control:FlowPipeV2>
  244. <deviceControl:AITGasValve Canvas.Left="208" Canvas.Top="-19" ValveOpenOrientation="Vertical" DeviceData="{Binding FastVentVlv}" EnableServiceControl="{Binding enableServiceControl}" IsAutoMode="{Binding IsAutoMode}"/>
  245. <ctrl:Gasline Orientation="Vertical" Height="73" Canvas.Left="265" Canvas.Top="-41" />
  246. <ctrl:Gasline Orientation="Horizontal" Canvas.Left="227" Canvas.Top="-41" Width="38" />
  247. <ctrl:Gasline Orientation="Horizontal" Canvas.Left="227" Canvas.Top="27" Width="38" />
  248. <ctrl:GaslineJoint JointType="RIGHT" Canvas.Left="220" Canvas.Top="27" />
  249. <ctrl:GaslineJoint JointType="RIGHT_BOTTOM" Canvas.Left="265" Canvas.Top="27" />
  250. <ctrl:GaslineJoint JointType="RIGHT_TOP" Canvas.Left="265" Canvas.Top="-41" />
  251. <ctrl:GaslineJoint JointType="RIGHT" Canvas.Left="220" Canvas.Top="-41" />
  252. <control:FlowPipeV2 Width="38" Height="8" IsFlowing="{Binding SoftVentVlv.Feedback}" Visibility="{Binding Path=SoftVentVlv.Feedback, Converter={StaticResource bool2VisibilityConvert}}" Canvas.Left="227" Canvas.Top="-41" />
  253. <control:FlowPipeV2 Width="29" Height="8" IsFlowing="{Binding SoftVentVlv.Feedback}" Visibility="{Binding Path=SoftVentVlv.Feedback, Converter={StaticResource bool2VisibilityConvert}}" Canvas.Left="210" Canvas.Top="-55" RenderTransformOrigin="0.5,0.5" >
  254. <control:FlowPipeV2.RenderTransform>
  255. <TransformGroup>
  256. <ScaleTransform/>
  257. <SkewTransform/>
  258. <RotateTransform Angle="90"/>
  259. <TranslateTransform/>
  260. </TransformGroup>
  261. </control:FlowPipeV2.RenderTransform>
  262. </control:FlowPipeV2>
  263. <control:FlowPipeV2 Width="77" Height="8" IsFlowing="{Binding SoftVentVlv.Feedback}" Visibility="{Binding Path=SoftVentVlv.Feedback, Converter={StaticResource bool2VisibilityConvert}}" Canvas.Left="231" Canvas.Top="-7" RenderTransformOrigin="0.5,0.5" >
  264. <control:FlowPipeV2.RenderTransform>
  265. <TransformGroup>
  266. <ScaleTransform/>
  267. <SkewTransform/>
  268. <RotateTransform Angle="90"/>
  269. <TranslateTransform/>
  270. </TransformGroup>
  271. </control:FlowPipeV2.RenderTransform>
  272. </control:FlowPipeV2>
  273. <control:FlowPipeV2 Width="62" Height="8" IsFlowing="{Binding SoftVentVlv.Feedback}" Visibility="{Binding Path=SoftVentVlv.Feedback, Converter={StaticResource bool2VisibilityConvert}}" Canvas.Left="194" Canvas.Top="56" RenderTransformOrigin="0.5,0.5" >
  274. <control:FlowPipeV2.RenderTransform>
  275. <TransformGroup>
  276. <ScaleTransform/>
  277. <SkewTransform/>
  278. <RotateTransform Angle="90"/>
  279. <TranslateTransform/>
  280. </TransformGroup>
  281. </control:FlowPipeV2.RenderTransform>
  282. </control:FlowPipeV2>
  283. <control:FlowPipeV2 Width="38" Height="8" IsFlowing="{Binding SoftVentVlv.Feedback}" Visibility="{Binding Path=SoftVentVlv.Feedback, Converter={StaticResource bool2VisibilityConvert}}" Canvas.Left="227" Canvas.Top="27" RenderTransformOrigin="0.5,0.5" >
  284. <control:FlowPipeV2.RenderTransform>
  285. <TransformGroup>
  286. <ScaleTransform/>
  287. <SkewTransform/>
  288. <RotateTransform Angle="180"/>
  289. <TranslateTransform/>
  290. </TransformGroup>
  291. </control:FlowPipeV2.RenderTransform>
  292. </control:FlowPipeV2>
  293. <deviceControl:AITGasValve Canvas.Left="253" Canvas.Top="-18" ValveOpenOrientation="Vertical" DeviceData="{Binding SoftVentVlv}" EnableServiceControl="{Binding enableServiceControl}" IsAutoMode="{Binding IsAutoMode}"/>
  294. </Canvas>
  295. <ctrl:Gasline Width="430" Canvas.Left="15" Canvas.Top="376" />
  296. <!--<control:FlowPipeV2 Width="170" Height="8" IsFlowing="{Binding GP1Valve.Feedback}" Canvas.Left="50" Canvas.Top="292" RenderTransformOrigin="0.5,0.5" >
  297. <control:FlowPipeV2.RenderTransform>
  298. <TransformGroup>
  299. <ScaleTransform/>
  300. <SkewTransform/>
  301. <RotateTransform Angle="90"/>
  302. <TranslateTransform/>
  303. </TransformGroup>
  304. </control:FlowPipeV2.RenderTransform>
  305. </control:FlowPipeV2>
  306. <control:FlowPipeV2 Width="170" Height="8" IsFlowing="{Binding GP2Valve.Feedback}" Canvas.Left="112" Canvas.Top="296" RenderTransformOrigin="0.5,0.5" >
  307. <control:FlowPipeV2.RenderTransform>
  308. <TransformGroup>
  309. <ScaleTransform/>
  310. <SkewTransform/>
  311. <RotateTransform Angle="90"/>
  312. <TranslateTransform/>
  313. </TransformGroup>
  314. </control:FlowPipeV2.RenderTransform>
  315. </control:FlowPipeV2>
  316. <control:FlowPipeV2 Width="170" Height="8" IsFlowing="{Binding GP3Valve.Feedback}" Canvas.Left="180" Canvas.Top="295" RenderTransformOrigin="0.5,0.5" >
  317. <control:FlowPipeV2.RenderTransform>
  318. <TransformGroup>
  319. <ScaleTransform/>
  320. <SkewTransform/>
  321. <RotateTransform Angle="90"/>
  322. <TranslateTransform/>
  323. </TransformGroup>
  324. </control:FlowPipeV2.RenderTransform>
  325. </control:FlowPipeV2>-->
  326. <ItemsControl Canvas.Left="-15" Canvas.Top="176" Width="300" Height="200" ItemsSource="{Binding Gaslines}"
  327. ItemTemplate="{StaticResource ListBoxDataTemp}" Focusable="False" HorizontalAlignment="Left" VerticalAlignment="Top" >
  328. <ItemsControl.ItemsPanel>
  329. <ItemsPanelTemplate >
  330. <VirtualizingStackPanel Orientation="Horizontal"/>
  331. </ItemsPanelTemplate>
  332. </ItemsControl.ItemsPanel>
  333. </ItemsControl>
  334. <control:FlowPipeV2 Width="430" Height="8" Canvas.Left="15" Canvas.Top="376" >
  335. <control:FlowPipeV2.IsFlowing>
  336. <MultiBinding>
  337. <MultiBinding.Converter>
  338. <converters:FlowConverterFirstFalseMultiBinding></converters:FlowConverterFirstFalseMultiBinding>
  339. </MultiBinding.Converter>
  340. <MultiBinding.Bindings>
  341. <Binding Path="ProcessVlv.Feedback"></Binding>
  342. <Binding Path="GP1Valve.Feedback"></Binding>
  343. </MultiBinding.Bindings>
  344. </MultiBinding>
  345. </control:FlowPipeV2.IsFlowing>
  346. </control:FlowPipeV2>
  347. <control:FlowPipeV2 Width="365" Height="8" Canvas.Left="80" Canvas.Top="376" >
  348. <control:FlowPipeV2.IsFlowing>
  349. <MultiBinding>
  350. <MultiBinding.Converter>
  351. <converters:FlowConverterFirstFalseMultiBinding></converters:FlowConverterFirstFalseMultiBinding>
  352. </MultiBinding.Converter>
  353. <MultiBinding.Bindings>
  354. <Binding Path="ProcessVlv.Feedback"></Binding>
  355. <Binding Path="GP2Valve.Feedback"></Binding>
  356. </MultiBinding.Bindings>
  357. </MultiBinding>
  358. </control:FlowPipeV2.IsFlowing>
  359. </control:FlowPipeV2>
  360. <control:FlowPipeV2 Width="305" Height="8" Canvas.Left="140" Canvas.Top="376" >
  361. <control:FlowPipeV2.IsFlowing>
  362. <MultiBinding>
  363. <MultiBinding.Converter>
  364. <converters:FlowConverterFirstFalseMultiBinding></converters:FlowConverterFirstFalseMultiBinding>
  365. </MultiBinding.Converter>
  366. <MultiBinding.Bindings>
  367. <Binding Path="ProcessVlv.Feedback"></Binding>
  368. <Binding Path="GP3Valve.Feedback"></Binding>
  369. </MultiBinding.Bindings>
  370. </MultiBinding>
  371. </control:FlowPipeV2.IsFlowing>
  372. </control:FlowPipeV2>
  373. <control:FlowPipeV2 Width="252" Height="8" Canvas.Left="193" Canvas.Top="376" >
  374. <control:FlowPipeV2.IsFlowing>
  375. <MultiBinding>
  376. <MultiBinding.Converter>
  377. <converters:FlowConverterFirstFalseMultiBinding></converters:FlowConverterFirstFalseMultiBinding>
  378. </MultiBinding.Converter>
  379. <MultiBinding.Bindings>
  380. <Binding Path="ProcessVlv.Feedback"></Binding>
  381. <Binding Path="GP4Valve.Feedback"></Binding>
  382. </MultiBinding.Bindings>
  383. </MultiBinding>
  384. </control:FlowPipeV2.IsFlowing>
  385. </control:FlowPipeV2>
  386. <control:FlowPipeV2 Width="187" Height="8" Canvas.Left="258" Canvas.Top="376" >
  387. <control:FlowPipeV2.IsFlowing>
  388. <MultiBinding>
  389. <MultiBinding.Converter>
  390. <converters:FlowConverterFirstFalseMultiBinding></converters:FlowConverterFirstFalseMultiBinding>
  391. </MultiBinding.Converter>
  392. <MultiBinding.Bindings>
  393. <Binding Path="ProcessVlv.Feedback"></Binding>
  394. <Binding Path="GP5Valve.Feedback"></Binding>
  395. </MultiBinding.Bindings>
  396. </MultiBinding>
  397. </control:FlowPipeV2.IsFlowing>
  398. </control:FlowPipeV2>
  399. <control:FlowPipeV2 Width="105" Height="8" Canvas.Left="341" Canvas.Top="376" >
  400. <control:FlowPipeV2.IsFlowing>
  401. <MultiBinding>
  402. <MultiBinding.Converter>
  403. <converters:FlowConverterFirstFalseMultiBinding></converters:FlowConverterFirstFalseMultiBinding>
  404. </MultiBinding.Converter>
  405. <MultiBinding.Bindings>
  406. <Binding Path="ProcessVlv.Feedback"></Binding>
  407. <Binding Path="FastVentVlv.Feedback"></Binding>
  408. <Binding Path="SoftVentVlv.Feedback"></Binding>
  409. </MultiBinding.Bindings>
  410. </MultiBinding>
  411. </control:FlowPipeV2.IsFlowing>
  412. </control:FlowPipeV2>
  413. <!--<TextBlock Canvas.Left="62" Canvas.Top="198" Text="N2"></TextBlock>-->
  414. <!--<ctrl:Gasline Orientation="Vertical" Height="166" Canvas.Left="66" Canvas.Top="218" />-->
  415. <ctrl:GaslineJoint JointType="LEFT_BOTTOM" Canvas.Left="12" Canvas.Top="376" />
  416. <!--<ctrl:Gasline Height="8" Width="5" Canvas.Left="135" Canvas.Top="396" />-->
  417. <!--<deviceControl:AITGasValve Canvas.Left="53" Canvas.Top="302" ValveOpenOrientation="Vertical" DeviceData="{Binding N2PurgeValveData}" EnableServiceControl="True" />-->
  418. <deviceControl:AITGasValve Canvas.Left="405" Canvas.Top="365" ValveOpenOrientation="Horizontal" DeviceData="{Binding ProcessVlv}" EnableServiceControl="{Binding enableServiceControl}" IsAutoMode="{Binding IsAutoMode}"/>
  419. <!--chamber-->
  420. <Canvas Height="550" Width="350" Canvas.Left="445" Canvas.Top="171">
  421. <TextBlock Text="Bias Match" Canvas.Left="284" Canvas.Top="109" Visibility="{Binding Path=IsBiasMatchVisible, Converter={StaticResource bool2VisibilityConvert}}"/>
  422. <deviceControl:AITSensor Canvas.Left="264" Canvas.Top="109" GreenColor="True" LightOnValue="{Binding IsBiasMatchPowerOn}" Visibility="{Binding Path=IsBiasMatchVisible, Converter={StaticResource bool2VisibilityConvert}}"/>
  423. <TextBlock Text="Bias RF" Canvas.Left="284" Canvas.Top="129" Visibility="{Binding Path=IsBiasRfVisible, Converter={StaticResource bool2VisibilityConvert}}"/>
  424. <deviceControl:AITSensor Canvas.Left="264" Canvas.Top="129" GreenColor="True" LightOnValue="{Binding IsBiasRfPowerOn}" Visibility="{Binding Path=IsBiasRfVisible, Converter={StaticResource bool2VisibilityConvert}}"/>
  425. <deviceControl:AITRfGenerator DeviceData="{Binding RfBias}" Canvas.Left="250" Canvas.Top="144" IsAutoMode="{Binding IsAutoMode}" Visibility="{Binding Path=IsBiasRfVisible, Converter={StaticResource bool2VisibilityConvert}}"></deviceControl:AITRfGenerator>
  426. <TextBlock Text="RF" Canvas.Left="280" Canvas.Top="29" />
  427. <deviceControl:AITSensor Canvas.Left="260" Canvas.Top="29" GreenColor="True" LightOnValue="{Binding IsRfPowerOn}" />
  428. <deviceControl:AITRfGenerator DeviceData="{Binding Rf}" Canvas.Left="250" Canvas.Top="44" IsAutoMode="{Binding IsAutoMode}"></deviceControl:AITRfGenerator>
  429. <!--wall temperature-->
  430. <Canvas Visibility="{Binding WallHeaterVisibility}">
  431. <TextBlock Text="Wall TEMP" Canvas.Left="269" Canvas.Top="179" />
  432. <deviceControl:AITHeaterControl DeviceData="{Binding WallHeater}" Width="80" Canvas.Left="256" Canvas.Top="194" IsAutoMode="{Binding IsAutoMode}"/>
  433. </Canvas>
  434. <!--substrate heater temperature-->
  435. <TextBlock Text="LE TEMP" Canvas.Left="275" Canvas.Top="227" Visibility="{Binding Path=IsHeaterVisibility, Converter={StaticResource bool2VisibilityConvert}}"/>
  436. <TextBlock Text="Chiller TEMP" Canvas.Left="260" Canvas.Top="227" Visibility="{Binding Path=IsChillerVisibility, Converter={StaticResource bool2VisibilityConvert}}"/>
  437. <deviceControl:AITChillerControl DeviceData="{Binding ChillerData}" Canvas.Left="256" Canvas.Top="242" Width="80" IsAutoMode="{Binding IsAutoMode}" IsEnabled="{Binding IsChillerEnable}" Visibility="{Binding Path=IsChillerVisibility, Converter={StaticResource bool2VisibilityConvert}}"/>
  438. <deviceControl:AITHeaterControl DeviceData="{Binding HeaterChamber}" Canvas.Left="266" Canvas.Top="242" Width="80" IsAutoMode="{Binding IsAutoMode}" IsEnabled="{Binding IsHeaterEnable}" Visibility="{Binding Path=IsHeaterVisibility, Converter={StaticResource bool2VisibilityConvert}}"/>
  439. <TextBlock Text="Control TEMP" Canvas.Left="360" Canvas.Top="227" Visibility="{Binding Path=IsHeaterVisibility, Converter={StaticResource bool2VisibilityConvert}}"/>
  440. <parts1:DisplayDoubleValueControl FeedBack="{Binding SubstrateControlTCTemp}" Canvas.Left="366" Canvas.Top="242" Width="80" IsEnabled="{Binding IsHeaterEnable}" Visibility="{Binding Path=IsHeaterVisibility, Converter={StaticResource bool2VisibilityConvert}}"/>
  441. <TextBlock Text="LE Offset" Canvas.Left="275" Canvas.Top="267" Visibility="{Binding Path=IsHeaterVisibility, Converter={StaticResource bool2VisibilityConvert}}"/>
  442. <parts1:DisplayDoubleValueControl FeedBack="{Binding SubstrateOffset}" Canvas.Left="266" Canvas.Top="282" Width="80" IsEnabled="{Binding IsHeaterEnable}" Visibility="{Binding Path=IsHeaterVisibility, Converter={StaticResource bool2VisibilityConvert}}"/>
  443. <TextBlock Text="Monitor TEMP" Canvas.Left="360" Canvas.Top="267" Visibility="{Binding Path=IsHeaterVisibility, Converter={StaticResource bool2VisibilityConvert}}"/>
  444. <parts1:DisplayDoubleValueControl FeedBack="{Binding SubstrateMonitorTCTemp}" Canvas.Left="366" Canvas.Top="282" Width="80" IsEnabled="{Binding IsHeaterEnable}" Visibility="{Binding Path=IsHeaterVisibility, Converter={StaticResource bool2VisibilityConvert}}"/>
  445. <!--grid heater temperature-->
  446. <Canvas Visibility="{Binding GridHeaterVisibility}">
  447. <TextBlock Text="Grid TEMP" Canvas.Left="-10" Canvas.Top="25" />
  448. <deviceControl:AITHeaterControl DeviceData="{Binding GridHeater}" Width="80" Canvas.Left="-15" Canvas.Top="40" IsAutoMode="{Binding IsAutoMode}"/>
  449. </Canvas>
  450. <!--Foreline teamperature-->
  451. <TextBlock Text="Foreline" Canvas.Left="140" Canvas.Top="444" />
  452. <deviceControl:AITHeaterControl DeviceData="{Binding ForelineHeater}" Canvas.Left="148" Canvas.Top="460" IsAutoMode="{Binding IsAutoMode}"/>
  453. <ctrl:Gasline Orientation="Vertical" Height="20" Width="10" Canvas.Left="20" Canvas.Top="240"/>
  454. <ctrl:Gasline Orientation="Horizontal" Height="8" Canvas.Left="-102" Canvas.Top="250" Width="123"/>
  455. <ctrl:GaslineJoint JointType="LEFT" Width="10" Height="10" Canvas.Left="20" Canvas.Top="249" />
  456. <!--<ctrl:Gasline Orientation="Horizontal" Height="10" Canvas.Left="-105" Canvas.Top="288" Width="133"/>-->
  457. <!--<ctrl:GaslineJoint JointType="RIGHT_BOTTOM" Width="10" Height="10" Canvas.Left="20" Canvas.Top="288" />-->
  458. <!--<deviceControl:AITPressureMeter DeviceData="{Binding PressureGauge}" Height="30" Width="100" Canvas.Left="-112" Canvas.Top="276" />-->
  459. <deviceControl:AITPressureMeter DeviceData="{Binding ProcessGauge}" Height="30" Width="100" Canvas.Left="-112" Canvas.Top="240" />
  460. <TextBlock Text="Process" FontFamily="Arial" TextAlignment="Center" FontSize="14" Foreground="{DynamicResource FG_Black}" Canvas.Left="-170" Canvas.Top="248"/>
  461. <!--<TextBlock Text="腔体压力" FontFamily="Arial" TextAlignment="Center" FontSize="14" Foreground="{DynamicResource FG_Black}" Canvas.Left="-170" Canvas.Top="283"/>-->
  462. <ctrl:Gasline Orientation="Vertical" Height="268" Canvas.Left="208" Canvas.Top="240"/>
  463. <!--<control:FlowPipeV2 Width="274" Height="7" IsFlowing="{Binding FastPumpVlv.Feedback}" Visibility="{Binding Path=FastPumpVlv.Feedback, Converter={StaticResource bool2VisibilityConvert}}" Canvas.Left="216" Canvas.Top="238" >
  464. <control:FlowPipeV2.RenderTransform>
  465. <TransformGroup>
  466. <ScaleTransform/>
  467. <SkewTransform/>
  468. <RotateTransform Angle="90"/>
  469. <TranslateTransform/>
  470. </TransformGroup>
  471. </control:FlowPipeV2.RenderTransform>
  472. </control:FlowPipeV2>-->
  473. <control:FlowPipeV2 Width="275" Height="8" IsFlowing="{Binding FastPumpVlv.Feedback}" Visibility="{Binding Path=FastPumpVlv.Feedback, Converter={StaticResource bool2VisibilityConvert}}" Canvas.Left="74" Canvas.Top="370" RenderTransformOrigin="0.5,0.5" >
  474. <control:FlowPipeV2.RenderTransform>
  475. <TransformGroup>
  476. <ScaleTransform/>
  477. <SkewTransform/>
  478. <RotateTransform Angle="90"/>
  479. <TranslateTransform/>
  480. </TransformGroup>
  481. </control:FlowPipeV2.RenderTransform>
  482. </control:FlowPipeV2>
  483. <deviceControl:AITGasValve Canvas.Left="196" Canvas.Top="360" ValveOpenOrientation="Vertical" DeviceData="{Binding FastPumpVlv}" EnableServiceControl="{Binding enableServiceControl}" IsAutoMode="{Binding IsAutoMode}"/>
  484. <TextBlock Text="Fast" FontFamily="Arial" TextAlignment="Center" FontSize="14" Foreground="{DynamicResource FG_Black}" Canvas.Left="166" Canvas.Top="370"/>
  485. <TextBlock Text="Slow" FontFamily="Arial" TextAlignment="Center" FontSize="14" Foreground="{DynamicResource FG_Black}" Canvas.Left="276" Canvas.Top="370"/>
  486. <Canvas Canvas.Left="-12" Canvas.Top="341" >
  487. <ctrl:Gasline Orientation="Vertical" Height="143" Canvas.Left="266" Canvas.Top="-69" />
  488. <ctrl:Gasline Orientation="Horizontal" Canvas.Left="228" Width="38" Canvas.Top="-77" />
  489. <ctrl:Gasline Orientation="Horizontal" Canvas.Left="228" Canvas.Top="66" Width="38" />
  490. <!--<ctrl:GaslineJoint JointType="RIGHT" Canvas.Left="220" Canvas.Top="27" />-->
  491. <ctrl:GaslineJoint JointType="RIGHT_BOTTOM" Canvas.Left="266" Canvas.Top="66" />
  492. <ctrl:GaslineJoint JointType="RIGHT_TOP" Canvas.Left="266" Canvas.Top="-77" />
  493. <!--<ctrl:GaslineJoint JointType="RIGHT" Canvas.Left="220" Canvas.Top="-41" />-->
  494. <control:FlowPipeV2 Width="39" Height="8" IsFlowing="{Binding SoftPumpVlv.Feedback}" Visibility="{Binding Path=SoftPumpVlv.Feedback, Converter={StaticResource bool2VisibilityConvert}}" Canvas.Left="228" Canvas.Top="-77" />
  495. <control:FlowPipeV2 Width="30" Height="8" IsFlowing="{Binding SoftPumpVlv.Feedback}" Visibility="{Binding Path=SoftPumpVlv.Feedback, Converter={StaticResource bool2VisibilityConvert}}" Canvas.Left="209" Canvas.Top="-89" RenderTransformOrigin="0.5,0.5" >
  496. <control:FlowPipeV2.RenderTransform>
  497. <TransformGroup>
  498. <ScaleTransform/>
  499. <SkewTransform/>
  500. <RotateTransform Angle="90"/>
  501. <TranslateTransform/>
  502. </TransformGroup>
  503. </control:FlowPipeV2.RenderTransform>
  504. </control:FlowPipeV2>
  505. <control:FlowPipeV2 Width="142" Height="8" IsFlowing="{Binding SoftPumpVlv.Feedback}" Visibility="{Binding Path=SoftPumpVlv.Feedback, Converter={StaticResource bool2VisibilityConvert}}" Canvas.Left="199" Canvas.Top="-9" RenderTransformOrigin="0.5,0.5" >
  506. <control:FlowPipeV2.RenderTransform>
  507. <TransformGroup>
  508. <ScaleTransform/>
  509. <SkewTransform/>
  510. <RotateTransform Angle="90"/>
  511. <TranslateTransform/>
  512. </TransformGroup>
  513. </control:FlowPipeV2.RenderTransform>
  514. </control:FlowPipeV2>
  515. <control:FlowPipeV2 Width="96" Height="6" IsFlowing="{Binding SoftPumpVlv.Feedback}" Visibility="{Binding Path=SoftPumpVlv.Feedback, Converter={StaticResource bool2VisibilityConvert}}" Canvas.Left="176" Canvas.Top="112" RenderTransformOrigin="0.5,0.5" >
  516. <control:FlowPipeV2.RenderTransform>
  517. <TransformGroup>
  518. <ScaleTransform/>
  519. <SkewTransform/>
  520. <RotateTransform Angle="90"/>
  521. <TranslateTransform/>
  522. </TransformGroup>
  523. </control:FlowPipeV2.RenderTransform>
  524. </control:FlowPipeV2>
  525. <control:FlowPipeV2 Width="38" Height="8" IsFlowing="{Binding SoftPumpVlv.Feedback}" Visibility="{Binding Path=SoftPumpVlv.Feedback, Converter={StaticResource bool2VisibilityConvert}}" Canvas.Left="227" Canvas.Top="66" RenderTransformOrigin="0.5,0.5" >
  526. <control:FlowPipeV2.RenderTransform>
  527. <TransformGroup>
  528. <ScaleTransform/>
  529. <SkewTransform/>
  530. <RotateTransform Angle="180"/>
  531. <TranslateTransform/>
  532. </TransformGroup>
  533. </control:FlowPipeV2.RenderTransform>
  534. </control:FlowPipeV2>
  535. <deviceControl:AITGasValve Canvas.Left="254" Canvas.Top="20" ValveOpenOrientation="Vertical" DeviceData="{Binding SoftPumpVlv}" EnableServiceControl="{Binding enableServiceControl}" IsAutoMode="{Binding IsAutoMode}"/>
  536. </Canvas>
  537. <ctrl:Gasline Orientation="Horizontal" Canvas.Left="216" Canvas.Top="468" Width="46" />
  538. <ctrl:GaslineJoint JointType="RIGHT" Canvas.Left="208" Canvas.Top="468" />
  539. <TextBlock Text="Foreline" Canvas.Left="250" Canvas.Top="440" />
  540. <deviceControl:AITPressureMeter DeviceData="{Binding ForelineGauge}" Height="30" Width="100" Canvas.Left="227" Canvas.Top="456" />
  541. <deviceControl:AITPump Canvas.Top="500" DeviceData="{Binding MainPumpData}" EnableControl="{Binding enableServiceControl}" IsShowSensor="False" Canvas.Left="4" IsAutoMode="{Binding IsAutoMode}"/>
  542. <deviceControl:AITThrottleValve Canvas.Top="288" DeviceData="{Binding Tv}" Canvas.Left="192" IsAutoMode="{Binding IsAutoMode}"></deviceControl:AITThrottleValve>
  543. <Grid Visibility="{Binding EPDVisibility}" Canvas.Left="-245" Canvas.Top="288">
  544. <Grid.ColumnDefinitions>
  545. <ColumnDefinition Width="120"/>
  546. <ColumnDefinition Width="50" />
  547. <ColumnDefinition Width="120" />
  548. </Grid.ColumnDefinitions>
  549. <Border BorderBrush="{DynamicResource Table_BD}" BorderThickness="1" Background="{DynamicResource Table_BG_Title}" Grid.Row="0" Padding="5,1" Height="24">
  550. <TextBlock Text="EPD Status" TextWrapping="Wrap" Foreground="{DynamicResource FG_Black}" FontSize="14" FontFamily="Arial" HorizontalAlignment="Center" VerticalAlignment="Center"/>
  551. </Border>
  552. <Border BorderBrush="{DynamicResource Table_BD}" BorderThickness="0,1,1,1" Grid.Row="0" Grid.Column="1" Padding="5,1">
  553. <deviceControl:AITSensor Margin="5,0,5,0" GreenColor="True" LightOnValue="{Binding IsEPDConnected}" />
  554. </Border>
  555. <Border BorderBrush="{DynamicResource Table_BD}" BorderThickness="0,1,1,1" Grid.Row="0" Grid.Column="2" Padding="5,1">
  556. <TextBlock Text="{Binding EPDStatus}" TextWrapping="Wrap" Foreground="{DynamicResource FG_Black}" FontSize="15" FontFamily="Arial" HorizontalAlignment="Center" VerticalAlignment="Center"/>
  557. </Border>
  558. </Grid>
  559. <!--slit valve-->
  560. <Grid Width="280" HorizontalAlignment="Center" VerticalAlignment="Top" Canvas.Left="-245" Canvas.Top="330">
  561. <Grid.RowDefinitions>
  562. <RowDefinition Height="24"/>
  563. <RowDefinition Height="30"/>
  564. <RowDefinition />
  565. </Grid.RowDefinitions>
  566. <Border BorderBrush="{DynamicResource Table_BD}" BorderThickness="1" Background="{DynamicResource Table_BG_Title}" Grid.Row="0" Grid.Column="0" Padding="5,1">
  567. <TextBlock Text="Slit door" TextWrapping="Wrap" TextAlignment="Center" Foreground="{DynamicResource FG_Black}" FontSize="12" FontFamily="黑体" VerticalAlignment="Center"/>
  568. </Border>
  569. <Border BorderBrush="{DynamicResource Table_BD}" BorderThickness="1,0,1,1" Background="{DynamicResource Table_BG_Content}" Grid.Row="1" Grid.ColumnSpan="2" Padding="5,1">
  570. <StackPanel Orientation="Horizontal" HorizontalAlignment="Center">
  571. <deviceControl:AITSensor Margin="5,0,5,0" GreenColor="True" LightOnValue="{Binding IsSlitValveOpen}" />
  572. <Button Content="Open" IsEnabled="{Binding EnableOpenSlitValve}" Width="100" Height="25" Margin="0">
  573. <i:Interaction.Triggers>
  574. <i:EventTrigger EventName="Click">
  575. <cal:ActionMessage MethodName="OpenSlitValve"></cal:ActionMessage>
  576. </i:EventTrigger>
  577. </i:Interaction.Triggers>
  578. </Button>
  579. <deviceControl:AITSensor Margin="15,0,5,0" GreenColor="True" LightOnValue="{Binding IsSlitValveClose}" />
  580. <Button Content="Close" IsEnabled="{Binding EnableCloseSlitValve}" Width="100" Height="25" Margin="0">
  581. <i:Interaction.Triggers>
  582. <i:EventTrigger EventName="Click">
  583. <cal:ActionMessage MethodName="CloseSlitValve"/>
  584. </i:EventTrigger>
  585. </i:Interaction.Triggers>
  586. </Button>
  587. </StackPanel>
  588. </Border>
  589. </Grid>
  590. <!--chamber-->
  591. <Grid Width="240" Height="190" Canvas.Top="80">
  592. <Grid.RowDefinitions>
  593. <RowDefinition Height="160"/>
  594. <RowDefinition />
  595. </Grid.RowDefinitions>
  596. <Path Data="M0.5,0.5 L33.5,0.5 33.5,17.5 206.5,17.5 206.5,0.5 239.5,0.5 239.5,149.5 0.5,149.5 z" Stroke="#FF747474" Margin="0,10,0,0">
  597. <Path.Fill>
  598. <LinearGradientBrush EndPoint="1,1" StartPoint="0,0">
  599. <GradientStop Color="#FF8F8F8F" Offset="0"/>
  600. <GradientStop Color="#FF9B9B9B" Offset="1"/>
  601. <GradientStop Color="#FEF1ECEC" Offset="0.15"/>
  602. <GradientStop Color="#FEC0C0C0" Offset="0.38"/>
  603. <GradientStop Color="#FEB4B4B4" Offset="0.5"/>
  604. <GradientStop Color="#FEE5E5E5" Offset="0.7"/>
  605. <GradientStop Color="#FFBABABA" Offset="0.85"/>
  606. <GradientStop Color="#FFE5E5E5" Offset="0.9"/>
  607. </LinearGradientBrush>
  608. </Path.Fill>
  609. </Path>
  610. <Rectangle Stroke="#FF747474" Margin="8,18">
  611. <Rectangle.Fill>
  612. <LinearGradientBrush EndPoint="0.243,1" StartPoint="0.757,0">
  613. <GradientStop Color="#FFE0DEDE" Offset="0"/>
  614. <GradientStop Color="#FFE2E2E2" Offset="1"/>
  615. <GradientStop Color="#FEFFFFFF" Offset="0.55"/>
  616. <GradientStop Color="#FFEFEFEF" Offset="0.75"/>
  617. </LinearGradientBrush>
  618. </Rectangle.Fill>
  619. </Rectangle>
  620. <Rectangle x:Name="BG_Status" Margin="9,19" Visibility="{Binding BiasRfPowerOnChamberVisibility}">
  621. <Rectangle.Style>
  622. <Style>
  623. <Setter Property="Rectangle.Fill" Value="{DynamicResource Chamber_BD}"/>
  624. <Style.Triggers>
  625. <DataTrigger Binding="{Binding ShowTitle,RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type UserControl}}}" Value="False">
  626. <Setter Property="Rectangle.Fill" Value="#FFFF9292"/>
  627. </DataTrigger>
  628. </Style.Triggers>
  629. </Style>
  630. </Rectangle.Style>
  631. </Rectangle>
  632. <ctrl:Slot ViewType="Front" HorizontalAlignment="Center" VerticalAlignment="Top" Margin="0,4,0,0">
  633. </ctrl:Slot>
  634. <Rectangle Stroke="#FF747474" Height="11" VerticalAlignment="Bottom" Margin="12,0,12,8">
  635. <Rectangle.Fill>
  636. <LinearGradientBrush EndPoint="0.243,1" StartPoint="0.757,0">
  637. <GradientStop Color="#FFE0DEDE" Offset="0"/>
  638. <GradientStop Color="#FFE2E2E2" Offset="1"/>
  639. <GradientStop Color="#FEFFFFFF" Offset="0.55"/>
  640. <GradientStop Color="#FFEFEFEF" Offset="0.75"/>
  641. </LinearGradientBrush>
  642. </Rectangle.Fill>
  643. </Rectangle>
  644. <Grid x:Name="Cover" Width="180" Height="18" HorizontalAlignment="Left" VerticalAlignment="Top" Margin="30,2,0,0" RenderTransformOrigin="1,0.4444">
  645. <Grid.RenderTransform>
  646. <TransformGroup>
  647. <ScaleTransform/>
  648. <SkewTransform/>
  649. <RotateTransform/>
  650. <TranslateTransform/>
  651. </TransformGroup>
  652. </Grid.RenderTransform>
  653. <Grid.Resources>
  654. <Storyboard x:Key="CoverOpen">
  655. <DoubleAnimationUsingKeyFrames Storyboard.TargetProperty="(UIElement.RenderTransform).(TransformGroup.Children)[2].(RotateTransform.Angle)">
  656. <EasingDoubleKeyFrame KeyTime="0" Value="0"/>
  657. <EasingDoubleKeyFrame KeyTime="0:0:0.5" Value="45"/>
  658. </DoubleAnimationUsingKeyFrames>
  659. </Storyboard>
  660. <Storyboard x:Key="CoverClose">
  661. <DoubleAnimationUsingKeyFrames Storyboard.TargetProperty="(UIElement.RenderTransform).(TransformGroup.Children)[2].(RotateTransform.Angle)">
  662. <EasingDoubleKeyFrame KeyTime="0" Value="45"/>
  663. <EasingDoubleKeyFrame KeyTime="0:0:0.5" Value="0"/>
  664. </DoubleAnimationUsingKeyFrames>
  665. </Storyboard>
  666. </Grid.Resources>
  667. <Grid.Style>
  668. <Style>
  669. <Style.Triggers>
  670. <DataTrigger Binding="{Binding IsLidOpen}" Value="true">
  671. <DataTrigger.EnterActions>
  672. <BeginStoryboard Storyboard="{StaticResource CoverOpen}"/>
  673. </DataTrigger.EnterActions>
  674. <DataTrigger.ExitActions>
  675. <BeginStoryboard Storyboard="{StaticResource CoverClose}"/>
  676. </DataTrigger.ExitActions>
  677. </DataTrigger>
  678. </Style.Triggers>
  679. </Style>
  680. </Grid.Style>
  681. <Rectangle Grid.Row="0" HorizontalAlignment="Center" VerticalAlignment="Bottom" Fill="{DynamicResource Lid_BG}" Stroke="{DynamicResource Lid_BD}" Width="172" Height="12"/>
  682. <Rectangle Grid.Row="0" HorizontalAlignment="Center" VerticalAlignment="Top" Fill="{DynamicResource Lid_BG}" Stroke="{DynamicResource Lid_BD}" Width="180" Height="8"/>
  683. <Line X1="35" Y1="-80" X2="120" Y2="-90" Stroke="#B87333" StrokeThickness="5"/>
  684. <Line X1="35" Y1="-60" X2="145" Y2="-70" Stroke="#B87333" StrokeThickness="5"/>
  685. <Line X1="35" Y1="-40" X2="145" Y2="-50" Stroke="#B87333" StrokeThickness="5"/>
  686. <Line X1="35" Y1="-20" X2="145" Y2="-30" Stroke="#B87333" StrokeThickness="5"/>
  687. <Rectangle Stroke="DimGray" Fill="WhiteSmoke" Margin="130,-101,42,0" Width="8" VerticalAlignment="Top" Height="102" />
  688. <Rectangle Stroke="DimGray" Fill="WhiteSmoke" Margin="42,-101,130,0" Width="8" VerticalAlignment="Top" Height="102" />
  689. <Rectangle Fill="DimGray" Margin="42,-108,42,0" VerticalAlignment="Top" Height="8" />
  690. <Rectangle Fill="White" Margin="50,-101,50,0" Width="80" Height="118" />
  691. <Rectangle x:Name="BG_Status1" Fill="{DynamicResource Chamber_BD}" Margin="50,-101,50,0" Width="80" Height="118" Visibility="{Binding RfPowerOnChamberVisibility}" />
  692. <Rectangle Stroke="#FF000000" Width="80" Height="10" Margin="0,8,0,0" StrokeThickness="1" StrokeDashArray="4 2" SnapsToDevicePixels="True"/>
  693. <Rectangle Stroke="#FF000000" Width="80" Height="9" Margin="0,-10,0,0" StrokeThickness="1" StrokeDashArray="4 2" SnapsToDevicePixels="True"/>
  694. <Line X1="35" Y1="-40" X2="145" Y2="-30" Stroke="#B87333" StrokeThickness="5"/>
  695. <Line X1="35" Y1="-60" X2="145" Y2="-50" Stroke="#B87333" StrokeThickness="5"/>
  696. <Line X1="35" Y1="-80" X2="145" Y2="-70" Stroke="#B87333" StrokeThickness="5"/>
  697. </Grid>
  698. <Grid Grid.RowSpan="2" Width="160" Height="167" VerticalAlignment="Bottom" Margin="0,0,0,2">
  699. <Rectangle Height="12" Stroke="Gray" VerticalAlignment="Top" Width="150" Margin="0,98,0,0">
  700. <Rectangle.Fill>
  701. <LinearGradientBrush EndPoint="0.5,1" StartPoint="0.5,0">
  702. <GradientStop Color="#FFABABAB" Offset="0"/>
  703. <GradientStop Color="#FFDADADA" Offset="1"/>
  704. </LinearGradientBrush>
  705. </Rectangle.Fill>
  706. </Rectangle>
  707. <Rectangle Height="12" Margin="0,109,0,0" Stroke="Gray" VerticalAlignment="Top" Width="160">
  708. <Rectangle.Fill>
  709. <LinearGradientBrush EndPoint="0.5,1" StartPoint="0.5,0">
  710. <GradientStop Color="#FFABABAB" Offset="0"/>
  711. <GradientStop Color="#FFDADADA" Offset="1"/>
  712. </LinearGradientBrush>
  713. </Rectangle.Fill>
  714. </Rectangle>
  715. <!--4寸 guide pin--><!--
  716. <Grid x:Name="Bottom_LiftPin" Height="75" VerticalAlignment="Bottom" Margin="0,0,0,0" Visibility="{Binding Path=IsMidPinVisible, Converter={StaticResource bool2VisibilityConvert}}">
  717. <Grid.Resources>
  718. <Storyboard x:Key="BottomPinUp">
  719. <ThicknessAnimationUsingKeyFrames Storyboard.TargetProperty="(FrameworkElement.Margin)" >
  720. <EasingThicknessKeyFrame KeyTime="0" Value="0,0,0,0"/>
  721. <EasingThicknessKeyFrame KeyTime="0:0:0.5" Value="0,0,0,15"/>
  722. </ThicknessAnimationUsingKeyFrames>
  723. </Storyboard>
  724. <Storyboard x:Key="BottomPinDown">
  725. <ThicknessAnimationUsingKeyFrames Storyboard.TargetProperty="(FrameworkElement.Margin)" >
  726. <EasingThicknessKeyFrame KeyTime="0" Value="0,0,0,15"/>
  727. <EasingThicknessKeyFrame KeyTime="0:0:0.5" Value="0,0,0,0"/>
  728. </ThicknessAnimationUsingKeyFrames>
  729. </Storyboard>
  730. </Grid.Resources>
  731. <Grid.Style>
  732. <Style>
  733. <Style.Triggers>
  734. <DataTrigger Binding="{Binding IsLowerPinUp}" Value="true">
  735. <DataTrigger.EnterActions>
  736. <BeginStoryboard Storyboard="{StaticResource BottomPinUp}"/>
  737. </DataTrigger.EnterActions>
  738. <DataTrigger.ExitActions>
  739. <BeginStoryboard Storyboard="{StaticResource BottomPinDown}"/>
  740. </DataTrigger.ExitActions>
  741. </DataTrigger>
  742. </Style.Triggers>
  743. </Style>
  744. </Grid.Style>
  745. <Rectangle HorizontalAlignment="Left" Fill="{DynamicResource Lid_BG1}" Stroke="{DynamicResource Lid_BD}" Width="8" Margin="10,6,0,4"/>
  746. <Rectangle HorizontalAlignment="Right" Fill="{DynamicResource Lid_BG1}" Stroke="{DynamicResource Lid_BD}" Width="8" Margin="0,6,10,4"/>
  747. <Rectangle Stroke="{DynamicResource Lid_BD}" Fill="{DynamicResource Lid_BG1}" StrokeThickness="1" VerticalAlignment="Bottom" Height="8" Margin="5,0"/>
  748. </Grid>-->
  749. <!--3寸 guide pin-->
  750. <Grid x:Name="Middle_LiftPin" Width="120" Height="63" VerticalAlignment="Bottom" Margin="0,0,0,12">
  751. <Grid.Resources>
  752. <Storyboard x:Key="MidPinUp">
  753. <ThicknessAnimationUsingKeyFrames Storyboard.TargetProperty="(FrameworkElement.Margin)" >
  754. <EasingThicknessKeyFrame KeyTime="0:0:0.5" Value="0,0,0,36"/>
  755. </ThicknessAnimationUsingKeyFrames>
  756. </Storyboard>
  757. <Storyboard x:Key="MidPinMiddle">
  758. <ThicknessAnimationUsingKeyFrames Storyboard.TargetProperty="(FrameworkElement.Margin)" >
  759. <EasingThicknessKeyFrame KeyTime="0:0:0.5" Value="0,0,0,27"/>
  760. </ThicknessAnimationUsingKeyFrames>
  761. </Storyboard>
  762. <Storyboard x:Key="MidPinDown">
  763. <ThicknessAnimationUsingKeyFrames Storyboard.TargetProperty="(FrameworkElement.Margin)" >
  764. <EasingThicknessKeyFrame KeyTime="0:0:0.5" Value="0,0,0,19"/>
  765. </ThicknessAnimationUsingKeyFrames>
  766. </Storyboard>
  767. <Storyboard x:Key="MidPinHome">
  768. <ThicknessAnimationUsingKeyFrames Storyboard.TargetProperty="(FrameworkElement.Margin)" >
  769. <EasingThicknessKeyFrame KeyTime="0:0:0.5" Value="0,0,0,12"/>
  770. </ThicknessAnimationUsingKeyFrames>
  771. </Storyboard>
  772. </Grid.Resources>
  773. <Grid.Style>
  774. <Style>
  775. <Style.Triggers>
  776. <DataTrigger Binding="{Binding PinPosition}" Value="3">
  777. <DataTrigger.EnterActions>
  778. <BeginStoryboard x:Name="MidPinUp" Storyboard="{StaticResource MidPinUp}"/>
  779. </DataTrigger.EnterActions>
  780. <DataTrigger.ExitActions>
  781. <StopStoryboard BeginStoryboardName="MidPinUp"/>
  782. </DataTrigger.ExitActions>
  783. </DataTrigger>
  784. <DataTrigger Binding="{Binding PinPosition}" Value="2">
  785. <DataTrigger.EnterActions>
  786. <BeginStoryboard x:Name="MidPinMiddle" Storyboard="{StaticResource MidPinMiddle}"/>
  787. </DataTrigger.EnterActions>
  788. <DataTrigger.ExitActions>
  789. <StopStoryboard BeginStoryboardName="MidPinMiddle"/>
  790. </DataTrigger.ExitActions>
  791. </DataTrigger>
  792. <DataTrigger Binding="{Binding PinPosition}" Value="1">
  793. <DataTrigger.EnterActions>
  794. <BeginStoryboard x:Name="MidPinDown" Storyboard="{StaticResource MidPinDown}"/>
  795. </DataTrigger.EnterActions>
  796. <DataTrigger.ExitActions>
  797. <StopStoryboard BeginStoryboardName="MidPinDown"/>
  798. </DataTrigger.ExitActions>
  799. </DataTrigger>
  800. <DataTrigger Binding="{Binding PinPosition}" Value="0">
  801. <DataTrigger.EnterActions>
  802. <BeginStoryboard x:Name="MidPinHome" Storyboard="{StaticResource MidPinHome}"/>
  803. </DataTrigger.EnterActions>
  804. <DataTrigger.ExitActions>
  805. <StopStoryboard BeginStoryboardName="MidPinHome"/>
  806. </DataTrigger.ExitActions>
  807. </DataTrigger>
  808. </Style.Triggers>
  809. </Style>
  810. </Grid.Style>
  811. <Rectangle HorizontalAlignment="Left" Fill="{DynamicResource Lid_BG2}" Stroke="{DynamicResource Lid_BD}" Width="8" Margin="10,6,0,4"/>
  812. <Rectangle HorizontalAlignment="Right" Fill="{DynamicResource Lid_BG2}" Stroke="{DynamicResource Lid_BD}" Width="8" Margin="0,6,10,4"/>
  813. <Rectangle Stroke="{DynamicResource Lid_BD}" Fill="{DynamicResource Lid_BG2}" StrokeThickness="1" VerticalAlignment="Bottom" Height="8" Margin="5,0"/>
  814. <Rectangle Fill="{DynamicResource idleWafer}" HorizontalAlignment="Center" Margin="0,-2,0,0" Width="{Binding WaferLength}" Height="8" VerticalAlignment="Top"/>
  815. <!--<parts:Wafer WaferStyle="Rect" WaferItem="{Binding PMWafer}" Station ="{Binding Station}" Slot="0" Width="130" VerticalAlignment="Top" >
  816. <parts:Wafer.Style>
  817. <Style>
  818. <Setter Property="parts:Wafer.Visibility" Value="Collapsed"/>
  819. <Style.Triggers>
  820. <DataTrigger Binding="{Binding PMWaferType}" Value="Wafer8">
  821. <Setter Property="parts:Wafer.Visibility" Value="Visible"/>
  822. </DataTrigger>
  823. </Style.Triggers>
  824. </Style>
  825. </parts:Wafer.Style>
  826. </parts:Wafer>-->
  827. <ctrl:Slot ViewType="Front" x:Name="EFEMLower" DataContext="{Binding UnitData.WaferManager.Wafers[0],RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type UserControl}}}" WaferStatus="{Binding WaferStatus}" SlotID="{Binding SlotID}" ModuleID="{Binding ModuleID}" SourceName="{Binding SourceName}" HorizontalAlignment="Center" VerticalAlignment="Top" Margin="15,-5,15,0">
  828. <i:Interaction.Triggers>
  829. <i:EventTrigger EventName="SlotMouseButtonDown">
  830. <cal:ActionMessage MethodName="OnMouseUp">
  831. <cal:Parameter Value="$source" />
  832. <cal:Parameter Value="$eventargs" />
  833. </cal:ActionMessage>
  834. </i:EventTrigger>
  835. <i:EventTrigger EventName="WaferTransferStarted">
  836. <cal:ActionMessage MethodName="OnWaferTransfer">
  837. <cal:Parameter Value="$eventargs" />
  838. </cal:ActionMessage>
  839. </i:EventTrigger>
  840. </i:Interaction.Triggers>
  841. </ctrl:Slot>
  842. </Grid>
  843. <!--lift pin-->
  844. <!--<Grid x:Name="Top_LiftPin" Height="51" VerticalAlignment="Bottom" Margin="0,0,0,28" Visibility="{Binding Path=IsLiftPinVisible, Converter={StaticResource bool2VisibilityConvert}}">
  845. <Grid.Resources>
  846. <Storyboard x:Key="TopPinUp">
  847. <ThicknessAnimationUsingKeyFrames Storyboard.TargetProperty="(FrameworkElement.Margin)" >
  848. <EasingThicknessKeyFrame KeyTime="0" Value="0,0,0,28"/>
  849. <EasingThicknessKeyFrame KeyTime="0:0:0.5" Value="0,0,0,54"/>
  850. </ThicknessAnimationUsingKeyFrames>
  851. </Storyboard>
  852. <Storyboard x:Key="TopPinDown">
  853. <ThicknessAnimationUsingKeyFrames Storyboard.TargetProperty="(FrameworkElement.Margin)" >
  854. <EasingThicknessKeyFrame KeyTime="0" Value="0,0,0,54"/>
  855. <EasingThicknessKeyFrame KeyTime="0:0:0.5" Value="0,0,0,28"/>
  856. </ThicknessAnimationUsingKeyFrames>
  857. </Storyboard>
  858. </Grid.Resources>
  859. <Grid.Style>
  860. <Style>
  861. <Style.Triggers>
  862. <DataTrigger Binding="{Binding IsLiftPinUp}" Value="true">
  863. <DataTrigger.EnterActions>
  864. <BeginStoryboard Storyboard="{StaticResource TopPinUp}"/>
  865. </DataTrigger.EnterActions>
  866. <DataTrigger.ExitActions>
  867. <BeginStoryboard Storyboard="{StaticResource TopPinDown}"/>
  868. </DataTrigger.ExitActions>
  869. </DataTrigger>
  870. </Style.Triggers>
  871. </Style>
  872. </Grid.Style>
  873. <Rectangle HorizontalAlignment="Left" Fill="{DynamicResource Lid_BG3}" Stroke="{DynamicResource Lid_BD}" Width="8" Margin="48,10,0,4"/>
  874. <Rectangle HorizontalAlignment="Right" Fill="{DynamicResource Lid_BG3}" Stroke="{DynamicResource Lid_BD}" Width="8" Margin="0,10,48,4"/>
  875. <Rectangle Stroke="{DynamicResource Lid_BD}" Fill="{DynamicResource Lid_BG3}" StrokeThickness="1" VerticalAlignment="Bottom" Height="8" Margin="5,0" Width="64" />
  876. <Rectangle Fill="{DynamicResource idleWafer}" HorizontalAlignment="Center" Margin="-100,0" Width="{Binding WaferLength}" Height="10" VerticalAlignment="Top"/>
  877. <TextBlock Text="{Binding WaferSize}" HorizontalAlignment="Center" TextAlignment="Center" Margin="-100,0" Width="{Binding WaferLength}" Height="15" VerticalAlignment="Top"></TextBlock>
  878. </Grid>-->
  879. <!--左边slit door-->
  880. <Grid x:Name="Slit_valve" Margin="-41,-10,191,29" >
  881. <Rectangle x:Name="SlitValve_Top" Style="{StaticResource SlitValve_Animation}" Fill="DimGray" Width="8" VerticalAlignment="Top" Height="75" />
  882. <Rectangle x:Name="SlitValve_Bottom" Style="{StaticResource SlitValve_Animation}" Fill="DimGray" Width="8" VerticalAlignment="Bottom" Height="75" />
  883. </Grid>
  884. <!--slit door右边-->
  885. <Grid Margin="190,-10,-40,29" >
  886. <Rectangle Fill="DimGray" Width="8" VerticalAlignment="Top" Height="75" />
  887. <Rectangle Fill="DimGray" Width="8" VerticalAlignment="Bottom" Height="75" />
  888. </Grid>
  889. </Grid>
  890. </Grid>
  891. </Canvas>
  892. <!--lift pin / guide pin control grid-->
  893. <Grid Width="280" Grid.ColumnSpan="3" HorizontalAlignment="Center" VerticalAlignment="Top" Canvas.Left="200" Canvas.Top="585">
  894. <Grid.RowDefinitions>
  895. <RowDefinition Height="24"/>
  896. <RowDefinition Height="32"/>
  897. <RowDefinition Height="{Binding SmallPinHeight}"/>
  898. <RowDefinition Height="{Binding MediumPinHeight}"/>
  899. <RowDefinition />
  900. </Grid.RowDefinitions>
  901. <Grid.ColumnDefinitions>
  902. <ColumnDefinition Width="80"/>
  903. <ColumnDefinition />
  904. </Grid.ColumnDefinitions>
  905. <Border Grid.ColumnSpan="2" BorderBrush="{DynamicResource Table_BD}" BorderThickness="1" Background="{DynamicResource Table_BG_Title}" Grid.Row="0" Grid.Column="0" Padding="5,1">
  906. <TextBlock Text="Pin" TextWrapping="Wrap" TextAlignment="Center" Foreground="{DynamicResource FG_Black}" FontSize="12" FontFamily="Arial" VerticalAlignment="Center"/>
  907. </Border>
  908. <!--lift pin button-->
  909. <Border BorderBrush="{DynamicResource Table_BD}" BorderThickness="1,0,1,1" Background="{DynamicResource Table_BG_Content}" Grid.Row="1" Grid.ColumnSpan="2" Padding="5,1">
  910. <StackPanel Orientation="Horizontal" HorizontalAlignment="Center" >
  911. <!--lift pin up-->
  912. <deviceControl:AITSensor Margin="5,0,5,0" GreenColor="True" LightOnValue="{Binding IsLiftPinUp}" />
  913. <Button Content="Lift Pin Up" IsEnabled="{Binding EnableLiftPinUp}" Width="100" Height="25" Margin="0">
  914. <i:Interaction.Triggers>
  915. <i:EventTrigger EventName="Click">
  916. <cal:ActionMessage MethodName="MoveLiftPinSetState">
  917. <cal:Parameter Value="Up"></cal:Parameter>
  918. </cal:ActionMessage>
  919. </i:EventTrigger>
  920. </i:Interaction.Triggers>
  921. </Button>
  922. <!--lift pin down-->
  923. <deviceControl:AITSensor Margin="15,0,5,0" GreenColor="True" LightOnValue="{Binding IsLiftPinDown}" />
  924. <Button Content="Lift Pin Down" IsEnabled="{Binding EnableLiftPinDown}" Width="100" Height="25" Margin="0">
  925. <i:Interaction.Triggers>
  926. <i:EventTrigger EventName="Click">
  927. <cal:ActionMessage MethodName="MoveLiftPinSetState">
  928. <cal:Parameter Value="Down"></cal:Parameter>
  929. </cal:ActionMessage>
  930. </i:EventTrigger>
  931. </i:Interaction.Triggers>
  932. </Button>
  933. </StackPanel>
  934. </Border>
  935. <!--3' guide pin button-->
  936. <Border BorderBrush="{DynamicResource Table_BD}" BorderThickness="1,0,1,1" Background="{DynamicResource Table_BG_Content}" Grid.Row="2" Grid.ColumnSpan="2" Padding="5,1">
  937. <StackPanel Orientation="Horizontal" HorizontalAlignment="Center" >
  938. <deviceControl:AITSensor Margin="5,0,5,0" GreenColor="True" LightOnValue="{Binding IsLiftPinHome}"></deviceControl:AITSensor>
  939. <Button Content="Home" IsEnabled="{Binding EnableLiftPinHome}" Width="100" Height="25" Margin="0">
  940. <i:Interaction.Triggers>
  941. <i:EventTrigger EventName="Click">
  942. <cal:ActionMessage MethodName="MoveLiftPinHome">
  943. <cal:Parameter Value="Home"></cal:Parameter>
  944. </cal:ActionMessage>
  945. </i:EventTrigger>
  946. </i:Interaction.Triggers>
  947. </Button>
  948. <deviceControl:AITSensor Margin="15,0,5,0" GreenColor="True" LightOnValue="{Binding IsLiftPinMiddle}"></deviceControl:AITSensor>
  949. <Button Content="Lift Pin Middle" IsEnabled="{Binding EnableLiftPinMiddle}" Width="100" Height="25" Margin="0">
  950. <i:Interaction.Triggers>
  951. <i:EventTrigger EventName="Click">
  952. <cal:ActionMessage MethodName="MoveLiftPinSetState">
  953. <cal:Parameter Value="Middle"></cal:Parameter>
  954. </cal:ActionMessage>
  955. </i:EventTrigger>
  956. </i:Interaction.Triggers>
  957. </Button>
  958. </StackPanel>
  959. </Border>
  960. </Grid>
  961. <Grid Width="280" Grid.ColumnSpan="3" HorizontalAlignment="Center" VerticalAlignment="Top" Canvas.Left="200" Canvas.Top="670" Visibility="Collapsed">
  962. <Grid.RowDefinitions>
  963. <RowDefinition Height="24"/>
  964. <RowDefinition Height="32"/>
  965. <RowDefinition Height="32"/>
  966. </Grid.RowDefinitions>
  967. <Grid.ColumnDefinitions>
  968. <ColumnDefinition Width="140" />
  969. <ColumnDefinition />
  970. </Grid.ColumnDefinitions>
  971. <Border Grid.ColumnSpan="2" BorderBrush="{DynamicResource Table_BD}" BorderThickness="1" Background="{DynamicResource Table_BG_Title}" Grid.Row="0" Grid.Column="0" Padding="5,1">
  972. <TextBlock Text="Servo" TextWrapping="Wrap" TextAlignment="Center" Foreground="{DynamicResource FG_Black}" FontSize="12" FontFamily="Arial" VerticalAlignment="Center"/>
  973. </Border>
  974. <Border BorderBrush="{DynamicResource Table_BD}" BorderThickness="1,0,1,1" Background="{DynamicResource Table_BG_Content}" Grid.Row="1" Grid.ColumnSpan="1" Padding="5,1">
  975. <StackPanel Orientation="Horizontal" HorizontalAlignment="Center" >
  976. <deviceControl:AITSensor Margin="5,0,5,0" GreenColor="True" LightOnValue="{Binding ManualStopState}"></deviceControl:AITSensor>
  977. <Button Content="Stop" IsEnabled="{Binding EnableLiftPinManualMove}" Width="100" Height="25" Margin="0">
  978. <i:Interaction.Triggers>
  979. <i:EventTrigger EventName="Click">
  980. <cal:ActionMessage MethodName="TriStateLiftPinStop">
  981. </cal:ActionMessage>
  982. </i:EventTrigger>
  983. </i:Interaction.Triggers>
  984. </Button>
  985. </StackPanel>
  986. </Border>
  987. <Border BorderBrush="{DynamicResource Table_BD}" BorderThickness="0,0,1,1" Background="{DynamicResource Table_BG_Content}" Grid.Row="1" Grid.Column="1" Grid.ColumnSpan="1" Padding="5,1">
  988. <StackPanel Orientation="Horizontal" HorizontalAlignment="Center" >
  989. <TextBlock Text="Position:" VerticalAlignment="Center" HorizontalAlignment="Left" Margin="5,7,0,7" Width="55" ></TextBlock>
  990. <TextBlock Text="{Binding TriStateLiftPinCurrentValue}" VerticalAlignment="Center" HorizontalAlignment="Left" Margin="5,7,0,7" Width="55" ></TextBlock>
  991. </StackPanel>
  992. </Border>
  993. <Border BorderBrush="{DynamicResource Table_BD}" BorderThickness="1,0,1,1" Background="{DynamicResource Table_BG_Content}" Grid.Row="2" Grid.ColumnSpan="2" Padding="5,1">
  994. <StackPanel Orientation="Horizontal" HorizontalAlignment="Center" >
  995. <deviceControl:AITSensor Margin="5,0,5,0" GreenColor="True" LightOnValue="{Binding ManualUpState}"></deviceControl:AITSensor>
  996. <Button Content="Up" IsEnabled="{Binding EnableLiftPinManualMove}" Width="100" Height="25" Margin="0">
  997. <i:Interaction.Triggers>
  998. <i:EventTrigger EventName="Click">
  999. <cal:ActionMessage MethodName="TriStateLiftPinUp">
  1000. </cal:ActionMessage>
  1001. </i:EventTrigger>
  1002. </i:Interaction.Triggers>
  1003. </Button>
  1004. <deviceControl:AITSensor Margin="15,0,5,0" GreenColor="True" LightOnValue="{Binding ManualDownState}"></deviceControl:AITSensor>
  1005. <Button Content="Down" IsEnabled="{Binding EnableLiftPinManualMove}" Width="100" Height="25" Margin="0">
  1006. <i:Interaction.Triggers>
  1007. <i:EventTrigger EventName="Click">
  1008. <cal:ActionMessage MethodName="TriStateLiftPinDown">
  1009. </cal:ActionMessage>
  1010. </i:EventTrigger>
  1011. </i:Interaction.Triggers>
  1012. </Button>
  1013. </StackPanel>
  1014. </Border>
  1015. </Grid>
  1016. </Canvas>
  1017. <!--参数 Grid 那一列-->
  1018. <Grid Grid.Column="1">
  1019. <Grid.RowDefinitions>
  1020. <RowDefinition Height="110"></RowDefinition>
  1021. <RowDefinition Height="625"></RowDefinition>
  1022. </Grid.RowDefinitions>
  1023. <!--选择recipe,开始recipe-->
  1024. <Grid Grid.Row="0" VerticalAlignment="Top" Margin="0,10,0,0">
  1025. <Grid.RowDefinitions>
  1026. <RowDefinition Height="35"/>
  1027. <RowDefinition Height="Auto"/>
  1028. <RowDefinition Height="35"/>
  1029. </Grid.RowDefinitions>
  1030. <Grid Grid.Row="0">
  1031. <Grid.ColumnDefinitions>
  1032. <ColumnDefinition Width="140"/>
  1033. <ColumnDefinition />
  1034. </Grid.ColumnDefinitions>
  1035. <Border BorderBrush="{DynamicResource Table_BD}" BorderThickness="1,1,1,1" Background="{DynamicResource Table_BG_Title}" Grid.Row="1" Padding="5,1">
  1036. <Button Content="Choose Recipe" IsEnabled="{Binding IsEnableSelectRecipe}" Width="120" Height="25">
  1037. <i:Interaction.Triggers>
  1038. <i:EventTrigger EventName="Click">
  1039. <cal:ActionMessage MethodName="SelectRecipe"/>
  1040. </i:EventTrigger>
  1041. </i:Interaction.Triggers>
  1042. </Button>
  1043. </Border>
  1044. <Border BorderBrush="{DynamicResource Table_BD}" BorderThickness="0,1,1,1" Background="{DynamicResource Table_BG_Content}" Grid.Row="1" Grid.Column="1" Padding="5,1">
  1045. <TextBlock Text="{Binding SelectedRecipeName}" VerticalAlignment="Center" />
  1046. </Border>
  1047. </Grid>
  1048. <Border BorderBrush="{DynamicResource Table_BD}" BorderThickness="1,0,1,1" Background="{DynamicResource Table_BG_Content}" Grid.Row="1" Grid.Column="1" Padding="5,1">
  1049. <StackPanel Orientation="Horizontal" Grid.Row="1" HorizontalAlignment="Center" VerticalAlignment="Center" Margin="0,5">
  1050. <Button Content="Start" IsEnabled="{Binding IsEnableStartRecipe}" Width="80" Height="25">
  1051. <i:Interaction.Triggers>
  1052. <i:EventTrigger EventName="Click">
  1053. <cal:ActionMessage MethodName="Start"/>
  1054. </i:EventTrigger>
  1055. </i:Interaction.Triggers>
  1056. </Button>
  1057. <Button Content="Next Step" IsEnabled="{Binding IsEnableNextStep}" Width="80" Height="25" Margin="30,0">
  1058. <i:Interaction.Triggers>
  1059. <i:EventTrigger EventName="Click">
  1060. <cal:ActionMessage MethodName="NextStep"/>
  1061. </i:EventTrigger>
  1062. </i:Interaction.Triggers>
  1063. </Button>
  1064. <Button Content="Stop" IsEnabled="{Binding IsEnableStopRecipe}" Width="80" Height="25">
  1065. <i:Interaction.Triggers>
  1066. <i:EventTrigger EventName="Click">
  1067. <cal:ActionMessage MethodName="Stop"/>
  1068. </i:EventTrigger>
  1069. </i:Interaction.Triggers>
  1070. </Button>
  1071. </StackPanel>
  1072. </Border>
  1073. <Grid Grid.Row="2" Margin="0,0,0,10" Visibility="Hidden">
  1074. <Grid.ColumnDefinitions>
  1075. <ColumnDefinition Width="120"/>
  1076. <ColumnDefinition />
  1077. </Grid.ColumnDefinitions>
  1078. <Border BorderBrush="{DynamicResource Table_BD}" BorderThickness="1" Background="{DynamicResource Table_BG_Title}" Grid.Row="0" Padding="5,1" Height="24">
  1079. <TextBlock Text="Status" TextWrapping="Wrap" Foreground="{DynamicResource FG_Black}" FontSize="12" FontFamily="Arial" HorizontalAlignment="Left" VerticalAlignment="Center"/>
  1080. </Border>
  1081. <Border BorderBrush="{DynamicResource Table_BD}" BorderThickness="0,1,1,1" Background="{DynamicResource Table_BG_Content}" Grid.Row="0" Grid.Column="1" Padding="5,1" Height="24">
  1082. <TextBlock Text="Status" TextWrapping="Wrap" Foreground="{DynamicResource FG_Black}" FontSize="12" FontFamily="Arial" HorizontalAlignment="Left" VerticalAlignment="Center"/>
  1083. </Border>
  1084. </Grid>
  1085. </Grid>
  1086. <!--recipe 参数列表-->
  1087. <DataGrid Grid.Row="1" AlternationCount="2" HorizontalAlignment="Left" CanUserAddRows="False"
  1088. AutoGenerateColumns="False" RowHeaderWidth="0" CanUserResizeColumns="False" FontSize="14"
  1089. VirtualizingPanel.IsVirtualizing="True" VirtualizingPanel.VirtualizationMode="Recycling"
  1090. ItemsSource="{Binding PMParameters}" Margin="0,5,0,0" Width="462">
  1091. <DataGrid.Columns>
  1092. <!--参数名字-->
  1093. <DataGridTemplateColumn Header="Parameter" Width="200">
  1094. <DataGridTemplateColumn.CellTemplate>
  1095. <DataTemplate>
  1096. <TextBlock Text="{Binding Display}" Margin="5,0" FontFamily="Arial" FontSize="14"
  1097. Foreground="{DynamicResource FG_Black}" HorizontalAlignment="Left" VerticalAlignment="Center" >
  1098. </TextBlock>
  1099. </DataTemplate>
  1100. </DataGridTemplateColumn.CellTemplate>
  1101. </DataGridTemplateColumn>
  1102. <!--参数 Setpoint & Feedback-->
  1103. <DataGridTemplateColumn Header="Parameter" Width="260" CellTemplateSelector="{StaticResource SPSelector}">
  1104. <DataGridTemplateColumn.HeaderTemplate>
  1105. <DataTemplate>
  1106. <Grid>
  1107. <Grid.ColumnDefinitions>
  1108. <ColumnDefinition Width="125"></ColumnDefinition>
  1109. <ColumnDefinition Width="125"></ColumnDefinition>
  1110. </Grid.ColumnDefinitions>
  1111. <Border BorderBrush="{DynamicResource Table_BD}" BorderThickness="0,0,1,0" Grid.Row="0" Padding="0">
  1112. <TextBlock Text="Feedback" HorizontalAlignment="Center" VerticalAlignment="Center" FontSize="14" />
  1113. </Border>
  1114. <TextBlock Text="Setpoint" Grid.Column="1" HorizontalAlignment="Center" VerticalAlignment="Center" FontSize="14" />
  1115. </Grid>
  1116. </DataTemplate>
  1117. </DataGridTemplateColumn.HeaderTemplate>
  1118. </DataGridTemplateColumn>
  1119. </DataGrid.Columns>
  1120. </DataGrid>
  1121. </Grid>
  1122. <Grid Grid.Column="2" Grid.RowSpan="2" Margin="10,0,0,0">
  1123. <Grid.RowDefinitions>
  1124. <RowDefinition Height="30"/>
  1125. <RowDefinition Height="Auto"/>
  1126. <RowDefinition Height="30"/>
  1127. <RowDefinition Height="Auto"/>
  1128. <RowDefinition Height="Auto"/>
  1129. <RowDefinition />
  1130. </Grid.RowDefinitions>
  1131. <Border Grid.Row="0" BorderBrush="{DynamicResource Table_BD}" CornerRadius="5,5,0,0" BorderThickness="1" Background="{DynamicResource Table_BG_FirstTitle}" Padding="5,1">
  1132. <StackPanel Orientation="Horizontal" HorizontalAlignment="Left" VerticalAlignment="Center">
  1133. <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">
  1134. <Path.RenderTransform>
  1135. <TransformGroup>
  1136. <ScaleTransform/>
  1137. <SkewTransform/>
  1138. <RotateTransform Angle="45"/>
  1139. <TranslateTransform/>
  1140. </TransformGroup>
  1141. </Path.RenderTransform>
  1142. </Path>
  1143. <TextBlock Margin="5,0,0,0" Text="Working Mode" FontFamily="Arial" FontSize="14" Foreground="{DynamicResource FG_White}" HorizontalAlignment="Left" VerticalAlignment="Center"/>
  1144. </StackPanel>
  1145. </Border>
  1146. <Border Grid.Row="1" BorderBrush="{DynamicResource Table_BD}" Background="{DynamicResource Table_BG_Content}" BorderThickness="1,0,1,1" Padding="5,1">
  1147. <StackPanel Orientation="Vertical">
  1148. <StackPanel Orientation="Horizontal" HorizontalAlignment="Center">
  1149. <Button Width="80" Height="25" Margin="10,0" Content="Initialize">
  1150. <i:Interaction.Triggers>
  1151. <i:EventTrigger EventName="Click">
  1152. <cal:ActionMessage MethodName="SetInit"/>
  1153. </i:EventTrigger>
  1154. </i:Interaction.Triggers>
  1155. </Button>
  1156. <Button Width="80" Height="25" Margin="10,0" Content="Abort">
  1157. <i:Interaction.Triggers>
  1158. <i:EventTrigger EventName="Click">
  1159. <cal:ActionMessage MethodName="AbortPM"/>
  1160. </i:EventTrigger>
  1161. </i:Interaction.Triggers>
  1162. </Button>
  1163. </StackPanel>
  1164. <Grid Margin="5,5,5,0">
  1165. <Grid.ColumnDefinitions>
  1166. <ColumnDefinition Width="120"/>
  1167. <ColumnDefinition />
  1168. </Grid.ColumnDefinitions>
  1169. <Border BorderBrush="{DynamicResource Table_BD}" BorderThickness="1" Background="{DynamicResource Table_BG_Title}" Grid.Row="0" Padding="5,1" Height="24">
  1170. <TextBlock Text="Operation Mode" TextWrapping="Wrap" Foreground="{DynamicResource FG_Black}" FontSize="14" FontFamily="Arial" HorizontalAlignment="Center" VerticalAlignment="Center"/>
  1171. </Border>
  1172. <Border BorderBrush="{DynamicResource Table_BD}" BorderThickness="0,1,1,1" Background="{DynamicResource Table_BG_Content}" Grid.Row="0" Grid.Column="1" Padding="5,1">
  1173. <TextBlock Text="{Binding PmOperationMode}" TextWrapping="Wrap" Foreground="{DynamicResource FG_Black}" FontSize="12" FontFamily="Arial" HorizontalAlignment="Center" VerticalAlignment="Center"/>
  1174. </Border>
  1175. </Grid>
  1176. <StackPanel Margin="0,5,0,10" Orientation="Horizontal" HorizontalAlignment="Center">
  1177. <Button Width="80" Height="25" Margin="10,0" Content="Manual" IsEnabled="{Binding IsManualButtonEnabled}" >
  1178. <i:Interaction.Triggers>
  1179. <i:EventTrigger EventName="Click">
  1180. <cal:ActionMessage MethodName="SetManual"/>
  1181. </i:EventTrigger>
  1182. </i:Interaction.Triggers>
  1183. </Button>
  1184. <Button Width="80" Height="25" Margin="10,0" Content="Auto" IsEnabled="{Binding IsAutoButtonEnabled}">
  1185. <i:Interaction.Triggers>
  1186. <i:EventTrigger EventName="Click">
  1187. <cal:ActionMessage MethodName="SetAuto"/>
  1188. </i:EventTrigger>
  1189. </i:Interaction.Triggers>
  1190. </Button>
  1191. </StackPanel>
  1192. <Grid Margin="5,5,5,0">
  1193. <Grid.ColumnDefinitions>
  1194. <ColumnDefinition Width="120"/>
  1195. <ColumnDefinition />
  1196. </Grid.ColumnDefinitions>
  1197. <Border BorderBrush="{DynamicResource Table_BD}" BorderThickness="1" Background="{DynamicResource Table_BG_Title}" Grid.Row="0" Padding="5,1" Height="24">
  1198. <TextBlock Text="Offline" TextWrapping="Wrap" Foreground="{DynamicResource FG_Black}" FontSize="14" FontFamily="Arial" HorizontalAlignment="Center" VerticalAlignment="Center"/>
  1199. </Border>
  1200. <Border BorderBrush="{DynamicResource Table_BD}" BorderThickness="0,1,1,1" Background="{Binding PMOnlineColor}" Grid.Row="0" Grid.Column="1" Padding="5,1">
  1201. <TextBlock Text="Online" TextWrapping="Wrap" Foreground="{DynamicResource FG_Black}" FontSize="15" FontFamily="Arial" HorizontalAlignment="Center" VerticalAlignment="Center"/>
  1202. </Border>
  1203. </Grid>
  1204. <StackPanel Margin="0,5,0,10" Orientation="Horizontal" HorizontalAlignment="Center">
  1205. <Button Width="80" Height="25" Margin="10,0" Content="Offline" IsEnabled="{Binding IsOfflineButtonEnabled}">
  1206. <i:Interaction.Triggers>
  1207. <i:EventTrigger EventName="Click">
  1208. <cal:ActionMessage MethodName="SetOffline"/>
  1209. </i:EventTrigger>
  1210. </i:Interaction.Triggers>
  1211. </Button>
  1212. <Button Width="80" Height="25" Margin="10,0" Content="Online" IsEnabled="{Binding IsOnlineButtonEnabled}" >
  1213. <i:Interaction.Triggers>
  1214. <i:EventTrigger EventName="Click">
  1215. <cal:ActionMessage MethodName="SetOnline"/>
  1216. </i:EventTrigger>
  1217. </i:Interaction.Triggers>
  1218. </Button>
  1219. </StackPanel>
  1220. </StackPanel>
  1221. </Border>
  1222. <Border Grid.Row="2" BorderBrush="{DynamicResource Table_BD}" BorderThickness="1,0,1,1" Background="{DynamicResource Table_BG_FirstTitle}" Padding="5,1">
  1223. <StackPanel Orientation="Horizontal" HorizontalAlignment="Left" VerticalAlignment="Center">
  1224. <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">
  1225. <Path.RenderTransform>
  1226. <TransformGroup>
  1227. <ScaleTransform/>
  1228. <SkewTransform/>
  1229. <RotateTransform Angle="45"/>
  1230. <TranslateTransform/>
  1231. </TransformGroup>
  1232. </Path.RenderTransform>
  1233. </Path>
  1234. <TextBlock Margin="5,0,0,0" Text="Manual Operation" FontFamily="Arial" FontSize="14" Foreground="{DynamicResource FG_White}" HorizontalAlignment="Left" VerticalAlignment="Center"/>
  1235. </StackPanel>
  1236. </Border>
  1237. <Border Grid.Row="3" BorderBrush="{DynamicResource Table_BD}" Background="{DynamicResource Table_BG_Content}" BorderThickness="1,0,1,1" Padding="5,1">
  1238. <StackPanel HorizontalAlignment="Center" VerticalAlignment="Top" Margin="5,10">
  1239. <Grid>
  1240. <Grid.ColumnDefinitions>
  1241. <ColumnDefinition Width="140"/>
  1242. <ColumnDefinition Width="100"/>
  1243. </Grid.ColumnDefinitions>
  1244. <Grid.RowDefinitions>
  1245. <RowDefinition Height="24"/>
  1246. <RowDefinition Height="24"/>
  1247. <RowDefinition Height="24"/>
  1248. </Grid.RowDefinitions>
  1249. <Border BorderBrush="{DynamicResource Table_BD}" BorderThickness="1" Background="{DynamicResource Table_BG_Title}" Grid.Row="0" Padding="5,1">
  1250. <TextBlock Text="Chamber (mTorr)" TextWrapping="Wrap" Foreground="{DynamicResource FG_Black}" FontSize="12" FontFamily="Arial" VerticalAlignment="Center"/>
  1251. </Border>
  1252. <Border BorderBrush="{DynamicResource Table_BD}" BorderThickness="0,1,1,1" Background="{DynamicResource Table_BG_Content}" Grid.Row="0" Grid.Column="1" Padding="5,1">
  1253. <ctrl:TextBoxEx Text="{Binding Path=BasePressureSetPoint}" TextSaved="{Binding BasePressureSetPointSaved, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" EditBoxMode="UnSignDecimal" VerticalAlignment="Center"/>
  1254. </Border>
  1255. <Border BorderBrush="{DynamicResource Table_BD}" BorderThickness="1" Background="{DynamicResource Table_BG_Title}" Grid.Row="1" Padding="5,1">
  1256. <TextBlock Text="Max Pumpdown time(s)" TextWrapping="Wrap" Foreground="{DynamicResource FG_Black}" FontSize="12" FontFamily="Arial" VerticalAlignment="Center"/>
  1257. </Border>
  1258. <Border BorderBrush="{DynamicResource Table_BD}" BorderThickness="0,1,1,1" Background="{DynamicResource Table_BG_Content}" Grid.Row="1" Grid.Column="1" Padding="5,1">
  1259. <ctrl:TextBoxEx Text="{Binding Path=PumpLimitSetPoint}" TextSaved="{Binding PumpLimitSetPointSaved, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" EditBoxMode="UnSignInteger" VerticalAlignment="Center"/>
  1260. </Border>
  1261. <Border BorderBrush="{DynamicResource Table_BD}" BorderThickness="1" Background="{DynamicResource Table_BG_Title}" Grid.Row="2" Padding="5,1">
  1262. <TextBlock Text="Pumpdown time (s)" TextWrapping="Wrap" Foreground="{DynamicResource FG_Black}" FontSize="12" FontFamily="Arial" VerticalAlignment="Center"/>
  1263. </Border>
  1264. <Border BorderBrush="{DynamicResource Table_BD}" BorderThickness="0,1,1,1" Background="{DynamicResource Table_BG_Content}" Grid.Row="2" Grid.Column="1" Padding="5,1">
  1265. <TextBlock Text="{Binding Path=PumpTime}" VerticalAlignment="Center"/>
  1266. </Border>
  1267. </Grid>
  1268. <Grid>
  1269. <Grid.ColumnDefinitions>
  1270. <ColumnDefinition Width="*"/>
  1271. <ColumnDefinition Width="*"/>
  1272. </Grid.ColumnDefinitions>
  1273. <Grid.RowDefinitions>
  1274. <RowDefinition Height="50"/>
  1275. </Grid.RowDefinitions>
  1276. <Button Content="Pumpdown" Width="80" Height="25" Margin="0,10,0,0" IsEnabled="{Binding Path=IsManualMode}" Grid.Column="1"
  1277. Background="{Binding Path=PumpButtonBackground}">
  1278. <i:Interaction.Triggers>
  1279. <i:EventTrigger EventName="Click">
  1280. <cal:ActionMessage MethodName="DoPump"/>
  1281. </i:EventTrigger>
  1282. </i:Interaction.Triggers>
  1283. </Button>
  1284. <Button Content="Run Pump" Width="85" Height="25" Margin="0,10,0,0" IsEnabled="{Binding Path=IsManualMode}" Grid.Column="0"
  1285. Background="{Binding Path=PumpButtonBackground}">
  1286. <i:Interaction.Triggers>
  1287. <i:EventTrigger EventName="Click">
  1288. <cal:ActionMessage MethodName="DoStartPump"/>
  1289. </i:EventTrigger>
  1290. </i:Interaction.Triggers>
  1291. </Button>
  1292. </Grid>
  1293. </StackPanel>
  1294. </Border>
  1295. <Border Grid.Row="4" BorderBrush="{DynamicResource Table_BD}" Background="{DynamicResource Table_BG_Content}" BorderThickness="1,0,1,1" Padding="5,1">
  1296. <StackPanel Margin="0,10">
  1297. <!--流气-->
  1298. <Button Content="Gas Flow" Width="80" Height="25" Margin="0 0 0 10" IsEnabled="{Binding Path=IsManualMode}">
  1299. <i:Interaction.Triggers>
  1300. <i:EventTrigger EventName="Click">
  1301. <cal:ActionMessage MethodName="Gas"/>
  1302. </i:EventTrigger>
  1303. </i:Interaction.Triggers>
  1304. </Button>
  1305. <!--源射频-->
  1306. <Button Content="Start RF" Width="80" Height="25" Margin="0 0 0 10" IsEnabled="{Binding Path=IsRFEnabled}">
  1307. <i:Interaction.Triggers>
  1308. <i:EventTrigger EventName="Click">
  1309. <cal:ActionMessage MethodName="RF"/>
  1310. </i:EventTrigger>
  1311. </i:Interaction.Triggers>
  1312. </Button>
  1313. <!--加热基座-->
  1314. <Button Content="{Binding HeaterButtonContent}" Width="80" Height="0" Margin="0 0 0 0" IsEnabled="{Binding Path=IsHeaterButtonEnable}">
  1315. <i:Interaction.Triggers>
  1316. <i:EventTrigger EventName="Click">
  1317. <cal:ActionMessage MethodName="Heat"/>
  1318. </i:EventTrigger>
  1319. </i:Interaction.Triggers>
  1320. </Button>
  1321. <!--抽气-->
  1322. <Button Content="Purge" Width="80" Height="25" Margin="0 0 0 10" IsEnabled="{Binding Path=IsManualMode}">
  1323. <i:Interaction.Triggers>
  1324. <i:EventTrigger EventName="Click">
  1325. <cal:ActionMessage MethodName="Purge"/>
  1326. </i:EventTrigger>
  1327. </i:Interaction.Triggers>
  1328. </Button>
  1329. <Button Content="检测漏率" Width="80" Height="0" Margin="0 0 0 0" IsEnabled="{Binding Path=IsManualMode}">
  1330. <i:Interaction.Triggers>
  1331. <i:EventTrigger EventName="Click">
  1332. <cal:ActionMessage MethodName="LeakCheck"/>
  1333. </i:EventTrigger>
  1334. </i:Interaction.Triggers>
  1335. </Button>
  1336. </StackPanel>
  1337. </Border>
  1338. <Border Grid.Row="5" BorderBrush="{DynamicResource Table_BD}" CornerRadius="0,0,5,5" Background="{DynamicResource Table_BG_Content}" BorderThickness="1,0,1,1" Padding="5,1">
  1339. <Button Content="Vent" Width="80" Height="25" Margin="0,10" VerticalAlignment="Top" IsEnabled="{Binding Path=IsManualMode}">
  1340. <i:Interaction.Triggers>
  1341. <i:EventTrigger EventName="Click">
  1342. <cal:ActionMessage MethodName="Vent"/>
  1343. </i:EventTrigger>
  1344. </i:Interaction.Triggers>
  1345. </Button>
  1346. </Border>
  1347. </Grid>
  1348. </Grid>
  1349. </UserControl>