PmOverviewView.xaml 89 KB

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