OverKepler2200AView.xaml 102 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245
  1. <UserControl x:Class="Venus_MainPages.Views.OverKepler2200AView"
  2. xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
  3. xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
  4. xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
  5. xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
  6. xmlns:local="clr-namespace:Venus_MainPages.Views"
  7. mc:Ignorable="d"
  8. xmlns:prism="http://prismlibrary.com/"
  9. xmlns:i="http://schemas.microsoft.com/expression/2010/interactivity"
  10. prism:ViewModelLocator.AutoWireViewModel="True"
  11. xmlns:unity="clr-namespace:Venus_MainPages.Unity"
  12. xmlns:ctrls="clr-namespace:Venus_Themes.UserControls;assembly=Venus_Themes"
  13. xmlns:customControls="clr-namespace:Venus_Themes.CustomControls;assembly=Venus_Themes"
  14. xmlns:userControls="clr-namespace:Venus_Themes.UserControls;assembly=Venus_Themes"
  15. xmlns:converters="clr-namespace:Venus_Themes.Converters;assembly=Venus_Themes"
  16. xmlns:attach="clr-namespace:Venus_UI.Themes.Attach;assembly=Venus_Themes"
  17. xmlns:converters2="clr-namespace:Venus_MainPages.Converters"
  18. d:DesignHeight="1450" Width="1900"
  19. >
  20. <UserControl.Resources>
  21. <LinearGradientBrush x:Key="buttonBrush" StartPoint="0.5,0" EndPoint="0.5,1">
  22. <GradientStop Color="White" Offset="0.0" />
  23. <GradientStop Color="Gray" Offset="0.1" />
  24. <GradientStop Color="White" Offset="1" />
  25. </LinearGradientBrush>
  26. <converters:ToBoolMultiValueConverter x:Key="toBoolMultiValueConverter"/>
  27. <converters:ToBoolMultiValueConverter2 x:Key="toBoolMultiValueConverter2"/>
  28. <converters:ToBoolMultiValueConverter3 x:Key="toBoolMultiValueConverter3"/>
  29. <converters:ToBoolMultiValueConverter4 x:Key="toBoolMultiValueConverter4"/>
  30. <converters:ToBoolMultiValueConverter5 x:Key="toBoolMultiValueConverter5"/>
  31. <converters:BoolToColor x:Key="boolToColor"/>
  32. <converters:BoolToColor2 x:Key="boolToColor2"/>
  33. <converters:BoolToColor3 x:Key="boolToColor3"/>
  34. <converters:BoolToColor4 x:Key="boolToColor4"/>
  35. <converters:BoolToColor5 x:Key="boolToColor5"/>
  36. <converters:BoolToBool x:Key="BoolToBool"/>
  37. <converters2:HeaterToStringConverter x:Key="HeaterToStringConverter"/>
  38. <converters:BoolToVisibility2 x:Key="BoolToVisibility2"/>
  39. </UserControl.Resources>
  40. <Canvas>
  41. <Grid Canvas.Left="50" Canvas.Top="62">
  42. <Grid.RowDefinitions>
  43. <RowDefinition/>
  44. </Grid.RowDefinitions>
  45. <Grid.ColumnDefinitions>
  46. <ColumnDefinition Width="Auto"/>
  47. <ColumnDefinition Width="Auto"/>
  48. <ColumnDefinition Width="Auto"/>
  49. <ColumnDefinition Width="Auto"/>
  50. <ColumnDefinition Width="Auto"/>
  51. <ColumnDefinition Width="Auto"/>
  52. <ColumnDefinition Width="Auto"/>
  53. <ColumnDefinition Width="Auto"/>
  54. <ColumnDefinition Width="Auto"/>
  55. <ColumnDefinition Width="Auto"/>
  56. <ColumnDefinition Width="Auto"/>
  57. <ColumnDefinition Width="Auto"/>
  58. <ColumnDefinition Width="Auto"/>
  59. <ColumnDefinition Width="Auto"/>
  60. <ColumnDefinition Width="Auto"/>
  61. <ColumnDefinition Width="Auto"/>
  62. <ColumnDefinition Width="Auto"/>
  63. <ColumnDefinition Width="Auto"/>
  64. <ColumnDefinition Width="Auto"/>
  65. </Grid.ColumnDefinitions>
  66. <TextBlock Text="RF Match Interlock" Margin="5,0,5,0" Grid.Column="0" FontSize="15" HorizontalAlignment="Center" VerticalAlignment="Center" />
  67. <Ellipse Grid.Column="1" Width="16" Height="16" Fill="{Binding SourceRFMatchInterlock,Converter={StaticResource boolToColor4}}" Stroke="Silver" StrokeThickness="2"></Ellipse>
  68. <TextBlock Text="Wafer Leak" Margin="15,0,5,0" Grid.Column="2" FontSize="15" HorizontalAlignment="Center" VerticalAlignment="Center" />
  69. <Ellipse Grid.Column="3" Width="16" Height="16" Fill="{Binding IsWLK,Converter={StaticResource boolToColor4}}" Stroke="Silver" StrokeThickness="2"></Ellipse>
  70. <TextBlock Text="Wafer Flow" Margin="15,0,5,0" Grid.Column="4" FontSize="15" HorizontalAlignment="Center" VerticalAlignment="Center" />
  71. <Ellipse Grid.Column="5" Width="16" Height="16" Fill="{Binding IsWaterFlowOk,Converter={StaticResource boolToColor4}}" Stroke="Silver" StrokeThickness="2"></Ellipse>
  72. <TextBlock Text="TurboPump InterLock" Margin="15,0,5,0" Grid.Column="6" FontSize="15" HorizontalAlignment="Center" VerticalAlignment="Center" />
  73. <Ellipse Grid.Column="7" Width="16" Height="16" Fill="{Binding IsTurboPumpInterlock,Converter={StaticResource boolToColor4}}" Stroke="Silver" StrokeThickness="2"></Ellipse>
  74. <TextBlock Text="CDA" Margin="15,0,5,0" Grid.Column="8" FontSize="15" HorizontalAlignment="Center" VerticalAlignment="Center" />
  75. <Ellipse Grid.Column="9" Width="16" Height="16" Fill="{Binding IsCDAOK,Converter={StaticResource boolToColor4}}" Stroke="Silver" StrokeThickness="2" ></Ellipse>
  76. <TextBlock Text="Gas Box Door" Margin="15,0,5,0" Grid.Column="10" FontSize="15" HorizontalAlignment="Center" VerticalAlignment="Center" />
  77. <Ellipse Grid.Column="11" Width="16" Height="16" Fill="{Binding SensorGasBoxDoor,Converter={StaticResource boolToColor4}}" Stroke="Silver" StrokeThickness="2"></Ellipse>
  78. <TextBlock Text="Gas Box Pressure" Margin="15,0,5,0" Grid.Column="12" FontSize="15" HorizontalAlignment="Center" VerticalAlignment="Center" />
  79. <Ellipse Grid.Column="13" Width="16" Height="16" Fill="{Binding SensorGasBoxPressure,Converter={StaticResource boolToColor4}}" Stroke="Silver" StrokeThickness="2"></Ellipse>
  80. <TextBlock Text="TurboPump AtSpeed" Margin="15,0,5,0" Grid.Column="14" FontSize="15" HorizontalAlignment="Center" VerticalAlignment="Center" />
  81. <Ellipse Grid.Column="15" Width="16" Height="16" Fill="{Binding IsTurboPumpAtSpeed,Converter={StaticResource boolToColor4}}" Stroke="Silver" StrokeThickness="2"></Ellipse>
  82. <!--<TextBlock Text="分子泵冷却水信号" Margin="15,0,5,0" Grid.Column="16" FontSize="15" HorizontalAlignment="Center" VerticalAlignment="Center" />
  83. <Ellipse Grid.Column="17" Width="16" Height="16" Fill="{Binding TurboPumpWaterFlowSwitch,Converter={StaticResource boolToColor4}}" Stroke="Silver" StrokeThickness="2"></Ellipse>-->
  84. </Grid>
  85. <!--</Border>-->
  86. <Canvas Canvas.Top="40" >
  87. <ctrls:Pipe2 Canvas.Left="489.8" Canvas.Top="502" HorizontalAlignment="Left" VerticalAlignment="Top" RotateTransformValue="90" />
  88. <!--N2-->
  89. <ctrls:FlowPipe Name="N2Pipe2" Height="8" Width="230" Canvas.Left="255" Canvas.Top="120">
  90. <ctrls:FlowPipe.IsFlowing>
  91. <MultiBinding Converter="{StaticResource toBoolMultiValueConverter}">
  92. <Binding Path="PVN22ValveIsOpen"/>
  93. <Binding Path="N2ValveIsOpen"/>
  94. </MultiBinding>
  95. </ctrls:FlowPipe.IsFlowing>
  96. </ctrls:FlowPipe>
  97. <TextBlock Text="N2" Canvas.Left="440" Canvas.Top="90"/>
  98. <customControls:CommonValveControl Status="{Binding N2ValveIsOpen,Mode=TwoWay}" ValveOrientation="Horizontal" Height="20" Width="20" Canvas.Left="436" Canvas.Top="114" IsCanEdit="{Binding IsAutoMode,Converter={StaticResource BoolToBool}}" Tag="10" Command="{Binding ControlValveCommand}" CommandParameter="{Binding RelativeSource={x:Static RelativeSource.Self}}"/>
  99. <ctrls:FlowPipe x:Name="N2Pipe1" Height="8" Width="193" Canvas.Left="64" Canvas.Top="120">
  100. <ctrls:FlowPipe.IsFlowing>
  101. <MultiBinding Converter="{StaticResource toBoolMultiValueConverter}">
  102. <Binding Path="PVN22ValveIsOpen"/>
  103. <Binding Path="N2ValveIsOpen"/>
  104. </MultiBinding>
  105. </ctrls:FlowPipe.IsFlowing>
  106. </ctrls:FlowPipe>
  107. <TextBlock Text="VN22" Canvas.Left="280" Canvas.Top="90"/>
  108. <customControls:CommonValveControl Status="{Binding PVN22ValveIsOpen,Mode=TwoWay}" ValveOrientation="Horizontal" Height="20" Width="20" Canvas.Left="288" Canvas.Top="114" IsCanEdit="{Binding IsAutoMode,Converter={StaticResource BoolToBool}}" Tag="1" Command="{Binding ControlValveCommand}" CommandParameter="{Binding RelativeSource={x:Static RelativeSource.Self}}"/>
  109. <ctrls:FlowPipe Height="8" Width="308" Canvas.Left="176" Canvas.Top="230" IsFlowing="{Binding MFC1ValveIsOpen}"/>
  110. <TextBlock Text="V1" Canvas.Left="438" Canvas.Top="208"/>
  111. <customControls:CommonValveControl Status="{Binding MFC1ValveIsOpen,Mode=TwoWay}" ValveOrientation="Horizontal" Height="20" Width="20" Canvas.Left="436" Canvas.Top="224" IsCanEdit="{Binding IsAutoMode,Converter={StaticResource BoolToBool}}" Tag="11" Command="{Binding ControlValveCommand}" CommandParameter="{Binding RelativeSource={x:Static RelativeSource.Self}}"/>
  112. <ctrls:FlowPipe Height="8" Width="114" Canvas.Left="64" Canvas.Top="230" IsFlowing="{Binding PV11ValveIsOpen}"/>
  113. <ctrls:FlowPipe Height="8" Width="80" Canvas.Left="177" Canvas.Top="266" IsFlowing="{Binding PV12ValveIsOpen}"/>
  114. <!--<ctrls:Pipe2 Canvas.Left="214" Canvas.Top="274" RotateTransformValue="-180"/>-->
  115. <ctrls:FlowPipe Height="8" Width="30" Canvas.Left="178" Canvas.Top="236" RotateTransformValue="90" IsFlowing="{Binding PV12ValveIsOpen}"/>
  116. <ctrls:Pipe2 Canvas.Left="183" Canvas.Top="274" HorizontalAlignment="Left" VerticalAlignment="Top" RotateTransformValue="-180" />
  117. <ctrls:FlowPipe Height="8" Width="145" Canvas.Left="257" Canvas.Top="126" RotateTransformValue="90" IsReverse="True">
  118. <ctrls:FlowPipe.IsFlowing>
  119. <MultiBinding Converter="{StaticResource toBoolMultiValueConverter2}">
  120. <Binding Path="PV12ValveIsOpen"/>
  121. <Binding Path="PV22ValveIsOpen"/>
  122. <Binding Path="PV32ValveIsOpen"/>
  123. <Binding Path="PV42ValveIsOpen"/>
  124. </MultiBinding>
  125. </ctrls:FlowPipe.IsFlowing>
  126. </ctrls:FlowPipe>
  127. <!--SF6-->
  128. <ctrls:FlowPipe Height="8" Width="310" Canvas.Left="174" Canvas.Top="286" IsFlowing="{Binding MFC2ValveIsOpen}"/>
  129. <TextBlock Text="V2" Canvas.Left="438" Canvas.Top="264"/>
  130. <customControls:CommonValveControl Status="{Binding MFC2ValveIsOpen,Mode=TwoWay}" ValveOrientation="Horizontal" Height="20" Width="20" Canvas.Left="436" Canvas.Top="280" IsCanEdit="{Binding IsAutoMode,Converter={StaticResource BoolToBool}}" Tag="12" Command="{Binding ControlValveCommand}" CommandParameter="{Binding RelativeSource={x:Static RelativeSource.Self}}"/>
  131. <ctrls:FlowPipe Height="8" Width="112" Canvas.Left="64" Canvas.Top="286" IsFlowing="{Binding PV21ValveIsOpen}"/>
  132. <ctrls:FlowPipe Height="8" Width="80" Canvas.Left="177" Canvas.Top="322" IsFlowing="{Binding PV22ValveIsOpen}"/>
  133. <ctrls:FlowPipe Height="8" Width="32" Canvas.Left="178" Canvas.Top="290" RotateTransformValue="90" IsFlowing="{Binding PV22ValveIsOpen}"/>
  134. <ctrls:Pipe2 Canvas.Left="183" Canvas.Top="330" HorizontalAlignment="Left" VerticalAlignment="Top" RotateTransformValue="-180" />
  135. <ctrls:FlowPipe Height="8" Width="55" Canvas.Left="257" Canvas.Top="270" RotateTransformValue="90" IsReverse="True" >
  136. <ctrls:FlowPipe.IsFlowing>
  137. <MultiBinding Converter="{StaticResource toBoolMultiValueConverter2}">
  138. <Binding Path="PV22ValveIsOpen"/>
  139. <Binding Path="PV32ValveIsOpen"/>
  140. <Binding Path="PV42ValveIsOpen"/>
  141. </MultiBinding>
  142. </ctrls:FlowPipe.IsFlowing>
  143. </ctrls:FlowPipe>
  144. <!--Gas3-->
  145. <ctrls:FlowPipe Height="8" Width="310" Canvas.Left="174" Canvas.Top="342" IsFlowing="{Binding MFC3ValveIsOpen}"/>
  146. <TextBlock Text="V3" Canvas.Left="438" Canvas.Top="320"/>
  147. <customControls:CommonValveControl Status="{Binding MFC3ValveIsOpen,Mode=TwoWay}" ValveOrientation="Horizontal" Height="20" Width="20" Canvas.Left="436" Canvas.Top="336" IsCanEdit="{Binding IsAutoMode,Converter={StaticResource BoolToBool}}" Tag="13" Command="{Binding ControlValveCommand}" CommandParameter="{Binding RelativeSource={x:Static RelativeSource.Self}}"/>
  148. <ctrls:FlowPipe Height="8" Width="112" Canvas.Left="64" Canvas.Top="342" IsFlowing="{Binding PV31ValveIsOpen}"/>
  149. <ctrls:FlowPipe Height="8" Width="80" Canvas.Left="177" Canvas.Top="378" IsFlowing="{Binding PV32ValveIsOpen}"/>
  150. <ctrls:FlowPipe Height="8" Width="30" Canvas.Left="178" Canvas.Top="348" RotateTransformValue="90" IsFlowing="{Binding PV32ValveIsOpen}"/>
  151. <ctrls:Pipe2 Canvas.Left="183" Canvas.Top="386" HorizontalAlignment="Left" VerticalAlignment="Top" RotateTransformValue="-180" />
  152. <ctrls:FlowPipe Height="8" Width="57" Canvas.Left="257" Canvas.Top="324" RotateTransformValue="90" IsReverse="True" >
  153. <ctrls:FlowPipe.IsFlowing>
  154. <MultiBinding Converter="{StaticResource toBoolMultiValueConverter2}">
  155. <Binding Path="PV32ValveIsOpen"/>
  156. <Binding Path="PV42ValveIsOpen"/>
  157. </MultiBinding>
  158. </ctrls:FlowPipe.IsFlowing>
  159. </ctrls:FlowPipe>
  160. <!--Gas4-->
  161. <ctrls:FlowPipe Height="8" Width="112" Canvas.Left="64" Canvas.Top="396" IsFlowing="{Binding PV41ValveIsOpen}"/>
  162. <ctrls:FlowPipe Height="8" Width="76" Canvas.Left="175" Canvas.Top="428" IsFlowing="{Binding PV42ValveIsOpen}"/>
  163. <ctrls:FlowPipe Height="8" Width="310" Canvas.Left="174" Canvas.Top="396" IsFlowing="{Binding MFC4ValveIsOpen}"/>
  164. <TextBlock Text="V4" Canvas.Left="438" Canvas.Top="374"/>
  165. <customControls:CommonValveControl Status="{Binding MFC4ValveIsOpen,Mode=TwoWay}" ValveOrientation="Horizontal" Height="20" Width="20" Canvas.Left="436" Canvas.Top="390" IsCanEdit="{Binding IsAutoMode,Converter={StaticResource BoolToBool}}" Tag="14" Command="{Binding ControlValveCommand}" CommandParameter="{Binding RelativeSource={x:Static RelativeSource.Self}}"/>
  166. <ctrls:FlowPipe Height="8" Width="50" Canvas.Left="257" Canvas.Top="380" RotateTransformValue="90" IsReverse="True">
  167. <ctrls:FlowPipe.IsFlowing>
  168. <MultiBinding Converter="{StaticResource toBoolMultiValueConverter2}">
  169. <Binding Path="PV42ValveIsOpen"/>
  170. </MultiBinding>
  171. </ctrls:FlowPipe.IsFlowing>
  172. </ctrls:FlowPipe>
  173. <ctrls:Pipe2 Canvas.Left="257" Canvas.Top="423" HorizontalAlignment="Left" VerticalAlignment="Top" RotateTransformValue="90" />
  174. <ctrls:FlowPipe Height="8" Width="30" Canvas.Left="178" Canvas.Top="401" RotateTransformValue="90" IsFlowing="{Binding PV42ValveIsOpen}"/>
  175. <ctrls:Pipe2 Canvas.Left="183" Canvas.Top="436" HorizontalAlignment="Left" VerticalAlignment="Top" RotateTransformValue="-180" />
  176. <!--Gas5-->
  177. <ctrls:FlowPipe Height="8" Width="419" Canvas.Left="64" Canvas.Top="452" IsFlowing="{Binding MFC5ValveIsOpen}"/>
  178. <TextBlock Text="V5" Canvas.Left="438" Canvas.Top="430"/>
  179. <customControls:CommonValveControl Status="{Binding MFC5ValveIsOpen,Mode=TwoWay}" ValveOrientation="Horizontal" Height="20" Width="20" Canvas.Left="436" Canvas.Top="446" IsCanEdit="{Binding IsAutoMode,Converter={StaticResource BoolToBool}}" Tag="15" Command="{Binding ControlValveCommand}" CommandParameter="{Binding RelativeSource={x:Static RelativeSource.Self}}"/>
  180. <!--O2-->
  181. <ctrls:FlowPipe Height="8" Width="415" Canvas.Left="65" Canvas.Top="507" IsFlowing="{Binding MFC6ValveIsOpen}"/>
  182. <TextBlock Text="V6" Canvas.Left="438" Canvas.Top="485"/>
  183. <customControls:CommonValveControl Status="{Binding MFC6ValveIsOpen,Mode=TwoWay}" ValveOrientation="Horizontal" Height="20" Width="20" Canvas.Left="436" Canvas.Top="501" IsCanEdit="{Binding IsAutoMode,Converter={StaticResource BoolToBool}}" Tag="16" Command="{Binding ControlValveCommand}" CommandParameter="{Binding RelativeSource={x:Static RelativeSource.Self}}"/>
  184. <!--Gas7-->
  185. <!--<ctrls:FlowPipe Height="8" Width="418" Canvas.Left="65" Canvas.Top="563" IsFlowing="{Binding MFC7ValveIsOpen}"/>-->
  186. <!--<TextBlock Text="V7" Canvas.Left="438" Canvas.Top="541"/>-->
  187. <!--<customControls:CommonValveControl Status="{Binding MFC7ValveIsOpen,Mode=TwoWay}" ValveOrientation="Horizontal" Height="20" Width="20" Canvas.Left="436" Canvas.Top="557" IsCanEdit="{Binding IsAutoMode,Converter={StaticResource BoolToBool}}" Tag="17" Command="{Binding ControlValveCommand}" CommandParameter="{Binding RelativeSource={x:Static RelativeSource.Self}}"/>-->
  188. <!--Gas8-->
  189. <!--<ctrls:FlowPipe Height="8" Width="412" Canvas.Left="68" Canvas.Top="620" IsFlowing="{Binding MFC8ValveIsOpen}"/>-->
  190. <!--<TextBlock Text="V8" Canvas.Left="438" Canvas.Top="598"/>-->
  191. <!--<customControls:CommonValveControl Status="{Binding MFC8ValveIsOpen,Mode=TwoWay}" ValveOrientation="Horizontal" Height="20" Width="20" Canvas.Left="436" Canvas.Top="614" IsCanEdit="{Binding IsAutoMode,Converter={StaticResource BoolToBool}}" Tag="18" Command="{Binding ControlValveCommand}" CommandParameter="{Binding RelativeSource={x:Static RelativeSource.Self}}"/>-->
  192. <!--<TextBlock Text="Pressure Alarm" Canvas.Left="68" Canvas.Top="94"/>-->
  193. <Ellipse Width="20" Height="20" Canvas.Left="90" Canvas.Top="114" Fill="{Binding MFCN2Data.IsWarning,Converter={StaticResource boolToColor4}}" Stroke="Silver" StrokeThickness="2" ToolTip="Pressure Alarm"></Ellipse>
  194. <Ellipse Width="20" Height="20" Canvas.Left="90" Canvas.Top="224" Fill="{Binding MFC1Data.IsWarning,Converter={StaticResource boolToColor4}}" Stroke="Silver" StrokeThickness="2" ToolTip="Pressure Alarm"></Ellipse>
  195. <Ellipse Width="20" Height="20" Canvas.Left="90" Canvas.Top="280" Fill="{Binding MFC2Data.IsWarning,Converter={StaticResource boolToColor4}}" Stroke="Silver" StrokeThickness="2" ToolTip="Pressure Alarm"></Ellipse>
  196. <Ellipse Width="20" Height="20" Canvas.Left="90" Canvas.Top="336" Fill="{Binding MFC3Data.IsWarning,Converter={StaticResource boolToColor4}}" Stroke="Silver" StrokeThickness="2" ToolTip="Pressure Alarm"></Ellipse>
  197. <Ellipse Width="20" Height="20" Canvas.Left="90" Canvas.Top="390" Fill="{Binding MFC4Data.IsWarning,Converter={StaticResource boolToColor4}}" Stroke="Silver" StrokeThickness="2" ToolTip="Pressure Alarm"></Ellipse>
  198. <Ellipse Width="20" Height="20" Canvas.Left="90" Canvas.Top="446" Fill="{Binding MFC5Data.IsWarning,Converter={StaticResource boolToColor4}}" Stroke="Silver" StrokeThickness="2" ToolTip="Pressure Alarm"></Ellipse>
  199. <Ellipse Width="20" Height="20" Canvas.Left="90" Canvas.Top="501" Fill="{Binding MFC6Data.IsWarning,Converter={StaticResource boolToColor4}}" Stroke="Silver" StrokeThickness="2" ToolTip="Pressure Alarm"></Ellipse>
  200. <!--<Ellipse Width="20" Height="20" Canvas.Left="90" Canvas.Top="557" Fill="{Binding MFC7Data.IsWarning,Converter={StaticResource boolToColor4}}" Stroke="Silver" StrokeThickness="2" ToolTip="Pressure Alarm"></Ellipse>-->
  201. <!--<Ellipse Width="20" Height="20" Canvas.Left="90" Canvas.Top="614" Fill="{Binding MFC8Data.IsWarning,Converter={StaticResource boolToColor4}}" Stroke="Silver" StrokeThickness="2" ToolTip="Pressure Alarm"></Ellipse>-->
  202. <!--与chamber上方连接的管道-->
  203. <ctrls:FlowPipe Height="8" Width="180" Canvas.Left="482" Canvas.Top="120">
  204. <ctrls:FlowPipe.IsFlowing>
  205. <MultiBinding Converter="{StaticResource toBoolMultiValueConverter5}">
  206. <Binding Path="GasFinalValveIsOpen"/>
  207. <Binding Path="PurgeValveIsOpen"/>
  208. <Binding Path="N2ValveIsOpen"/>
  209. <Binding Path="PV11ValveIsOpen"/>
  210. <Binding Path="PV21ValveIsOpen"/>
  211. <Binding Path="PV31ValveIsOpen"/>
  212. <Binding Path="PV41ValveIsOpen"/>
  213. <Binding Path="MFC5ValveIsOpen"/>
  214. <Binding Path="MFC6ValveIsOpen"/>
  215. <Binding Path="MFC7ValveIsOpen"/>
  216. <Binding Path="MFC8ValveIsOpen"/>
  217. </MultiBinding>
  218. </ctrls:FlowPipe.IsFlowing>
  219. </ctrls:FlowPipe>
  220. <ctrls:FlowPipe Height="8" Width="154" Canvas.Left="660" Canvas.Top="120">
  221. <ctrls:FlowPipe.IsFlowing>
  222. <MultiBinding Converter="{StaticResource toBoolMultiValueConverter4}">
  223. <Binding Path="GasFinalValveIsOpen"/>
  224. <Binding Path="N2ValveIsOpen"/>
  225. <Binding Path="PV11ValveIsOpen"/>
  226. <Binding Path="PV21ValveIsOpen"/>
  227. <Binding Path="PV31ValveIsOpen"/>
  228. <Binding Path="PV41ValveIsOpen"/>
  229. <Binding Path="MFC5ValveIsOpen"/>
  230. <Binding Path="MFC6ValveIsOpen"/>
  231. <Binding Path="MFC7ValveIsOpen"/>
  232. <Binding Path="MFC8ValveIsOpen"/>
  233. </MultiBinding>
  234. </ctrls:FlowPipe.IsFlowing>
  235. </ctrls:FlowPipe>
  236. <ctrls:FlowPipe Height="8" Width="150" Canvas.Left="812" Canvas.Top="120">
  237. <ctrls:FlowPipe.IsFlowing>
  238. <MultiBinding Converter="{StaticResource toBoolMultiValueConverter5}">
  239. <Binding Path="GasFinalValveIsOpen"/>
  240. <Binding Path="PurgeValveIsOpen"/>
  241. <Binding Path="N2ValveIsOpen"/>
  242. <Binding Path="PV11ValveIsOpen"/>
  243. <Binding Path="PV21ValveIsOpen"/>
  244. <Binding Path="PV31ValveIsOpen"/>
  245. <Binding Path="PV41ValveIsOpen"/>
  246. <Binding Path="MFC5ValveIsOpen"/>
  247. <Binding Path="MFC6ValveIsOpen"/>
  248. <Binding Path="MFC7ValveIsOpen"/>
  249. <Binding Path="MFC8ValveIsOpen"/>
  250. </MultiBinding>
  251. </ctrls:FlowPipe.IsFlowing>
  252. </ctrls:FlowPipe>
  253. <ctrls:FlowPipe Height="8" Width="144" Canvas.Left="662" Canvas.Top="80">
  254. <ctrls:FlowPipe.IsFlowing>
  255. <MultiBinding Converter="{StaticResource toBoolMultiValueConverter4}">
  256. <Binding Path="PurgeValveIsOpen"/>
  257. <Binding Path="N2ValveIsOpen"/>
  258. <Binding Path="PV11ValveIsOpen"/>
  259. <Binding Path="PV21ValveIsOpen"/>
  260. <Binding Path="PV31ValveIsOpen"/>
  261. <Binding Path="PV41ValveIsOpen"/>
  262. <Binding Path="MFC5ValveIsOpen"/>
  263. <Binding Path="MFC6ValveIsOpen"/>
  264. <Binding Path="MFC7ValveIsOpen"/>
  265. <Binding Path="MFC8ValveIsOpen"/>
  266. </MultiBinding>
  267. </ctrls:FlowPipe.IsFlowing>
  268. </ctrls:FlowPipe>
  269. <ctrls:FlowPipe Height="8" Width="36" Canvas.Left="815" Canvas.Top="85" RotateTransformValue="90" IsReverse="False">
  270. <ctrls:FlowPipe.IsFlowing>
  271. <MultiBinding Converter="{StaticResource toBoolMultiValueConverter4}">
  272. <Binding Path="PurgeValveIsOpen"/>
  273. <Binding Path="N2ValveIsOpen"/>
  274. <Binding Path="PV11ValveIsOpen"/>
  275. <Binding Path="PV21ValveIsOpen"/>
  276. <Binding Path="PV31ValveIsOpen"/>
  277. <Binding Path="PV41ValveIsOpen"/>
  278. <Binding Path="MFC5ValveIsOpen"/>
  279. <Binding Path="MFC6ValveIsOpen"/>
  280. <Binding Path="MFC7ValveIsOpen"/>
  281. <Binding Path="MFC8ValveIsOpen"/>
  282. </MultiBinding>
  283. </ctrls:FlowPipe.IsFlowing>
  284. </ctrls:FlowPipe>
  285. <ctrls:FlowPipe Height="8" Width="34" Canvas.Left="665" Canvas.Top="88" RotateTransformValue="90" IsReverse="True">
  286. <ctrls:FlowPipe.IsFlowing>
  287. <MultiBinding Converter="{StaticResource toBoolMultiValueConverter4}">
  288. <Binding Path="PurgeValveIsOpen"/>
  289. <Binding Path="N2ValveIsOpen"/>
  290. <Binding Path="PV11ValveIsOpen"/>
  291. <Binding Path="PV21ValveIsOpen"/>
  292. <Binding Path="PV31ValveIsOpen"/>
  293. <Binding Path="PV41ValveIsOpen"/>
  294. <Binding Path="MFC5ValveIsOpen"/>
  295. <Binding Path="MFC6ValveIsOpen"/>
  296. <Binding Path="MFC7ValveIsOpen"/>
  297. <Binding Path="MFC8ValveIsOpen"/>
  298. </MultiBinding>
  299. </ctrls:FlowPipe.IsFlowing>
  300. </ctrls:FlowPipe>
  301. <ctrls:Pipe2 Canvas.Left="802" Canvas.Top="80" HorizontalAlignment="Left" VerticalAlignment="Top" />
  302. <ctrls:Pipe2 Canvas.Left="657" Canvas.Top="93" HorizontalAlignment="Left" VerticalAlignment="Top" RotateTransformValue="-90" />
  303. <customControls:CommonValveControl Status="{Binding PurgeValveIsOpen,Mode=TwoWay}" ValveOrientation="Horizontal" Height="20" Width="20" Canvas.Left="728" Canvas.Top="74" IsCanEdit="{Binding IsAutoMode,Converter={StaticResource BoolToBool}}" Tag="53" Command="{Binding ControlValveCommand}" CommandParameter="{Binding RelativeSource={x:Static RelativeSource.Self}}"/>
  304. <TextBlock Text="Purge" Canvas.Left="720" Canvas.Top="50" FontSize="15"/>
  305. <TextBlock Text="Gas Final" Canvas.Left="710" Canvas.Top="140" FontSize="15"/>
  306. <customControls:CommonValveControl Status="{Binding GasFinalValveIsOpen,Mode=TwoWay}" ValveOrientation="Horizontal" Height="20" Width="20" Canvas.Left="728" Canvas.Top="114" IsCanEdit="{Binding IsAutoMode,Converter={StaticResource BoolToBool}}" Tag="21" Command="{Binding ControlValveCommand}" CommandParameter="{Binding RelativeSource={x:Static RelativeSource.Self}}"/>
  307. <ctrls:Pipe2 Canvas.Left="960" Canvas.Top="120" HorizontalAlignment="Left" VerticalAlignment="Top" />
  308. <ctrls:FlowPipe Name="l8" Height="8" Width="56" Canvas.Left="490" Canvas.Top="126" RotateTransformValue="90" IsReverse="True">
  309. <ctrls:FlowPipe.IsFlowing>
  310. <MultiBinding Converter="{StaticResource toBoolMultiValueConverter2}">
  311. <Binding Path="MFC1ValveIsOpen"/>
  312. <Binding Path="MFC2ValveIsOpen"/>
  313. <Binding Path="MFC3ValveIsOpen"/>
  314. <Binding Path="MFC4ValveIsOpen"/>
  315. <Binding Path="MFC5ValveIsOpen"/>
  316. <Binding Path="MFC6ValveIsOpen"/>
  317. <Binding Path="MFC7ValveIsOpen"/>
  318. <Binding Path="MFC8ValveIsOpen"/>
  319. </MultiBinding>
  320. </ctrls:FlowPipe.IsFlowing>
  321. </ctrls:FlowPipe>
  322. <ctrls:FlowPipe Height="8" Width="56" Canvas.Left="490" Canvas.Top="180" RotateTransformValue="90" IsReverse="True">
  323. <ctrls:FlowPipe.IsFlowing>
  324. <MultiBinding Converter="{StaticResource toBoolMultiValueConverter2}">
  325. <Binding Path="MFC1ValveIsOpen"/>
  326. <Binding Path="MFC2ValveIsOpen"/>
  327. <Binding Path="MFC3ValveIsOpen"/>
  328. <Binding Path="MFC4ValveIsOpen"/>
  329. <Binding Path="MFC5ValveIsOpen"/>
  330. <Binding Path="MFC6ValveIsOpen"/>
  331. <Binding Path="MFC7ValveIsOpen"/>
  332. <Binding Path="MFC8ValveIsOpen"/>
  333. </MultiBinding>
  334. </ctrls:FlowPipe.IsFlowing>
  335. </ctrls:FlowPipe>
  336. <ctrls:FlowPipe Height="8" Width="58" Canvas.Left="490" Canvas.Top="234" RotateTransformValue="90" IsReverse="True">
  337. <ctrls:FlowPipe.IsFlowing>
  338. <MultiBinding Converter="{StaticResource toBoolMultiValueConverter2}">
  339. <Binding Path="MFC2ValveIsOpen"/>
  340. <Binding Path="MFC3ValveIsOpen"/>
  341. <Binding Path="MFC4ValveIsOpen"/>
  342. <Binding Path="MFC5ValveIsOpen"/>
  343. <Binding Path="MFC6ValveIsOpen"/>
  344. <Binding Path="MFC7ValveIsOpen"/>
  345. <Binding Path="MFC8ValveIsOpen"/>
  346. </MultiBinding>
  347. </ctrls:FlowPipe.IsFlowing>
  348. </ctrls:FlowPipe>
  349. <ctrls:FlowPipe Height="8" Width="56" Canvas.Left="490" Canvas.Top="290" RotateTransformValue="90" IsReverse="True">
  350. <ctrls:FlowPipe.IsFlowing>
  351. <MultiBinding Converter="{StaticResource toBoolMultiValueConverter2}">
  352. <Binding Path="MFC3ValveIsOpen"/>
  353. <Binding Path="MFC4ValveIsOpen"/>
  354. <Binding Path="MFC5ValveIsOpen"/>
  355. <Binding Path="MFC6ValveIsOpen"/>
  356. <Binding Path="MFC7ValveIsOpen"/>
  357. <Binding Path="MFC8ValveIsOpen"/>
  358. </MultiBinding>
  359. </ctrls:FlowPipe.IsFlowing>
  360. </ctrls:FlowPipe>
  361. <ctrls:FlowPipe Height="8" Width="58" Canvas.Left="490" Canvas.Top="344" RotateTransformValue="90" IsReverse="True">
  362. <ctrls:FlowPipe.IsFlowing>
  363. <MultiBinding Converter="{StaticResource toBoolMultiValueConverter2}">
  364. <Binding Path="MFC4ValveIsOpen"/>
  365. <Binding Path="MFC5ValveIsOpen"/>
  366. <Binding Path="MFC6ValveIsOpen"/>
  367. <Binding Path="MFC7ValveIsOpen"/>
  368. <Binding Path="MFC8ValveIsOpen"/>
  369. </MultiBinding>
  370. </ctrls:FlowPipe.IsFlowing>
  371. </ctrls:FlowPipe>
  372. <ctrls:FlowPipe Height="8" Width="58" Canvas.Left="490" Canvas.Top="400" RotateTransformValue="90" IsReverse="True">
  373. <ctrls:FlowPipe.IsFlowing>
  374. <MultiBinding Converter="{StaticResource toBoolMultiValueConverter2}">
  375. <Binding Path="MFC5ValveIsOpen"/>
  376. <Binding Path="MFC6ValveIsOpen"/>
  377. <Binding Path="MFC7ValveIsOpen"/>
  378. <Binding Path="MFC8ValveIsOpen"/>
  379. </MultiBinding>
  380. </ctrls:FlowPipe.IsFlowing>
  381. </ctrls:FlowPipe>
  382. <ctrls:FlowPipe Height="8" Width="50" Canvas.Left="490" Canvas.Top="456" RotateTransformValue="90" IsReverse="True">
  383. <ctrls:FlowPipe.IsFlowing>
  384. <MultiBinding Converter="{StaticResource toBoolMultiValueConverter2}">
  385. <Binding Path="MFC6ValveIsOpen"/>
  386. <Binding Path="MFC7ValveIsOpen"/>
  387. <Binding Path="MFC8ValveIsOpen"/>
  388. </MultiBinding>
  389. </ctrls:FlowPipe.IsFlowing>
  390. </ctrls:FlowPipe>
  391. <!--<ctrls:FlowPipe Height="8" Width="48" Canvas.Left="490" Canvas.Top="512" RotateTransformValue="90" IsReverse="True">
  392. <ctrls:FlowPipe.IsFlowing>
  393. <MultiBinding Converter="{StaticResource toBoolMultiValueConverter2}">
  394. <Binding Path="MFC7ValveIsOpen"/>
  395. <Binding Path="MFC8ValveIsOpen"/>
  396. </MultiBinding>
  397. </ctrls:FlowPipe.IsFlowing>
  398. </ctrls:FlowPipe>-->
  399. <!--<ctrls:FlowPipe Height="8" Width="48" Canvas.Left="490" Canvas.Top="568" RotateTransformValue="90" IsReverse="True">
  400. <ctrls:FlowPipe.IsFlowing>
  401. <MultiBinding Converter="{StaticResource toBoolMultiValueConverter2}">
  402. <Binding Path="MFC8ValveIsOpen"/>
  403. </MultiBinding>
  404. </ctrls:FlowPipe.IsFlowing>
  405. </ctrls:FlowPipe>-->
  406. <ctrls:FlowPipe Height="8" Width="110" Canvas.Left="973" Canvas.Top="129" RotateTransformValue="90">
  407. <ctrls:FlowPipe.IsFlowing>
  408. <MultiBinding Converter="{StaticResource toBoolMultiValueConverter5}">
  409. <Binding Path="GasFinalValveIsOpen"/>
  410. <Binding Path="PurgeValveIsOpen"/>
  411. <Binding Path="N2ValveIsOpen"/>
  412. <Binding Path="PV11ValveIsOpen"/>
  413. <Binding Path="PV21ValveIsOpen"/>
  414. <Binding Path="PV31ValveIsOpen"/>
  415. <Binding Path="PV41ValveIsOpen"/>
  416. <Binding Path="MFC5ValveIsOpen"/>
  417. <Binding Path="MFC6ValveIsOpen"/>
  418. <Binding Path="MFC7ValveIsOpen"/>
  419. <Binding Path="MFC8ValveIsOpen"/>
  420. </MultiBinding>
  421. </ctrls:FlowPipe.IsFlowing>
  422. </ctrls:FlowPipe>
  423. <!--阀-->
  424. <TextBlock Text="V41" Canvas.Left="128" Canvas.Top="374"/>
  425. <customControls:CommonValveControl Status="{Binding PV41ValveIsOpen,Mode=TwoWay}" ValveOrientation="Horizontal" Height="20" Width="20" Canvas.Left="127" Canvas.Top="390" IsCanEdit="{Binding IsAutoMode,Converter={StaticResource BoolToBool}}" Tag="8" Command="{Binding ControlValveCommand}" CommandParameter="{Binding RelativeSource={x:Static RelativeSource.Self}}"/>
  426. <TextBlock Text="V31" Canvas.Left="128" Canvas.Top="320"/>
  427. <customControls:CommonValveControl Status="{Binding PV31ValveIsOpen,Mode=TwoWay}" ValveOrientation="Horizontal" Height="20" Width="20" Canvas.Left="127" Canvas.Top="336" Tag="6" IsCanEdit="{Binding IsAutoMode,Converter={StaticResource BoolToBool}}" Command="{Binding ControlValveCommand}" CommandParameter="{Binding RelativeSource={x:Static RelativeSource.Self}}"/>
  428. <TextBlock Text="V21" Canvas.Left="128" Canvas.Top="266"/>
  429. <customControls:CommonValveControl Status="{Binding PV21ValveIsOpen,Mode=TwoWay}" ValveOrientation="Horizontal" Height="20" Width="20" Canvas.Left="127" Canvas.Top="280" Tag="4" IsCanEdit="{Binding IsAutoMode,Converter={StaticResource BoolToBool}}" Command="{Binding ControlValveCommand}" CommandParameter="{Binding RelativeSource={x:Static RelativeSource.Self}}"/>
  430. <TextBlock Text="V11" Canvas.Left="128" Canvas.Top="208"/>
  431. <customControls:CommonValveControl Status="{Binding PV11ValveIsOpen,Mode=TwoWay}" ValveOrientation="Horizontal" Height="20" Width="20" Canvas.Left="127" Canvas.Top="224" Tag="2" IsCanEdit="{Binding IsAutoMode,Converter={StaticResource BoolToBool}}" Command="{Binding ControlValveCommand}" CommandParameter="{Binding RelativeSource={x:Static RelativeSource.Self}}"/>
  432. <TextBlock Text="V12" Canvas.Left="200" Canvas.Top="243"/>
  433. <customControls:CommonValveControl Status="{Binding PV12ValveIsOpen,Mode=TwoWay}" ValveOrientation="Horizontal" Height="20" Width="20" Canvas.Left="200" Canvas.Top="259" IsCanEdit="{Binding IsAutoMode,Converter={StaticResource BoolToBool}}" Tag="3" Command="{Binding ControlValveCommand}" CommandParameter="{Binding RelativeSource={x:Static RelativeSource.Self}}"/>
  434. <TextBlock Text="V22" Canvas.Left="200" Canvas.Top="300"/>
  435. <customControls:CommonValveControl Status="{Binding PV22ValveIsOpen,Mode=TwoWay}" ValveOrientation="Horizontal" Height="20" Width="20" Canvas.Left="200" Canvas.Top="315" IsCanEdit="{Binding IsAutoMode,Converter={StaticResource BoolToBool}}" Tag="5" Command="{Binding ControlValveCommand}" CommandParameter="{Binding RelativeSource={x:Static RelativeSource.Self}}"/>
  436. <TextBlock Text="V32" Canvas.Left="200" Canvas.Top="355"/>
  437. <customControls:CommonValveControl Status="{Binding PV32ValveIsOpen,Mode=TwoWay}" ValveOrientation="Horizontal" Height="20" Width="20" Canvas.Left="200" Canvas.Top="371" IsCanEdit="{Binding IsAutoMode,Converter={StaticResource BoolToBool}}" Tag="7" Command="{Binding ControlValveCommand}" CommandParameter="{Binding RelativeSource={x:Static RelativeSource.Self}}"/>
  438. <TextBlock Text="V42" Canvas.Left="200" Canvas.Top="405"/>
  439. <customControls:CommonValveControl Status="{Binding PV42ValveIsOpen,Mode=TwoWay}" ValveOrientation="Horizontal" Height="20" Width="20" Canvas.Left="200" Canvas.Top="421" IsCanEdit="{Binding IsAutoMode,Converter={StaticResource BoolToBool}}" Tag="9" Command="{Binding ControlValveCommand}" CommandParameter="{Binding RelativeSource={x:Static RelativeSource.Self}}"/>
  440. <TextBlock Text="VN21" Canvas.Left="200" Canvas.Top="152"/>
  441. <customControls:CommonValveControl Status="{Binding PVN21ValveIsOpen,Mode=TwoWay}" ValveOrientation="Vertical" Height="20" Width="20" Canvas.Left="243" Canvas.Top="148" IsCanEdit="{Binding IsAutoMode,Converter={StaticResource BoolToBool}}" Tag="0" Command="{Binding ControlValveCommand}" CommandParameter="{Binding RelativeSource={x:Static RelativeSource.Self}}"/>
  442. <!--左侧管道标签-->
  443. <ctrls:TextboxWithLabel TextBoxValue="{Binding MFC1SetPoint,Mode=TwoWay,UpdateSourceTrigger=PropertyChanged}" IsReadOnly="False" Canvas.Top="205" Canvas.Left="275" LabelValue="MFC1" ToolTip="{Binding MFC1Data.SetPoint,StringFormat='F1'}" TextBoxColor="White" MaxValue="{Binding MFC1Data.Scale}"/>
  444. <!--<TextBox Canvas.Top="205" Canvas.Left="250" Width="100" Text="{Binding MfcGas1Setpoint,Mode=TwoWay}"/>-->
  445. <ctrls:TextboxWithLabel Canvas.Top="205" Canvas.Left="345" LabelValue="Flow" TextBoxValue="{Binding MFC1Data.FeedBack,StringFormat='F1'}" TextBoxColor="#D7E4BD"/>
  446. <ctrls:TextboxWithLabel TextBoxValue="{Binding MFC2SetPoint,Mode=TwoWay,UpdateSourceTrigger=PropertyChanged}" IsReadOnly="False" Canvas.Top="260" Canvas.Left="275" LabelValue="MFC2" ToolTip="{Binding MFC2Data.SetPoint,StringFormat='F1'}" TextBoxColor="White" MaxValue="{Binding MFC2Data.Scale}"/>
  447. <ctrls:TextboxWithLabel Canvas.Top="260" Canvas.Left="345" LabelValue="Flow" TextBoxValue="{Binding MFC2Data.FeedBack,StringFormat='F1'}" TextBoxColor="#D7E4BD"/>
  448. <ctrls:TextboxWithLabel TextBoxValue="{Binding MFC3SetPoint,Mode=TwoWay,UpdateSourceTrigger=PropertyChanged}" IsReadOnly="False" Canvas.Top="318" Canvas.Left="275" LabelValue="MFC3" ToolTip="{Binding MFC3Data.SetPoint,StringFormat='F1'}" TextBoxColor="White" MaxValue="{Binding MFC3Data.Scale}"/>
  449. <ctrls:TextboxWithLabel Canvas.Top="318" Canvas.Left="345" LabelValue="Flow" TextBoxValue="{Binding MFC3Data.FeedBack,StringFormat='F1'}" TextBoxColor="#D7E4BD"/>
  450. <ctrls:TextboxWithLabel TextBoxValue="{Binding MFC4SetPoint,Mode=TwoWay,UpdateSourceTrigger=PropertyChanged}" IsReadOnly="False" Canvas.Top="370" Canvas.Left="275" LabelValue="MFC4" ToolTip="{Binding MFC4Data.SetPoint,StringFormat='F1'}" TextBoxColor="White" MaxValue="{Binding MFC4Data.Scale}"/>
  451. <ctrls:TextboxWithLabel Canvas.Top="370" Canvas.Left="345" LabelValue="Flow" TextBoxValue="{Binding MFC4Data.FeedBack,StringFormat='F1'}" TextBoxColor="#D7E4BD"/>
  452. <ctrls:TextboxWithLabel TextBoxValue="{Binding MFC5SetPoint,Mode=TwoWay,UpdateSourceTrigger=PropertyChanged}" IsReadOnly="False" Canvas.Top="426" Canvas.Left="275" LabelValue="MFC5" ToolTip="{Binding MFC5Data.SetPoint,StringFormat='F1'}" TextBoxColor="White" MaxValue="{Binding MFC5Data.Scale}"/>
  453. <ctrls:TextboxWithLabel Canvas.Top="426" Canvas.Left="345" LabelValue="Flow" TextBoxValue="{Binding MFC5Data.FeedBack,StringFormat='F1'}" TextBoxColor="#D7E4BD"/>
  454. <ctrls:TextboxWithLabel TextBoxValue="{Binding MFC6SetPoint,Mode=TwoWay,UpdateSourceTrigger=PropertyChanged}" IsReadOnly="False" Canvas.Top="482" Canvas.Left="275" LabelValue="MFC6" ToolTip="{Binding MFC6Data.SetPoint,StringFormat='F1'}" TextBoxColor="White" MaxValue="{Binding MFC6Data.Scale}"/>
  455. <ctrls:TextboxWithLabel Canvas.Top="482" Canvas.Left="345" LabelValue="Flow" TextBoxValue="{Binding MFC6Data.FeedBack,StringFormat='F1'}" TextBoxColor="#D7E4BD"/>
  456. <!--<ctrls:TextboxWithLabel TextBoxValue="{Binding MFC7SetPoint,Mode=TwoWay,UpdateSourceTrigger=PropertyChanged}" IsReadOnly="False" Canvas.Top="538" Canvas.Left="275" LabelValue="MFC7" ToolTip="{Binding MFC7Data.SetPoint,StringFormat='F1'}" TextBoxColor="White" MaxValue="{Binding MFC7Data.Scale}"/>
  457. <ctrls:TextboxWithLabel Canvas.Top="538" Canvas.Left="345" LabelValue="Flow" TextBoxValue="{Binding MFC7Data.FeedBack,StringFormat='F1'}" TextBoxColor="#D7E4BD"/>
  458. <ctrls:TextboxWithLabel TextBoxValue="{Binding MFC8SetPoint,Mode=TwoWay,UpdateSourceTrigger=PropertyChanged}" IsReadOnly="False" Canvas.Top="595" Canvas.Left="275" LabelValue="MFC8" ToolTip="{Binding MFC8Data.SetPoint,StringFormat='F1'}" TextBoxColor="White" MaxValue="{Binding MFC8Data.Scale}"/>
  459. <ctrls:TextboxWithLabel Canvas.Top="595" Canvas.Left="345" LabelValue="Flow" TextBoxValue="{Binding MFC8Data.FeedBack,StringFormat='F1'}" TextBoxColor="#D7E4BD"/>-->
  460. <Ellipse Width="20" Height="20" Fill="{Binding GasIsFlowing,Converter={StaticResource boolToColor}}" Canvas.Left="360" Canvas.Top="538" Stroke="Silver" StrokeThickness="2"/>
  461. <Button Width="100" Content="Gas ON/OFF" Canvas.Left="390" Canvas.Top="540" Style="{StaticResource SysBtnStyle}" Command="{Binding GasCommand}" IsEnabled="{Binding IsAutoMode,Converter={StaticResource BoolToBool}}"/>
  462. <TextBlock FontSize="13" Text="Vent N2" Canvas.Left="10" Canvas.Top="117" Foreground="Black" Block.TextAlignment="Right" Width="50"/>
  463. <TextBlock FontSize="13" Canvas.Left="-5" Canvas.Top="227" Block.TextAlignment="Right" MaxWidth="65">
  464. <TextBlock.Text>
  465. <MultiBinding StringFormat="{}({0}:{1})">
  466. <Binding Path="MFC1Data.DisplayName"></Binding>
  467. <Binding Path="MFC1Data.Scale"></Binding>
  468. </MultiBinding>
  469. </TextBlock.Text>
  470. </TextBlock>
  471. <TextBlock FontSize="13" Canvas.Left="-5" Canvas.Top="284" Block.TextAlignment="Right" MaxWidth="65">
  472. <TextBlock.Text>
  473. <MultiBinding StringFormat="{}({0}:{1})">
  474. <Binding Path="MFC2Data.DisplayName"></Binding>
  475. <Binding Path="MFC2Data.Scale"></Binding>
  476. </MultiBinding>
  477. </TextBlock.Text>
  478. </TextBlock>
  479. <TextBlock FontSize="13" Canvas.Left="-5" Canvas.Top="338" Block.TextAlignment="Right" MaxWidth="65">
  480. <TextBlock.Text>
  481. <MultiBinding StringFormat="{}({0}:{1})">
  482. <Binding Path="MFC3Data.DisplayName"></Binding>
  483. <Binding Path="MFC3Data.Scale"></Binding>
  484. </MultiBinding>
  485. </TextBlock.Text>
  486. </TextBlock>
  487. <TextBlock FontSize="13" Canvas.Left="-5" Canvas.Top="392" Block.TextAlignment="Right" MaxWidth="65">
  488. <TextBlock.Text>
  489. <MultiBinding StringFormat="{}({0}:{1})">
  490. <Binding Path="MFC4Data.DisplayName"></Binding>
  491. <Binding Path="MFC4Data.Scale"></Binding>
  492. </MultiBinding>
  493. </TextBlock.Text>
  494. </TextBlock>
  495. <TextBlock FontSize="13" Canvas.Left="-5" Canvas.Top="448" Block.TextAlignment="Right" MaxWidth="65">
  496. <TextBlock.Text>
  497. <MultiBinding StringFormat="{}({0}:{1})">
  498. <Binding Path="MFC5Data.DisplayName"></Binding>
  499. <Binding Path="MFC5Data.Scale"></Binding>
  500. </MultiBinding>
  501. </TextBlock.Text>
  502. </TextBlock>
  503. <TextBlock FontSize="13" Canvas.Left="-5" Canvas.Top="503" Block.TextAlignment="Right" MaxWidth="65">
  504. <TextBlock.Text>
  505. <MultiBinding StringFormat="{}({0}:{1})">
  506. <Binding Path="MFC6Data.DisplayName"></Binding>
  507. <Binding Path="MFC6Data.Scale"></Binding>
  508. </MultiBinding>
  509. </TextBlock.Text>
  510. </TextBlock>
  511. <!--<TextBlock FontSize="13" Canvas.Left="-5" Canvas.Top="562" Block.TextAlignment="Right" MaxWidth="65">
  512. <TextBlock.Text>
  513. <MultiBinding StringFormat="{}({0}:{1})">
  514. <Binding Path="MFC7Data.DisplayName"></Binding>
  515. <Binding Path="MFC7Data.Scale"></Binding>
  516. </MultiBinding>
  517. </TextBlock.Text>
  518. </TextBlock>
  519. <TextBlock FontSize="13" Canvas.Left="-5" Canvas.Top="618" Block.TextAlignment="Right" MaxWidth="65">
  520. <TextBlock.Text>
  521. <MultiBinding StringFormat="{}({0}:{1})">
  522. <Binding Path="MFC8Data.DisplayName"></Binding>
  523. <Binding Path="MFC8Data.Scale"></Binding>
  524. </MultiBinding>
  525. </TextBlock.Text>
  526. </TextBlock>-->
  527. </Canvas >
  528. <Canvas Canvas.Right="2050" Canvas.Top="70">
  529. <!--<Ellipse Width="20" Height="20" Fill="{Binding PVHe1ValveIsOpen,Converter={StaticResource boolToColor}}" Canvas.Left="650" Canvas.Top="682" Stroke="Silver" StrokeThickness="2"/>
  530. <Button Width="100" Content="He ON/OFF" Style="{StaticResource SysBtnStyle}" Command="{Binding HeCommand}" Canvas.Left="680" Canvas.Top="682" IsEnabled="{Binding IsAutoMode,Converter={StaticResource BoolToBool}}"/>
  531. <RadioButton Canvas.Left="790" Canvas.Top="684" Content="Flow Mode" FontSize="15" IsChecked="{Binding HeIsPressureMode,Converter={StaticResource BoolToBool}}"/>
  532. <RadioButton Canvas.Left="890" Canvas.Top="684" Content="Pressure Mode" FontSize="15" IsChecked="{Binding HeIsPressureMode}"/>-->
  533. <!--与chamber右上角连接的管道-->
  534. <ctrls:FlowPipe Height="8" Width="40" Canvas.Left="1232" Canvas.Top="275" RotateTransformValue="90" />
  535. <ctrls:FlowPipe Height="8" Width="126" Canvas.Left="1220" Canvas.Top="192" RotateTransformValue="90" />
  536. <ctrls:Pipe2 Canvas.Left="1224" Canvas.Top="285" HorizontalAlignment="Left" VerticalAlignment="Top" RotateTransformValue="-90" />
  537. <ctrls:FlowPipe Height="8" Width="80" Canvas.Left="1222" Canvas.Top="182" />
  538. <ctrls:FlowPipe Height="8" Width="70" Canvas.Left="1234" Canvas.Top="272" />
  539. <TextBlock Text="Guage" Canvas.Left="1242" Canvas.Top="248"/>
  540. <customControls:CommonValveControl ValveOrientation="Horizontal" Status="{Binding GuageValveIsOpen,Mode=TwoWay}" Height="20" Width="20" Canvas.Left="1250" Canvas.Top="265" IsCanEdit="{Binding IsAutoMode,Converter={StaticResource BoolToBool}}" Tag="27" Command="{Binding ControlValveCommand}" CommandParameter="{Binding RelativeSource={x:Static RelativeSource.Self}}"/>
  541. <Border BorderBrush="Gray" BorderThickness="0" Width="18" Height="6" Canvas.Left="1285" Canvas.Top="164" >
  542. <Border.RenderTransform>
  543. <RotateTransform Angle="90"/>
  544. </Border.RenderTransform>
  545. <Border.Background>
  546. <LinearGradientBrush StartPoint="0.5 0" EndPoint="0.5 1">
  547. <GradientStop Color="Gray" Offset="0"/>
  548. <GradientStop Color="White" Offset="0.5"/>
  549. <GradientStop Color="Gray" Offset="1"/>
  550. </LinearGradientBrush>
  551. </Border.Background>
  552. </Border>
  553. <Border BorderBrush="Gray" BorderThickness="0" Width="20" Height="6" Canvas.Left="1255" Canvas.Top="188" >
  554. <Border.RenderTransform>
  555. <RotateTransform Angle="90"/>
  556. </Border.RenderTransform>
  557. <Border.Background>
  558. <LinearGradientBrush StartPoint="0.5 0" EndPoint="0.5 1">
  559. <GradientStop Color="Gray" Offset="0"/>
  560. <GradientStop Color="White" Offset="0.5"/>
  561. <GradientStop Color="Gray" Offset="1"/>
  562. </LinearGradientBrush>
  563. </Border.Background>
  564. </Border>
  565. <Ellipse Width="20" Height="20" Canvas.Left="1272" Canvas.Top="150" Fill="{Binding IsATM,Converter={StaticResource boolToColor}}" Stroke="Silver" StrokeThickness="2"></Ellipse>
  566. <Ellipse Width="20" Height="20" Canvas.Left="1242" Canvas.Top="200" Fill="{Binding IsVAC,Converter={StaticResource boolToColor}}" Stroke="Silver" StrokeThickness="2"></Ellipse>
  567. <TextBlock Text="ATM" Canvas.Left="1270" Canvas.Top="134"/>
  568. <TextBlock Text="VAC" Canvas.Left="1240" Canvas.Top="220"/>
  569. <ctrls:Pipe2 Canvas.Left="1212" Canvas.Top="195" HorizontalAlignment="Left" VerticalAlignment="Top" RotateTransformValue="-90" />
  570. <!--与chamber底部连接的管道-->
  571. <!--<ctrls:FlowPipe Height="8" Width="293" Canvas.Left="760" Canvas.Top="658" IsFlowing="{Binding PVHe1ValveIsOpen}"/>-->
  572. <!--<ctrls:FlowPipe Height="8" Width="198" Canvas.Left="1055" Canvas.Top="463" RotateTransformValue="90" IsReverse="{Binding PVHe1ValveIsOpen}">
  573. <ctrls:FlowPipe.IsFlowing>
  574. <MultiBinding Converter="{StaticResource toBoolMultiValueConverter2}">
  575. <Binding Path="PVHe1ValveIsOpen"/>
  576. <Binding Path="PVHe2ValveIsOpen"/>
  577. </MultiBinding>
  578. </ctrls:FlowPipe.IsFlowing>
  579. </ctrls:FlowPipe>-->
  580. <!--<ctrls:FlowPipe Height="8" Width="17" Canvas.Left="1055" Canvas.Top="659" RotateTransformValue="90" IsFlowing="{Binding PVHe2ValveIsOpen}"/>-->
  581. <!--<ctrls:FlowPipe Height="8" Width="208" Canvas.Left="1057" Canvas.Top="680" IsFlowing="{Binding PVHe2ValveIsOpen}"/>-->
  582. <!--<ctrls:FlowPipe Height="8" Width="20" Canvas.Left="1266" Canvas.Top="682" RotateTransformValue="90">
  583. <ctrls:FlowPipe.IsFlowing>
  584. <MultiBinding Converter="{StaticResource toBoolMultiValueConverter2}">
  585. <Binding Path="SoftPumpValveIsOpen"/>
  586. <Binding Path="FastPumpValveIsOpen"/>
  587. <Binding Path="TurboPumpPumpingValveIsOpen"/>
  588. <Binding Path="PVHe2ValveIsOpen"/>
  589. </MultiBinding>
  590. </ctrls:FlowPipe.IsFlowing>
  591. </ctrls:FlowPipe>-->
  592. <ctrls:FlowPipe Height="8" Width="40" Canvas.Left="1265" Canvas.Top="658" />
  593. <ctrls:FlowPipe Height="8" Width="192" Canvas.Left="1266" Canvas.Top="446" RotateTransformValue="90" IsFlowing="{Binding TurboPumpPumpingValveIsOpen}">
  594. </ctrls:FlowPipe>
  595. <ctrls:FlowPipe Height="8" Width="65" Canvas.Left="1266" Canvas.Top="638" RotateTransformValue="90" >
  596. <ctrls:FlowPipe.IsFlowing>
  597. <MultiBinding Converter="{StaticResource toBoolMultiValueConverter2}">
  598. <Binding Path="SoftPumpValveIsOpen"/>
  599. <Binding Path="FastPumpValveIsOpen"/>
  600. <Binding Path="TurboPumpPumpingValveIsOpen"/>
  601. </MultiBinding>
  602. </ctrls:FlowPipe.IsFlowing>
  603. </ctrls:FlowPipe>
  604. <!--<ctrls:Pipe2 Canvas.Left="1060" Canvas.Top="687.8" HorizontalAlignment="Left" VerticalAlignment="Top" RotateTransformValue="-180" />-->
  605. <ctrls:FlowPipe Height="8" Width="46" Canvas.Left="1213" Canvas.Top="635" >
  606. <ctrls:FlowPipe.IsFlowing>
  607. <MultiBinding Converter="{StaticResource toBoolMultiValueConverter2}">
  608. <Binding Path="SoftPumpValveIsOpen"/>
  609. <Binding Path="FastPumpValveIsOpen"/>
  610. </MultiBinding>
  611. </ctrls:FlowPipe.IsFlowing>
  612. </ctrls:FlowPipe>
  613. <ctrls:FlowPipe Height="8" Width="52" Canvas.Left="1165" Canvas.Top="635" IsFlowing="{Binding SoftPumpValveIsOpen}" />
  614. <ctrls:FlowPipe Height="8" Width="125" Canvas.Left="1219" Canvas.Top="512" RotateTransformValue="90" IsFlowing="{Binding FastPumpValveIsOpen}"/>
  615. <ctrls:FlowPipe Height="8" Width="119" Canvas.Left="1168" Canvas.Top="517" RotateTransformValue="90" IsFlowing="{Binding SoftPumpValveIsOpen}"/>
  616. <ctrls:Pipe2 Canvas.Left="1173" Canvas.Top="643" HorizontalAlignment="Left" VerticalAlignment="Top" RotateTransformValue="-180" />
  617. <ctrls:FlowPipe Height="8" Width="48" Canvas.Left="1165" Canvas.Top="512" HorizontalAlignment="Left" VerticalAlignment="Center" IsReverse="True" IsFlowing="{Binding SoftPumpValveIsOpen}" />
  618. <ctrls:FlowPipe Height="8" Width="25" Canvas.Left="1185" Canvas.Top="455" >
  619. <ctrls:FlowPipe.IsFlowing>
  620. <MultiBinding Converter="{StaticResource toBoolMultiValueConverter2}">
  621. <Binding Path="SoftPumpValveIsOpen"/>
  622. <Binding Path="FastPumpValveIsOpen"/>
  623. </MultiBinding>
  624. </ctrls:FlowPipe.IsFlowing>
  625. </ctrls:FlowPipe>
  626. <ctrls:FlowPipe Height="8" Width="70" Canvas.Left="1185" Canvas.Top="440" IsFlowing="{Binding TurboPumpPumpingValveIsOpen}"/>
  627. <ctrls:Pipe2 Canvas.Left="1253" Canvas.Top="440" HorizontalAlignment="Left" VerticalAlignment="Top" />
  628. <ctrls:FlowPipe Height="8" Width="55" Canvas.Left="1219" Canvas.Top="458" RotateTransformValue="90">
  629. <ctrls:FlowPipe.IsFlowing>
  630. <MultiBinding Converter="{StaticResource toBoolMultiValueConverter2}">
  631. <Binding Path="SoftPumpValveIsOpen"/>
  632. <Binding Path="FastPumpValveIsOpen"/>
  633. </MultiBinding>
  634. </ctrls:FlowPipe.IsFlowing>
  635. </ctrls:FlowPipe>
  636. <ctrls:Pipe2 Canvas.Left="1160" Canvas.Top="525" HorizontalAlignment="Left" VerticalAlignment="Top" RotateTransformValue="-90" />
  637. <ctrls:Pipe2 Canvas.Left="1206" Canvas.Top="455" HorizontalAlignment="Left" VerticalAlignment="Top" />
  638. <TextBlock Canvas.Left="1129" Canvas.Top="558" Text="Soft"/>
  639. <TextBlock Canvas.Left="1178" Canvas.Top="558" Text="Fast"/>
  640. <ctrls:FlowPipe Height="8" Width="194" Canvas.Left="1246" Canvas.Top="535" IsReverse="True" IsFlowing="{Binding TurboPumpPurgeValveIsOpen,Mode=TwoWay}" >
  641. </ctrls:FlowPipe>
  642. <ctrls:FlowPipe ToolTip="123" Height="8" Width="142" Canvas.Left="1448" Canvas.Top="542" RotateTransformValue="90" IsReverse="True" IsFlowing="{Binding TurboPumpPurgeValveIsOpen}"/>
  643. <ctrls:Pipe2 Canvas.Left="1435" Canvas.Top="535" HorizontalAlignment="Left" VerticalAlignment="Top" />
  644. <!--<ctrls:FlowPipeValve x:Name="purgevalve" Height="20" Width="24" Canvas.Left="1458" Canvas.Top="610" RotateTransformValue="90" IsOpen="{Binding TurboPumpPumpingValveIsOpen,Mode=TwoWay}"/>-->
  645. <customControls:CommonValveControl Status="{Binding TurboPumpPurgeValveIsOpen,Mode=TwoWay}" ValveOrientation="Vertical" Height="20" Width="20" Canvas.Left="1434" Canvas.Top="610" IsCanEdit="{Binding IsAutoMode,Converter={StaticResource BoolToBool}}" Tag="26" Command="{Binding ControlValveCommand}" CommandParameter="{Binding RelativeSource={x:Static RelativeSource.Self}}"/>
  646. <TextBlock Text="Turbo N2&#10; Purge" Canvas.Left="1365" Canvas.Top="610" FontSize="15"/>
  647. <!--<TextBlock Text="VHe1" Canvas.Top="636" Canvas.Left="985"/>
  648. <customControls:CommonValveControl ValveOrientation="Horizontal" Height="20" Width="20" Canvas.Top="652" Canvas.Left="990" IsCanEdit="{Binding IsAutoMode,Converter={StaticResource BoolToBool}}" Status="{Binding PVHe1ValveIsOpen,Mode=TwoWay}" Tag="19" Command="{Binding ControlValveCommand}" CommandParameter="{Binding RelativeSource={x:Static RelativeSource.Self}}"/>-->
  649. <!--<TextBlock Text="VHe2" Canvas.Top="658" Canvas.Left="1094"/>-->
  650. <!--<customControls:CommonValveControl ValveOrientation="Horizontal" Height="20" Width="20" Canvas.Top="674" Canvas.Left="1100" Status="{Binding PVHe2ValveIsOpen,Mode=TwoWay}" IsCanEdit="{Binding IsAutoMode,Converter={StaticResource BoolToBool}}" Tag="20" Command="{Binding ControlValveCommand}" CommandParameter="{Binding RelativeSource={x:Static RelativeSource.Self}}"/>-->
  651. <customControls:CommonValveControl Status="{Binding SoftPumpValveIsOpen,Mode=TwoWay}" ValveOrientation="Vertical" Height="20" Width="20" Canvas.Top="555" Canvas.Left="1154" IsCanEdit="{Binding IsAutoMode,Converter={StaticResource BoolToBool}}" Tag="22" Command="{Binding ControlValveCommand}" CommandParameter="{Binding RelativeSource={x:Static RelativeSource.Self}}"/>
  652. <customControls:CommonValveControl Status="{Binding FastPumpValveIsOpen,Mode=TwoWay}" ValveOrientation="Vertical" Height="20" Width="20" Canvas.Top="555" Canvas.Left="1205" IsCanEdit="{Binding IsAutoMode,Converter={StaticResource BoolToBool}}" Tag="23" Command="{Binding ControlValveCommand}" CommandParameter="{Binding RelativeSource={x:Static RelativeSource.Self}}"/>
  653. <customControls:CommonValveControl ValveOrientation="Vertical" Height="20" Width="20" Canvas.Top="596" Canvas.Left="1252" Status="{Binding TurboPumpPumpingValveIsOpen,Mode=TwoWay}" IsCanEdit="{Binding IsAutoMode,Converter={StaticResource BoolToBool}}" Tag="25" Command="{Binding ControlValveCommand}" CommandParameter="{Binding RelativeSource={x:Static RelativeSource.Self}}"/>
  654. <!--turbo-->
  655. <ctrls:Turbo Width="40" Height="40" Canvas.Top="521" Canvas.Left="1242" IsOpen="{Binding TurboIsOpen}" IsEnabled="{Binding IsAutoMode,Converter={StaticResource BoolToBool}}">
  656. <ctrls:Turbo.ContextMenu>
  657. <ContextMenu>
  658. <MenuItem Header="ON" Command="{Binding OpenTurboPumpCommand}" IsChecked="{Binding TurboIsOpen,Mode=OneWay}" IsEnabled="{Binding TurboIsOpen,Converter={StaticResource BoolToBool},Mode=OneWay}"/>
  659. <MenuItem Header="OFF" Command="{Binding CloseTurboPumpCommand}" IsChecked="{Binding TurboIsOpen,Converter={StaticResource BoolToBool},Mode=OneWay}" IsEnabled="{Binding TurboIsOpen,Mode=OneWay}"/>
  660. </ContextMenu>
  661. </ctrls:Turbo.ContextMenu>
  662. </ctrls:Turbo>
  663. <!--蝶阀-->
  664. <ctrls:ButterflyValve Canvas.Top="475" Canvas.Left="1245" RotateTransformValue="{Binding PositionValue}" IsOpen="{Binding PendulumValveData.IsOpen,Mode=TwoWay}" IsEnabled="{Binding IsAutoMode,Converter={StaticResource BoolToBool}}">
  665. <i:Interaction.Triggers>
  666. <i:EventTrigger EventName="MouseLeftButtonUp">
  667. <i:InvokeCommandAction Command="{Binding OpenButterflyValveViewCommand}"/>
  668. </i:EventTrigger>
  669. </i:Interaction.Triggers>
  670. <ctrls:ButterflyValve.ContextMenu>
  671. <ContextMenu>
  672. <MenuItem Header="Open" Command="{Binding OpenPendulumValveCommand}" IsChecked="{Binding PendulumValveData.IsOpen,Mode=OneWay}" IsEnabled="{Binding PendulumValveData.IsOpen,Converter={StaticResource BoolToBool},Mode=OneWay}"/>
  673. <MenuItem Header="Close" Command="{Binding ClosePendulumValveCommand}" IsChecked="{Binding PendulumValveData.IsOpen,Converter={StaticResource BoolToBool},Mode=OneWay}" IsEnabled="{Binding PendulumValveData.IsOpen,Mode=OneWay}"/>
  674. </ContextMenu>
  675. </ctrls:ButterflyValve.ContextMenu>
  676. </ctrls:ButterflyValve>
  677. <Image Canvas.Top="715" Canvas.Left="1425" Width="40" Height="25" Source="Pack://application:,,,/Venus_Themes;Component/Resources/Arrow.png" Stretch="Uniform">
  678. <Image.RenderTransform>
  679. <RotateTransform Angle="-90"/>
  680. </Image.RenderTransform>
  681. </Image>
  682. <TextBlock Text="N2" Canvas.Top="720" Canvas.Left="1438"/>
  683. <!--<Image Canvas.Top="650" Canvas.Left="715" Width="40" Height="25" Source="Pack://application:,,,/Venus_Themes;Component/Resources/Arrow.png" Stretch="Uniform" >
  684. </Image>
  685. <TextBlock Text="Helium" Canvas.Top="653" Canvas.Left="670" FontSize="15"/>-->
  686. <!--chamber管道标签-->
  687. <ctrls:TextboxWithLabel Canvas.Top="156" Canvas.Left="1296" LabelValue="CM2(mTorr)" TextBoxValue="{Binding ProcessHighPressure,StringFormat='F1'}" TextBoxColor="#D7E4BD"/>
  688. <ctrls:TextboxWithLabel Canvas.Top="248" Canvas.Left="1288" LabelValue="CM1(mTorr)" TextBoxValue="{Binding ProcessLowPressure,StringFormat='F1'}" TextBoxColor="#D7E4BD"/>
  689. <!--<ctrls:TextboxWithLabel Canvas.Top="633" Canvas.Left="880" LabelValue="Pressure(mTorr)" TextBoxValue="{Binding HePressureSetpoint,Mode=TwoWay}" TextBoxColor="White" IsReadOnly="False"/>-->
  690. <!--<ctrls:TextboxWithLabel Canvas.Top="633" Canvas.Left="820" TextBoxValue="{Binding HeGasSetpoint,Mode=TwoWay}" LabelValue="Flow(sccm)/Pressure(Torr)" TextBoxColor="White" IsReadOnly="False"/>-->
  691. <!--<Ellipse Width="20" Height="20" Canvas.Top="651.5" Canvas.Left="775" Fill="{Binding MFCHeData.IsWarning,Converter={StaticResource boolToColor4}}" Stroke="Silver" StrokeThickness="2" ToolTip="Pressure Alarm"></Ellipse>-->
  692. <ctrls:TextboxWithLabel Canvas.Top="633" Canvas.Left="1280" LabelValue="CM3(mTorr)" TextBoxValue="{Binding ForelinePressure,StringFormat='F1'}" TextBoxColor="#D7E4BD" />
  693. <ctrls:TextboxWithLabel Canvas.Top="464" Canvas.Left="1290" LabelValue="Position(‰)" TextBoxValue="{Binding PendulumValvePosition,StringFormat='F0'}" TextBoxColor="#D7E4BD" />
  694. <ctrls:TextboxWithLabel Canvas.Top="510" Canvas.Left="1330" LabelValue="Flow(sccm)" TextBoxValue="{Binding MFCN2Data.FeedBack,StringFormat='F1'}" TextBoxColor="#D7E4BD" />
  695. <!--<ctrls:TextboxWithLabel Canvas.Top="510" Canvas.Left="1367" TextBoxValue="{Binding N2SetPoint,Mode=TwoWay}" IsReadOnly="False" LabelValue="Turbo N2" ToolTip="{Binding MFCN2Data.SetPoint,StringFormat='F1'}" TextBoxColor="White" />-->
  696. <!--<ctrls:TextboxWithLabel Canvas.Top="556" Canvas.Left="952" LabelValue="Pressure(mTorr)" TextBoxValue="{Binding ESCHePressure,StringFormat='F1'}" TextBoxColor="#D7E4BD"/>-->
  697. <!--<Border BorderBrush="Gray" BorderThickness="0" Width="15" Height="6" Canvas.Top="581" Canvas.Left="1033">
  698. <Border.Background>
  699. <LinearGradientBrush StartPoint="0.5 0" EndPoint="0.5 1">
  700. <GradientStop Color="Gray" Offset="0"/>
  701. <GradientStop Color="White" Offset="0.5"/>
  702. <GradientStop Color="Gray" Offset="1"/>
  703. </LinearGradientBrush>
  704. </Border.Background>
  705. </Border>-->
  706. <!--<ctrls:TextboxWithLabel Canvas.Top="506" Canvas.Left="964" LabelValue="Flow(sccm)" TextBoxValue="{Binding MFCHeData.FeedBack,StringFormat='F1'}" TextBoxColor="#D7E4BD"/>-->
  707. <!--<Border BorderBrush="Gray" BorderThickness="0" Width="15" Height="6" Canvas.Top="531" Canvas.Left="1033">
  708. <Border.Background>
  709. <LinearGradientBrush StartPoint="0.5 0" EndPoint="0.5 1">
  710. <GradientStop Color="Gray" Offset="0"/>
  711. <GradientStop Color="White" Offset="0.5"/>
  712. <GradientStop Color="Gray" Offset="1"/>
  713. </LinearGradientBrush>
  714. </Border.Background>
  715. </Border>-->
  716. <ctrls:TextboxWithLabel Canvas.Top="550" Canvas.Left="1280" LabelValue="Speed(rpm)" TextBoxValue="{Binding TurboPumpRotationalSpeed}" TextBoxColor="#D7E4BD" />
  717. <TextBlock Canvas.Top="600" Canvas.Left="1280" Text="ISO"/>
  718. <!--加热-->
  719. <!--<ctrls:TextboxWithLabel Canvas.Top="320" Canvas.Left="1290" LabelValue="Valve Heater" TextBoxValue="{Binding ValveHeaterData.CoolantOutletTcFeedback}" TextBoxColor="{Binding ValveHeaterData.IsPowerOn,Converter={StaticResource boolToColor}}" Cursor="Hand"/>
  720. <ctrls:TextboxWithLabel Canvas.Top="360" Canvas.Left="1283" LabelValue="Foreline Heater" TextBoxValue="{Binding ForelineHeaterData.CoolantOutletTcFeedback}" TextBoxColor="{Binding ForelineHeaterData.IsPowerOn,Converter={StaticResource boolToColor}}" Cursor="Hand"/>
  721. <ctrls:TextboxWithLabel Canvas.Top="400" Canvas.Left="1290" LabelValue="Wall Heater" TextBoxValue="{Binding WallHeaterData.CoolantOutletTcFeedback}" TextBoxColor="{Binding WallHeaterData.IsPowerOn,Converter={StaticResource boolToColor}}" Cursor="Hand"/>-->
  722. <!--<StackPanel Canvas.Top="470" Canvas.Left="960" Orientation="Vertical">
  723. <TextBlock Text="Valve Heater"/>
  724. <Button Height="18" Width="50" Content="{Binding ValveHeaterData.FeedBack}" ToolTip="{Binding ValveHeaterData,Converter={StaticResource HeaterToStringConverter}}" Foreground="White" ContentStringFormat="F1" Background="{Binding ValveHeaterData.IsPowerOnSetPoint,Converter={StaticResource boolToColor5}}" Style="{x:Null}" Command="{Binding HeaterCommand}" CommandParameter="{Binding ValveHeaterData}" Cursor="Hand"/>
  725. </StackPanel>-->
  726. <!--<StackPanel Canvas.Top="645" Canvas.Left="1160" Orientation="Vertical">
  727. <TextBlock Text="Foreline Heater"/>
  728. <Button Height="18" Width="50" Content="{Binding ForelineHeaterData.FeedBack}" ToolTip="{Binding ForelineHeaterData,Converter={StaticResource HeaterToStringConverter}}" Foreground="White" ContentStringFormat="F1" Background="{Binding ForelineHeaterData.IsPowerOnSetPoint,Converter={StaticResource boolToColor5}}" Style="{x:Null}" Command="{Binding HeaterCommand}" CommandParameter="{Binding ForelineHeaterData}" Cursor="Hand" />
  729. </StackPanel>-->
  730. <StackPanel Canvas.Top="420" Canvas.Left="1270" Orientation="Vertical">
  731. <TextBlock Text="Pendulum Heater"/>
  732. <Button Height="18" Width="50" Content="{Binding PendulumHeaterData.FeedBack}" ToolTip="{Binding PendulumHeaterData,Converter={StaticResource HeaterToStringConverter}}" Foreground="White" ContentStringFormat="F1" Background="{Binding PendulumHeaterData.IsPowerOnSetPoint,Converter={StaticResource boolToColor5}}" Style="{x:Null}" Command="{Binding HeaterCommand}" CommandParameter="{Binding PendulumHeaterData}" Cursor="Hand"/>
  733. </StackPanel>
  734. <!--Chamber-->
  735. <ctrls:Chamber Canvas.Left="1000" Canvas.Top="224"
  736. IsLiftPinUp="{Binding LiftPinIsUp}"
  737. IsOpenSlitDoor="{Binding IsSlitDoorClosed,Converter={StaticResource BoolToBool}}"
  738. IsLidOpen="{Binding IsLidClosed,Converter={StaticResource BoolToBool}}"
  739. IsBRFOn="{Binding BRFData.IsRfOn}"
  740. IsSRFOn="{Binding SRFData.IsRfOn}"
  741. IsHasWafer="{Binding IsHasWafer}"
  742. WaferID="{Binding WaferID}"
  743. ModuleName="{Binding ModuleName}"
  744. IsHasHeater="True"
  745. IsEnabled="{Binding IsAutoMode,Converter={StaticResource BoolToBool}}"
  746. />
  747. <ctrls:Pump Canvas.Top="700" Canvas.Left="1245" Width="35" Height="35" IsOpen="{Binding PumpIsOpen,Mode=TwoWay}" IsEnabled="{Binding IsAutoMode,Converter={StaticResource BoolToBool}}">
  748. <ctrls:Pump.ContextMenu>
  749. <ContextMenu>
  750. <MenuItem Header="ON" Command="{Binding OpenPumpCommand}" IsChecked="{Binding PumpIsOpen,Mode=OneWay}" IsEnabled="{Binding PumpIsOpen,Converter={StaticResource BoolToBool},Mode=OneWay}"/>
  751. <MenuItem Header="OFF" Command="{Binding ClosePumpCommand}" IsChecked="{Binding PumpIsOpen,Converter={StaticResource BoolToBool},Mode=OneWay}" IsEnabled="{Binding PumpIsOpen,Mode=OneWay}"/>
  752. </ContextMenu>
  753. </ctrls:Pump.ContextMenu>
  754. </ctrls:Pump>
  755. <TextBlock Text="Rough Pump" Canvas.Top="734" Canvas.Left="1220" FontSize="15"/>
  756. </Canvas>
  757. <Canvas Canvas.Right="1250" Canvas.Top="100">
  758. <!--<Button Width="120" Height="30" Content="Flash" Canvas.Left="700" Canvas.Top="100" Command="{Binding LoadRecipeCommand}" IsEnabled="{Binding IsAutoMode}" Style="{x:Null}"/>-->
  759. <!--<TextBlock Background="Silver" Height="30" Width="230" Canvas.Left="820" Canvas.Top="100" Text="{Binding SelectedRecipe}" TextBlock.TextAlignment="Center" Block.TextAlignment="Center" Padding="0,7,0,0"/>-->
  760. <TextBox Width="140" Height="30" Text="Recipe:" Canvas.Left="700" Canvas.Top="150" HorizontalContentAlignment="Center" VerticalContentAlignment="Center" FontSize="15" IsReadOnly="True" Background="Transparent"/>
  761. <Border Width="210" Height="28" Canvas.Left="840" Canvas.Top="151" BorderBrush="Black" BorderThickness=".7">
  762. <ComboBox ItemsSource="{Binding CurrentModuleRecipes}" SelectedItem="{Binding SelectedRecipe}" IsEnabled="{Binding IsAutoMode}" Style="{StaticResource customeComboBoxStyle}" BorderBrush="White" FontSize="15">
  763. <i:Interaction.Triggers>
  764. <i:EventTrigger EventName="DropDownOpened">
  765. <i:InvokeCommandAction Command="{Binding LoadRecipeCommand}"/>
  766. </i:EventTrigger>
  767. </i:Interaction.Triggers>
  768. </ComboBox>
  769. </Border>
  770. <customControls:PathButton Width="120" Height="30" Content="Start" Canvas.Left="1100" Canvas.Top="150" IsEnabled="{Binding IsAutoMode}" Command="{Binding RunRecipeCommand}"/>
  771. <Grid Width="540" Height="460" Canvas.Left="700" Canvas.Top="200" unity:GridOptions.ShowBorder="True" unity:GridOptions.LineBrush="#afb4db" unity:GridOptions.LineThickness="1">
  772. <Grid.RowDefinitions>
  773. <RowDefinition/>
  774. <RowDefinition/>
  775. <RowDefinition/>
  776. <RowDefinition/>
  777. <RowDefinition/>
  778. <RowDefinition/>
  779. <RowDefinition/>
  780. <RowDefinition/>
  781. <RowDefinition/>
  782. <RowDefinition/>
  783. <RowDefinition/>
  784. <RowDefinition/>
  785. <RowDefinition/>
  786. <RowDefinition/>
  787. <RowDefinition/>
  788. <RowDefinition/>
  789. <!--<RowDefinition/>-->
  790. </Grid.RowDefinitions>
  791. <Grid.ColumnDefinitions>
  792. <ColumnDefinition Width="2*"/>
  793. <ColumnDefinition />
  794. <ColumnDefinition />
  795. <ColumnDefinition />
  796. </Grid.ColumnDefinitions>
  797. <TextBlock Text="Parameter" FontWeight="Bold" FontSize="15" VerticalAlignment="Center" HorizontalAlignment="Center" Foreground="White"/>
  798. <TextBlock Text="FeedBack" Grid.Column="1" FontWeight="Bold" FontSize="15" VerticalAlignment="Center" HorizontalAlignment="Center" Foreground="White"/>
  799. <TextBlock Text="SetPoint" Grid.Column="2" FontWeight="Bold" FontSize="15" VerticalAlignment="Center" HorizontalAlignment="Center" Foreground="White"/>
  800. <TextBlock Text="Unit" Grid.Column="3" FontWeight="Bold" FontSize="15" VerticalAlignment="Center" HorizontalAlignment="Center" Foreground="White"/>
  801. <TextBlock Grid.Row="1" Text="RF Forward Power" Background="#D0D8E8" Padding="10,5,0,0"/>
  802. <TextBlock Grid.Row="2" Text="RF Reflected Power" Background="#E9EDF4" Padding="10,5,0,0" />
  803. <TextBlock Grid.Row="3" Text="RF Match C1%" Background="#D0D8E8" Padding="10,5,0,0" />
  804. <TextBlock Grid.Row="4" Text="RF Match C2%" Background="#E9EDF4" Padding="10,5,0,0" />
  805. <TextBlock Grid.Row="5" Text="Pressure" Background="#D0D8E8" Padding="10,5,0,0" />
  806. <TextBlock Grid.Row="6" Text="Pressure Control Valve Position" Background="#E9EDF4" Padding="10,5,0,0"/>
  807. <TextBlock Grid.Row="7" Background="#D0D8E8" Padding="10,5,0,0" >
  808. <TextBlock.Text>
  809. <MultiBinding StringFormat="{}Gas1({0}:{1})">
  810. <Binding Path="MFC1Data.DisplayName"></Binding>
  811. <Binding Path="MFC1Data.Scale"></Binding>
  812. </MultiBinding>
  813. </TextBlock.Text>
  814. </TextBlock>
  815. <TextBlock Grid.Row="8" Background="#E9EDF4" Padding="10,5,0,0" >
  816. <TextBlock.Text>
  817. <MultiBinding StringFormat="{}Gas2({0}:{1})">
  818. <Binding Path="MFC2Data.DisplayName"></Binding>
  819. <Binding Path="MFC2Data.Scale"></Binding>
  820. </MultiBinding>
  821. </TextBlock.Text>
  822. </TextBlock>
  823. <TextBlock Grid.Row="9" Background="#D0D8E8" Padding="10,5,0,0" >
  824. <TextBlock.Text>
  825. <MultiBinding StringFormat="{}Gas3({0}:{1})">
  826. <Binding Path="MFC3Data.DisplayName"></Binding>
  827. <Binding Path="MFC3Data.Scale"></Binding>
  828. </MultiBinding>
  829. </TextBlock.Text>
  830. </TextBlock>
  831. <TextBlock Grid.Row="10" Background="#E9EDF4" Padding="10,5,0,0" >
  832. <TextBlock.Text>
  833. <MultiBinding StringFormat="{}Gas4({0}:{1})">
  834. <Binding Path="MFC4Data.DisplayName"></Binding>
  835. <Binding Path="MFC4Data.Scale"></Binding>
  836. </MultiBinding>
  837. </TextBlock.Text>
  838. </TextBlock>
  839. <TextBlock Grid.Row="11" Background="#D0D8E8" Padding="10,5,0,0">
  840. <TextBlock.Text>
  841. <MultiBinding StringFormat="{}Gas5({0}:{1})">
  842. <Binding Path="MFC5Data.DisplayName"></Binding>
  843. <Binding Path="MFC5Data.Scale"></Binding>
  844. </MultiBinding>
  845. </TextBlock.Text>
  846. </TextBlock>
  847. <TextBlock Grid.Row="12" Background="#E9EDF4" Padding="10,5,0,0">
  848. <TextBlock.Text>
  849. <MultiBinding StringFormat="{}Gas6({0}:{1})">
  850. <Binding Path="MFC6Data.DisplayName"></Binding>
  851. <Binding Path="MFC6Data.Scale"></Binding>
  852. </MultiBinding>
  853. </TextBlock.Text>
  854. </TextBlock>
  855. <TextBlock Grid.Row="13" Text="Heater Position" Background="#D0D8E8" Padding="10,5,0,0"/>
  856. <TextBlock Grid.Row="14" Text="Heater Temp" Background="#E9EDF4" Padding="10,5,0,0" />
  857. <TextBlock Grid.Row="15" Text="Heater Ratio" Background="#D0D8E8" Padding="10,5,0,0" />
  858. <TextBlock Grid.Row="1" Grid.Column="1" Text="{Binding SRFData.ForwardPower}" Background="#D0D8E8" TextBlock.TextAlignment="Center" Block.TextAlignment="Center" Padding="0,5,0,0"/>
  859. <TextBlock Grid.Row="2" Grid.Column="1" Text="{Binding SRFData.ReflectPower}" Background="#E9EDF4" TextBlock.TextAlignment="Center" Padding="0,5,0,0" Block.TextAlignment="Center"/>
  860. <TextBlock Grid.Row="3" Grid.Column="1" Text="{Binding BiasMatchC1,StringFormat='F1'}" Background="#D0D8E8" TextBlock.TextAlignment="Center" Padding="0,5,0,0" Block.TextAlignment="Center"/>
  861. <TextBlock Grid.Row="4" Grid.Column="1" Text="{Binding BiasMatchC2,StringFormat='F1'}" Background="#E9EDF4" TextBlock.TextAlignment="Center" Padding="0,5,0,0" Block.TextAlignment="Center"/>
  862. <TextBlock Grid.Row="5" Grid.Column="1" Text="{Binding ChamberPressureFeedBack,StringFormat='F1'}" Background="#D0D8E8" TextBlock.TextAlignment="Center" Padding="0,5,0,0" Block.TextAlignment="Center"/>
  863. <TextBlock Grid.Row="6" Grid.Column="1" Text="{Binding PendulumValvePosition}" Background="#E9EDF4" TextBlock.TextAlignment="Center" Padding="0,5,0,0" Block.TextAlignment="Center"/>
  864. <TextBlock Grid.Row="7" Grid.Column="1" Text="{Binding MFC1Data.FeedBack,StringFormat='F1'}" Background="#D0D8E8" TextBlock.TextAlignment="Center" Padding="0,5,0,0" Block.TextAlignment="Center"/>
  865. <TextBlock Grid.Row="8" Grid.Column="1" Text="{Binding MFC2Data.FeedBack,StringFormat='F1'}" Background="#E9EDF4" TextBlock.TextAlignment="Center" Padding="0,5,0,0" Block.TextAlignment="Center"/>
  866. <TextBlock Grid.Row="9" Grid.Column="1" Text="{Binding MFC3Data.FeedBack,StringFormat='F1'}" Background="#D0D8E8" TextBlock.TextAlignment="Center" Padding="0,5,0,0" Block.TextAlignment="Center"/>
  867. <TextBlock Grid.Row="10" Grid.Column="1" Text="{Binding MFC4Data.FeedBack,StringFormat='F1'}" Background="#E9EDF4" TextBlock.TextAlignment="Center" Padding="0,5,0,0" Block.TextAlignment="Center"/>
  868. <TextBlock Grid.Row="11" Grid.Column="1" Text="{Binding MFC5Data.FeedBack,StringFormat='F1'}" Background="#D0D8E8" TextBlock.TextAlignment="Center" Padding="0,5,0,0" Block.TextAlignment="Center"/>
  869. <TextBlock Grid.Row="12" Grid.Column="1" Text="{Binding MFC6Data.FeedBack,StringFormat='F1'}" Background="#E9EDF4" TextBlock.TextAlignment="Center" Padding="0,5,0,0" Block.TextAlignment="Center"/>
  870. <TextBlock Grid.Row="13" Grid.Column="1" Text="{Binding HighTemperatureHeaterData.HighTemperatureHeaterPosition}" Background="#D0D8E8" TextBlock.TextAlignment="Center" Block.TextAlignment="Center" Padding="0,5,0,0"/>
  871. <TextBlock Grid.Row="14" Grid.Column="1" Text="{Binding SRFData.ReflectPower}" Background="#E9EDF4" TextBlock.TextAlignment="Center" Padding="0,5,0,0" Block.TextAlignment="Center"/>
  872. <TextBlock Grid.Row="15" Grid.Column="1" Text="{Binding BiasMatchC1,StringFormat='F1'}" Background="#D0D8E8" TextBlock.TextAlignment="Center" Padding="0,5,0,0" Block.TextAlignment="Center"/>
  873. <TextBlock Grid.Row="1" Grid.Column="2" Text="{Binding CurrentRecipeStep.LstUnit[1].RFPower}" Background="#D0D8E8" TextBlock.TextAlignment="Center" Block.TextAlignment="Center" Padding="0,6,0,0"/>
  874. <TextBlock Grid.Row="2" Grid.Column="2" Text="N/A" Background="#E9EDF4" TextBlock.TextAlignment="Center" Padding="0,5,0,0" Block.TextAlignment="Center"/>
  875. <TextBlock Grid.Row="3" Grid.Column="2" Text="{Binding CurrentRecipeStep.LstUnit[2].BiasTuneCapPreset}" Background="#D0D8E8" TextBlock.TextAlignment="Center" Padding="0,5,0,0" Block.TextAlignment="Center"/>
  876. <TextBlock Grid.Row="4" Grid.Column="2" Text="{Binding CurrentRecipeStep.LstUnit[2].BiasLoadCapPreset}" Background="#E9EDF4" TextBlock.TextAlignment="Center" Padding="0,5,0,0" Block.TextAlignment="Center"/>
  877. <TextBlock Grid.Row="5" Grid.Column="2" Text="{Binding CurrentRecipeStep.LstUnit[0].StartPressure}" Background="#D0D8E8" TextBlock.TextAlignment="Center" Padding="0,6,0,0" Block.TextAlignment="Center"/>
  878. <TextBlock Grid.Row="6" Grid.Column="2" Text="{Binding CurrentRecipeStep.LstUnit[0].ValvePositionPreset}" Background="#E9EDF4" TextBlock.TextAlignment="Center" Padding="0,6,0,0" Block.TextAlignment="Center"/>
  879. <TextBlock Grid.Row="7" Grid.Column="2" Text="{Binding CurrentRecipeStep.LstUnit[3].Gas1}" Background="#D0D8E8" TextBlock.TextAlignment="Center" Padding="0,6,0,0" Block.TextAlignment="Center"/>
  880. <TextBlock Grid.Row="8" Grid.Column="2" Text="{Binding CurrentRecipeStep.LstUnit[3].Gas2}" Background="#E9EDF4" TextBlock.TextAlignment="Center" Padding="0,6,0,0" Block.TextAlignment="Center"/>
  881. <TextBlock Grid.Row="9" Grid.Column="2" Text="{Binding CurrentRecipeStep.LstUnit[3].Gas3}" Background="#D0D8E8" TextBlock.TextAlignment="Center" Padding="0,6,0,0" Block.TextAlignment="Center"/>
  882. <TextBlock Grid.Row="10" Grid.Column="2" Text="{Binding CurrentRecipeStep.LstUnit[3].Gas4}" Background="#E9EDF4" TextBlock.TextAlignment="Center" Padding="0,6,0,0" Block.TextAlignment="Center"/>
  883. <TextBlock Grid.Row="11" Grid.Column="2" Text="{Binding CurrentRecipeStep.LstUnit[3].Gas5}" Background="#D0D8E8" TextBlock.TextAlignment="Center" Padding="0,6,0,0" Block.TextAlignment="Center"/>
  884. <TextBlock Grid.Row="12" Grid.Column="2" Text="{Binding CurrentRecipeStep.LstUnit[3].Gas6}" Background="#E9EDF4" TextBlock.TextAlignment="Center" Padding="0,6,0,0" Block.TextAlignment="Center"/>
  885. <TextBlock Grid.Row="10" Grid.Column="2" Text="" Background="#E9EDF4" TextBlock.TextAlignment="Center" Padding="0,6,0,0" Block.TextAlignment="Center"/>
  886. <TextBlock Grid.Row="11" Grid.Column="2" Text="" Background="#D0D8E8" TextBlock.TextAlignment="Center" Padding="0,6,0,0" Block.TextAlignment="Center"/>
  887. <TextBlock Grid.Row="13" Grid.Column="2" Text="" Background="#D0D8E8" TextBlock.TextAlignment="Center" Padding="0,6,0,0" Block.TextAlignment="Center"/>
  888. <TextBlock Grid.Row="14" Grid.Column="2" Text="" Background="#E9EDF4" TextBlock.TextAlignment="Center" Block.TextAlignment="Center" Padding="0,6,0,0"/>
  889. <TextBlock Grid.Row="15" Grid.Column="2" Text="" Background="#D0D8E8" TextBlock.TextAlignment="Center" Padding="0,6,0,0" Block.TextAlignment="Center"/>
  890. <TextBlock Grid.Row="1" Grid.Column="3" Text="W" Background="#D0D8E8" TextBlock.TextAlignment="Center" Padding="0,6,0,0" Block.TextAlignment="Center"/>
  891. <TextBlock Grid.Row="2" Grid.Column="3" Text="W" Background="#E9EDF4" TextBlock.TextAlignment="Center" Padding="0,6,0,0" Block.TextAlignment="Center"/>
  892. <TextBlock Grid.Row="3" Grid.Column="3" Text="%" Background="#D0D8E8" TextBlock.TextAlignment="Center" Padding="0,6,0,0" Block.TextAlignment="Center"/>
  893. <TextBlock Grid.Row="4" Grid.Column="3" Text="%" Background="#E9EDF4" TextBlock.TextAlignment="Center" Padding="0,6,0,0" Block.TextAlignment="Center"/>
  894. <TextBlock Grid.Row="5" Grid.Column="3" Text="mTorr" Background="#D0D8E8" TextBlock.TextAlignment="Center" Padding="0,6,0,0" Block.TextAlignment="Center"/>
  895. <TextBlock Grid.Row="6" Grid.Column="3" Text="‰" Background="#E9EDF4" TextBlock.TextAlignment="Center" Padding="0,6,0,0" Block.TextAlignment="Center"/>
  896. <TextBlock Grid.Row="7" Grid.Column="3" Text="sccm" Background="#D0D8E8" TextBlock.TextAlignment="Center" Padding="0,6,0,0" Block.TextAlignment="Center"/>
  897. <TextBlock Grid.Row="8" Grid.Column="3" Text="sccm" Background="#E9EDF4" TextBlock.TextAlignment="Center" Padding="0,6,0,0" Block.TextAlignment="Center"/>
  898. <TextBlock Grid.Row="9" Grid.Column="3" Text="sccm" Background="#D0D8E8" TextBlock.TextAlignment="Center" Padding="0,6,0,0" Block.TextAlignment="Center"/>
  899. <TextBlock Grid.Row="10" Grid.Column="3" Text="sccm" Background="#E9EDF4" TextBlock.TextAlignment="Center" Padding="0,6,0,0" Block.TextAlignment="Center"/>
  900. <TextBlock Grid.Row="11" Grid.Column="3" Text="sccm" Background="#D0D8E8" TextBlock.TextAlignment="Center" Padding="0,6,0,0" Block.TextAlignment="Center"/>
  901. <TextBlock Grid.Row="12" Grid.Column="3" Text="sccm" Background="#E9EDF4" TextBlock.TextAlignment="Center" Padding="0,6,0,0" Block.TextAlignment="Center"/>
  902. <TextBlock Grid.Row="13" Grid.Column="3" Text="N/A" Background="#D0D8E8" TextBlock.TextAlignment="Center" Padding="0,6,0,0" Block.TextAlignment="Center"/>
  903. <TextBlock Grid.Row="14" Grid.Column="3" Text="°C" Background="#E9EDF4" TextBlock.TextAlignment="Center" Padding="0,6,0,0" Block.TextAlignment="Center"/>
  904. <TextBlock Grid.Row="15" Grid.Column="3" Text="sccm" Background="#D0D8E8" TextBlock.TextAlignment="Center" Padding="0,6,0,0" Block.TextAlignment="Center"/>
  905. </Grid>
  906. </Canvas>
  907. <Grid Width="360" Height="190" Canvas.Left="1350" Canvas.Top="45" unity:GridOptions.LineBrush="#afb4db" unity:GridOptions.ShowBorder="True" Background="#E9EDF4">
  908. <Grid.RowDefinitions>
  909. <RowDefinition/>
  910. <RowDefinition/>
  911. <RowDefinition/>
  912. <RowDefinition/>
  913. <RowDefinition/>
  914. <RowDefinition/>
  915. <RowDefinition/>
  916. <RowDefinition/>
  917. </Grid.RowDefinitions>
  918. <Grid.ColumnDefinitions>
  919. <ColumnDefinition Width="2*"/>
  920. <ColumnDefinition Width="3*"/>
  921. </Grid.ColumnDefinitions>
  922. <TextBlock Grid.Row="0" Text="Recipe Name" FontSize="15" Padding="10,2,0,0" Background="#D0D8E8"/>
  923. <TextBlock Grid.Row="1" Text="Step Num/All" FontSize="15" Padding="10,2,0,0" Background="#D0D8E8"/>
  924. <TextBlock Grid.Row="2" Text="Step Type" FontSize="15" Padding="10,2,0,0" Background="#D0D8E8"/>
  925. <TextBlock Grid.Row="3" Text="Step Description" FontSize="15" Padding="10,2,0,0" Background="#D0D8E8"/>
  926. <TextBlock Grid.Row="4" Text="Step Elpased Time" FontSize="15" Padding="10,2,0,0" Background="#D0D8E8"/>
  927. <TextBlock Grid.Row="5" Text="Step Time(s)" FontSize="15" Padding="10,2,0,0" Background="#D0D8E8"/>
  928. <TextBlock Grid.Row="6" Text="Next Step" FontSize="15" Padding="10,2,0,0" Background="#D0D8E8"/>
  929. <TextBlock Grid.Row="7" Text="Cycle Num/All" FontSize="15" Padding="10,2,0,0" Background="#D0D8E8"/>
  930. <TextBlock Grid.Row="0" Grid.Column="1" Text="{Binding CurrentRecipeResult.RecipeName}" FontSize="15" Padding="10,2,0,0" Background="#E9EDF4"/>
  931. <TextBlock Grid.Row="1" Grid.Column="1" FontSize="15" Padding="10,2,0,0" Background="#E9EDF4">
  932. <TextBlock.Text>
  933. <MultiBinding StringFormat="{}{0}/{1}">
  934. <Binding Path="CurrentRecipeResult.RecipeStepNumber"></Binding>
  935. <Binding Path="CurrentRecipeResult.RecipeStepCount"></Binding>
  936. </MultiBinding>
  937. </TextBlock.Text>
  938. </TextBlock>
  939. <TextBlock Grid.Row="2" Grid.Column="1" Text="{Binding CurrentRecipeResult.RecipeStepType}" FontSize="15" Padding="10,2,0,0"/>
  940. <TextBlock Grid.Row="3" Grid.Column="1" Text="{Binding CurrentRecipeResult.RecipeStepDescription}" FontSize="15" Padding="10,2,0,0"/>
  941. <TextBlock Grid.Row="4" Grid.Column="1" Text="{Binding CurrentRecipeResult.RecipeStepDuringTime, StringFormat=hh\\:mm\\:ss}" FontSize="15" Padding="10,2,0,0"/>
  942. <TextBlock Grid.Row="5" Grid.Column="1" Text="{Binding CurrentRecipeResult.RecipeStepSetTime}" FontSize="15" Padding="10,2,0,0"/>
  943. <customControls:PathButton Grid.Row="6" Grid.Column="1" BorderThickness="0" PathData="{StaticResource Icon_Next}" Background="Transparent" DefaultFillBrush="Black" Foreground="White" Cursor="Hand" Visibility="{Binding IsProcessing,Converter={StaticResource BoolToVisibility2}}" Command="{Binding EndStepCommand}" Margin="15,0,0,0" HorizontalAlignment="Left"/>
  944. <TextBlock Grid.Row="7" Grid.Column="1" FontSize="15" Padding="10,2,0,0" Background="#E9EDF4">
  945. <TextBlock.Text>
  946. <MultiBinding StringFormat="{}{0}/{1}">
  947. <Binding Path="CurrentRecipeResult.RecipeCurrentCounter"></Binding>
  948. <Binding Path="CurrentRecipeResult.RecipeAllCounters"></Binding>
  949. </MultiBinding>
  950. </TextBlock.Text>
  951. </TextBlock>
  952. </Grid>
  953. <Grid Width="300" Height="160" Canvas.Left="500" Canvas.Top="402" Background="#E8E8E8" unity:GridOptions.LineBrush="#afb4db" unity:GridOptions.ShowBorder="True">
  954. <Grid.RowDefinitions>
  955. <RowDefinition/>
  956. <RowDefinition/>
  957. <RowDefinition/>
  958. <RowDefinition/>
  959. <RowDefinition/>
  960. <RowDefinition/>
  961. </Grid.RowDefinitions>
  962. <Grid.ColumnDefinitions>
  963. <ColumnDefinition Width="2*"/>
  964. <ColumnDefinition Width="*"/>
  965. <ColumnDefinition Width="*"/>
  966. </Grid.ColumnDefinitions>
  967. <TextBlock Text="RF" Grid.ColumnSpan="3" FontSize="15" VerticalAlignment="Center" HorizontalAlignment="Center"/>
  968. <TextBlock Grid.Row="1" Text="RF Fwd Power(W)" FontSize="15" VerticalAlignment="Center" HorizontalAlignment="Left" Padding="10,0,0,0"/>
  969. <TextBlock Grid.Row="2" Text="RF Ref Power(W)" FontSize="15" VerticalAlignment="Center" HorizontalAlignment="Left" Padding="10,0,0,0"/>
  970. <TextBlock Grid.Row="3" Text="Match C1(%)" FontSize="15" VerticalAlignment="Center" HorizontalAlignment="Left" Padding="10,0,0,0"/>
  971. <TextBlock Grid.Row="4" Text="Match C2(%)" FontSize="15" VerticalAlignment="Center" HorizontalAlignment="Left" Padding="10,0,0,0"/>
  972. <TextBlock Grid.Row="5" Text="Match WorkMode" FontSize="15" VerticalAlignment="Center" HorizontalAlignment="Left" Padding="10,0,0,0"/>
  973. <TextBox Grid.Row="1" Grid.Column="1" Width="Auto" Height="Auto" Text="{Binding SRFFwdPowerSetpoint,UpdateSourceTrigger=PropertyChanged}" HorizontalContentAlignment="Center" VerticalContentAlignment="Center" BorderThickness="0" />
  974. <TextBlock Grid.Row="2" Grid.Column="1" Width="Auto" Height="Auto" Text="{Binding SRFData.ReflectPower,StringFormat='F1'}" Background="#E8E8E8" TextBlock.TextAlignment="Center" VerticalAlignment="Center" Block.TextAlignment="Center" Grid.ColumnSpan="2"/>
  975. <TextBox Grid.Row="3" Grid.Column="1" Width="Auto" Height="Auto" Text="{Binding SRFMatchC1,UpdateSourceTrigger=PropertyChanged}" HorizontalContentAlignment="Center" VerticalContentAlignment="Center" BorderThickness="0" />
  976. <TextBox Grid.Row="4" Grid.Column="1" Width="Auto" Height="Auto" Text="{Binding SRFMatchC2,UpdateSourceTrigger=PropertyChanged}" HorizontalContentAlignment="Center" VerticalContentAlignment="Center" BorderThickness="0" />
  977. <TextBlock Grid.Row="1" Grid.Column="2" Width="Auto" Height="Auto" Text="{Binding SRFData.ForwardPower,StringFormat='F1'}" Background="#E8E8E8" TextBlock.TextAlignment="Center" VerticalAlignment="Center" Block.TextAlignment="Center"/>
  978. <!--<TextBlock Grid.Row="2" Grid.Column="2" Width="Auto" Height="Auto" Text="0.0" Background="#E8E8E8" TextBlock.TextAlignment="Center" VerticalAlignment="Center" Block.TextAlignment="Center"/>-->
  979. <TextBlock Grid.Row="3" Grid.Column="2" Width="Auto" Height="Auto" Text="{Binding MatchC1,StringFormat='F1'}" Background="#E8E8E8" TextBlock.TextAlignment="Center" VerticalAlignment="Center" Block.TextAlignment="Center"/>
  980. <TextBlock Grid.Row="4" Grid.Column="2" Width="Auto" Height="Auto" Text="{Binding MatchC2,StringFormat='F1'}" Background="#E8E8E8" TextBlock.TextAlignment="Center" VerticalAlignment="Center" Block.TextAlignment="Center"/>
  981. <TextBlock Grid.Row="5" Grid.Column="1" Grid.ColumnSpan="2" Width="Auto" Height="Auto" Text="{Binding MatchWorkMode}" Background="#E8E8E8" TextBlock.TextAlignment="Center" VerticalAlignment="Center" Block.TextAlignment="Center"/>
  982. </Grid>
  983. <Ellipse Width="20" Height="20" Fill="{Binding SRFData.IsRfOn,Converter={StaticResource boolToColor}}" Canvas.Left="500" Canvas.Top="375" Stroke="Silver" StrokeThickness="2"/>
  984. <Button Height="20" Width="100" Content="RF ON/OFF" Canvas.Left="530" Canvas.Top="375" Command="{Binding SetSRfCommand}" Style="{StaticResource SysBtnStyle}" IsEnabled="{Binding IsAutoMode,Converter={StaticResource BoolToBool}}"/>
  985. <Ellipse Width="20" Height="20" Fill="{Binding HighTemperatureHeaterData.HighTemperatureHeaterIson,Converter={StaticResource boolToColor}}" Canvas.Left="500" Canvas.Top="205" Stroke="Silver" StrokeThickness="2"/>
  986. <Button Height="20" Width="100" Content="Heater ON/OFF" Canvas.Left="530" Canvas.Top="205" Style="{StaticResource SysBtnStyle}" IsEnabled="{Binding IsAutoMode,Converter={StaticResource BoolToBool}}" Command="{Binding SwitchHighTemperatureHeaterCommand}"/>
  987. <Grid Width="390" Height="120" Background="#E8E8E8" unity:GridOptions.LineBrush="#afb4db" unity:GridOptions.ShowBorder="True" Canvas.Left="500" Canvas.Top="238">
  988. <Grid.RowDefinitions>
  989. <RowDefinition/>
  990. <RowDefinition/>
  991. <RowDefinition/>
  992. <RowDefinition/>
  993. </Grid.RowDefinitions>
  994. <Grid.ColumnDefinitions>
  995. <ColumnDefinition Width="166"/>
  996. <ColumnDefinition Width="3*"/>
  997. <ColumnDefinition Width="2*"/>
  998. <ColumnDefinition Width="2*"/>
  999. </Grid.ColumnDefinitions>
  1000. <TextBlock Grid.Row="0" Text="Heater Temp.(°C)" FontSize="14" VerticalAlignment="Center" HorizontalAlignment="Left" Padding="4,0,0,0"/>
  1001. <TextBox Grid.Row="0" Grid.Column="1" Width="Auto" Height="Auto" Text="{Binding HighTemperatureHeaterTemperatureSetpoint,UpdateSourceTrigger=PropertyChanged}" HorizontalContentAlignment="Center" VerticalContentAlignment="Center" BorderBrush="White" BorderThickness="0" />
  1002. <TextBlock Grid.Row="0" Grid.Column="2" Text="{Binding HighTemperatureHeaterData.HighTemperatureHeaterTemperature,StringFormat='F1'}" FontSize="15" TextBlock.TextAlignment="Center" VerticalAlignment="Center" Block.TextAlignment="Center" />
  1003. <Button Grid.Row="0" Grid.Column="3" Margin="5,0,5,0" Height="20" Style="{x:Null}" Content="Set" Command="{Binding SetChillerTempCommand}" IsEnabled="{Binding IsAutoMode,Converter={StaticResource BoolToBool}}" Cursor="Hand"/>
  1004. <TextBlock Grid.Row="1" Text="Heater Ratio" FontSize="15" VerticalAlignment="Center" HorizontalAlignment="Left" Padding="4,0,0,0"/>
  1005. <TextBox Grid.Row="1" Grid.Column="1" Width="Auto" Height="Auto" HorizontalContentAlignment="Center" VerticalContentAlignment="Center" BorderBrush="White" BorderThickness="0" />
  1006. <TextBlock Grid.Row="1" Grid.Column="2" Text="0.0" FontSize="15" TextBlock.TextAlignment="Center" VerticalAlignment="Center" Block.TextAlignment="Center" />
  1007. <Button Grid.Row="1" Grid.Column="3" Margin="5,0,5,0" Height="20" Style="{x:Null}" Content="Set" Command="{Binding SetChillerTempCommand}" IsEnabled="{Binding IsAutoMode,Converter={StaticResource BoolToBool}}" Cursor="Hand"/>
  1008. <TextBlock Grid.Row="2" Text="Heater Temp Range Rate" FontSize="14" VerticalAlignment="Center" HorizontalAlignment="Left" Padding="4,0,0,0"/>
  1009. <TextBox Grid.Row="2" Grid.Column="1" Width="Auto" Height="Auto" HorizontalContentAlignment="Center" VerticalContentAlignment="Center" BorderBrush="White" BorderThickness="0" />
  1010. <TextBlock Grid.Row="2" Grid.Column="2" Text="0.0" FontSize="15" TextBlock.TextAlignment="Center" VerticalAlignment="Center" Block.TextAlignment="Center" />
  1011. <Button Grid.Row="2" Grid.Column="3" Margin="5,0,5,0" Height="20" Style="{x:Null}" Content="Set" Command="{Binding SetChillerTempCommand}" IsEnabled="{Binding IsAutoMode,Converter={StaticResource BoolToBool}}" Cursor="Hand"/>
  1012. <TextBlock Grid.Row="3" Text="Heater Position" VerticalAlignment="Center" HorizontalAlignment="Left" Padding="4,0,0,0" FontSize="14"/>
  1013. <ComboBox Grid.Row="3" Grid.Column="1" SelectedIndex="0" Height="25" Margin="1,2,0,2" SelectedValue="{Binding SelectedPosition}">
  1014. <ComboBoxItem>Origin</ComboBoxItem>
  1015. <ComboBoxItem>Position1</ComboBoxItem>
  1016. <ComboBoxItem>Position2</ComboBoxItem>
  1017. <ComboBoxItem>Position3</ComboBoxItem>
  1018. <ComboBoxItem>Position4</ComboBoxItem>
  1019. <ComboBoxItem>Position5</ComboBoxItem>
  1020. </ComboBox>
  1021. <TextBlock Grid.Row="3" Grid.Column="2" Text="{Binding HighTemperatureHeaterData.HighTemperatureHeaterPosition}" TextBlock.TextAlignment="Center" VerticalAlignment="Center" Block.TextAlignment="Center"/>
  1022. <Button Grid.Row="3" Grid.Column="3" Margin="5,0,5,0" Height="20" Content="Set" Style="{x:Null}" Cursor="Hand" Command="{Binding GotoPositionCommand}" IsEnabled="{Binding IsAutoMode,Converter={StaticResource BoolToBool}}"/>
  1023. </Grid>
  1024. <Border BorderThickness="0,0,0,1" BorderBrush="Black" Canvas.Top="20" Canvas.Left="40">
  1025. <StackPanel Orientation="Horizontal" Margin="0,0,0,5">
  1026. <customControls:PathButton PathData="{StaticResource Icon_Home}" DefaultFillBrush="White" Command="{Binding PMInitCommnad}" Width="120" Height="30" Content="Initialize" Margin="10,0,0,0"/>
  1027. <!--<customControls:PathButton PathData="{StaticResource Icon_Abort}" DefaultFillBrush="White" Command="{Binding PMAbortCommnad}" Width="120" Height="30" Content="Abort" Margin="50,0,30,0"/>-->
  1028. <!--<customControls:AduRadioButtonIcon Content="MF" IsChecked="{Binding IsAutoMode,Converter={StaticResource BoolToBool},Mode=TwoWay}" Height="40" attach:IconElement.Margin="-20" />
  1029. <Border BorderThickness="1" Height="30" Width="2" BorderBrush="Black" Margin="10,0,0,0">
  1030. <Border.RenderTransform>
  1031. <RotateTransform Angle="15" CenterX="1" CenterY="15"></RotateTransform>
  1032. </Border.RenderTransform>
  1033. </Border>
  1034. <customControls:AduRadioButtonIcon Content="AF" IsChecked="{Binding IsAutoMode,Mode=TwoWay}" Margin="-10,0,30,0" Height="40" attach:IconElement.Margin="-20" />-->
  1035. <customControls:SplitButton Width="120" Height="30" Content="Abort" Margin="50,0,30,0" Style="{StaticResource SplitButtonStyle}" Command="{Binding PMAbortCommnad}" Cursor="Hand" Foreground="White" FontSize="18" Background="#009ad6">
  1036. <MenuItem Header="Stop Recipe" Cursor="Hand" Command="{Binding AbortRecipeCommnad}" CommandParameter="0"/>
  1037. <!--<MenuItem Header="Stop Recipe/Stop Dechuck Step" Cursor="Hand" Command="{Binding AbortRecipeCommnad}" CommandParameter="1"/>-->
  1038. <MenuItem Header="Stop Recipe=>Return Wafer To Foup" Cursor="Hand" Command="{Binding AbortRecipeCommnad}" CommandParameter="2"/>
  1039. </customControls:SplitButton>
  1040. <RadioButton Content="OffLine" Width="120" Height="28" Margin="0 0 5 0" Style="{StaticResource Button_RadioButton}" IsChecked="{Binding IsAutoMode,Converter={StaticResource BoolToBool},Mode=TwoWay}" FontSize="15" Command="{Binding OfflineCommand}"/>
  1041. <RadioButton Content="OnLine" Width="120" Height="28" Margin="0 0 30 0" Style="{StaticResource Button_RadioButton}" IsChecked="{Binding IsAutoMode,Mode=TwoWay}" FontSize="15" Command="{Binding OnlineCommand}"/>
  1042. <customControls:PathButton Width="130" Height="30" Content="Vent" Command="{Binding VentCommand}" IsEnabled="{Binding IsAutoMode,Converter={StaticResource BoolToBool}}" />
  1043. <customControls:PathButton Width="134" Height="30" Content="Pump Purge" Command="{Binding PurgeCommand}" Margin="50,0,0,0" IsEnabled="{Binding IsAutoMode,Converter={StaticResource BoolToBool}}"/>
  1044. <customControls:PathButton Width="134" Height="30" Content="Pump Down" Command="{Binding PumpCommand}" Margin="50,0,0,0" IsEnabled="{Binding IsAutoMode,Converter={StaticResource BoolToBool}}"/>
  1045. </StackPanel>
  1046. </Border>
  1047. </Canvas>
  1048. </UserControl>