PmOverviewView.xaml 102 KB

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