OverKepler2200BView.xaml 101 KB

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