OverKepler2200BView.xaml 123 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439
  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:ToBoolMultiValueConverter7 x:Key="toBoolMultiValueConverter7"/>
  32. <converters:ToBoolMultiValueConverter9 x:Key="toBoolMultiValueConverter9"/>
  33. <converters:BoolToColor x:Key="boolToColor"/>
  34. <converters:BoolToColor2 x:Key="boolToColor2"/>
  35. <converters:BoolToColor3 x:Key="boolToColor3"/>
  36. <converters:BoolToColor4 x:Key="boolToColor4"/>
  37. <converters:BoolToColor5 x:Key="boolToColor5"/>
  38. <converters:BoolToColor6 x:Key="boolToColor6"/>
  39. <converters:BoolToBool x:Key="BoolToBool"/>
  40. <converters:BoolToVisibility2 x:Key="BoolToVisibility2"/>-->
  41. <converters2:HeaterToStringConverter x:Key="HeaterToStringConverter"/>
  42. </UserControl.Resources>
  43. <Grid>
  44. <Grid.ColumnDefinitions>
  45. <ColumnDefinition Width="5*"/>
  46. <ColumnDefinition Width="2*"/>
  47. </Grid.ColumnDefinitions>
  48. <Canvas>
  49. <Grid Canvas.Left="40" Canvas.Top="62">
  50. <Grid.RowDefinitions>
  51. <RowDefinition/>
  52. </Grid.RowDefinitions>
  53. <Grid.ColumnDefinitions>
  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. <ColumnDefinition Width="Auto"/>
  71. <ColumnDefinition Width="Auto"/>
  72. <ColumnDefinition Width="Auto"/>
  73. <ColumnDefinition Width="Auto"/>
  74. <ColumnDefinition Width="Auto"/>
  75. </Grid.ColumnDefinitions>
  76. <TextBlock Text="RF Match Interlock" Margin="5,0,5,0" Grid.Column="0" FontSize="14" HorizontalAlignment="Center" VerticalAlignment="Center" />
  77. <Ellipse Grid.Column="1" Width="16" Height="16" Fill="{Binding SourceRFMatchInterlock,Converter={StaticResource boolToColor4}}" Stroke="Silver" StrokeThickness="0"></Ellipse>
  78. <TextBlock Text="Water Leak" Margin="15,0,5,0" Grid.Column="2" FontSize="14" HorizontalAlignment="Center" VerticalAlignment="Center" />
  79. <Ellipse Grid.Column="3" Width="16" Height="16" Fill="{Binding IsWLK,Converter={StaticResource boolToColor4}}" Stroke="Silver" StrokeThickness="0"></Ellipse>
  80. <TextBlock Text="Water Flow" Margin="15,0,5,0" Grid.Column="4" FontSize="14" HorizontalAlignment="Center" VerticalAlignment="Center" />
  81. <Ellipse Grid.Column="5" Width="16" Height="16" Fill="{Binding IsWaterFlowOk,Converter={StaticResource boolToColor4}}" Stroke="Silver" StrokeThickness="0"></Ellipse>
  82. <TextBlock Text="TurboPump InterLock" Margin="15,0,5,0" Grid.Column="6" FontSize="14" HorizontalAlignment="Center" VerticalAlignment="Center" />
  83. <Ellipse Grid.Column="7" Width="16" Height="16" Fill="{Binding IsTurboPumpInterlock,Converter={StaticResource boolToColor4}}" Stroke="Silver" StrokeThickness="0"></Ellipse>
  84. <TextBlock Text="CDA" Margin="15,0,5,0" Grid.Column="8" FontSize="14" HorizontalAlignment="Center" VerticalAlignment="Center" />
  85. <Ellipse Grid.Column="9" Width="16" Height="16" Fill="{Binding IsCDAOK,Converter={StaticResource boolToColor4}}" Stroke="Silver" StrokeThickness="0" ></Ellipse>
  86. <TextBlock Text="Gas Box Door" Margin="15,0,5,0" Grid.Column="10" FontSize="14" HorizontalAlignment="Center" VerticalAlignment="Center" />
  87. <Ellipse Grid.Column="11" Width="16" Height="16" Fill="{Binding SensorGasBoxDoor,Converter={StaticResource boolToColor4}}" Stroke="Silver" StrokeThickness="0"></Ellipse>
  88. <TextBlock Text="Gas Box Pressure" Margin="15,0,5,0" Grid.Column="12" FontSize="14" HorizontalAlignment="Center" VerticalAlignment="Center" />
  89. <Ellipse Grid.Column="13" Width="16" Height="16" Fill="{Binding SensorGasBoxPressure,Converter={StaticResource boolToColor4}}" Stroke="Silver" StrokeThickness="0"></Ellipse>
  90. <TextBlock Text="TurboPump AtSpeed" Margin="15,0,5,0" Grid.Column="14" FontSize="14" HorizontalAlignment="Center" VerticalAlignment="Center" />
  91. <Ellipse Grid.Column="15" Width="16" Height="16" Fill="{Binding IsTurboPumpAtSpeed,Converter={StaticResource boolToColor4}}" Stroke="Silver" StrokeThickness="0"></Ellipse>
  92. <TextBlock Text="Heater Lift" Margin="15,0,5,0" Grid.Column="16" FontSize="14" HorizontalAlignment="Center" VerticalAlignment="Center" />
  93. <Ellipse Grid.Column="17" Width="16" Height="16" Fill="{Binding HighTemperatureHeaterData.LiftIsAlarm,Converter={StaticResource boolToColor6}}" Stroke="Silver" StrokeThickness="0"></Ellipse>
  94. <TextBlock Text="Heater Driver" Margin="15,0,5,0" Grid.Column="18" FontSize="14" HorizontalAlignment="Center" VerticalAlignment="Center" />
  95. <Ellipse Grid.Column="19" Width="16" Height="16" Fill="{Binding HighTemperatureHeaterData.HeaterIsAlarm,Converter={StaticResource boolToColor6}}" Stroke="Silver" StrokeThickness="0"></Ellipse>
  96. </Grid>
  97. <Canvas Canvas.Top="40" Canvas.Left="5">
  98. <ctrls:Pipe2 Canvas.Left="490" Canvas.Top="558" HorizontalAlignment="Left" VerticalAlignment="Top" RotateTransformValue="90" Visibility="{Binding MFC7IsEnable,Converter={StaticResource BoolToVisibility2}}"/>
  99. <!--N2-->
  100. <ctrls:FlowPipe Name="N2Pipe2" Height="8" Width="76" Canvas.Left="255" Canvas.Top="120" IsFlowing="{Binding PVN22ValveIsOpen}">
  101. <!--<ctrls:FlowPipe.IsFlowing>
  102. <MultiBinding Converter="{StaticResource toBoolMultiValueConverter}">
  103. <Binding Path="PVN22ValveIsOpen"/>
  104. <Binding Path="N2ValveIsOpen"/>
  105. </MultiBinding>
  106. </ctrls:FlowPipe.IsFlowing>-->
  107. </ctrls:FlowPipe>
  108. <ctrls:FlowPipe Name="N2Pipe3" Height="8" Width="154" Canvas.Left="330" Canvas.Top="120" IsFlowing="{Binding N2ValveIsOpen}">
  109. <!--<ctrls:FlowPipe.IsFlowing>
  110. <MultiBinding Converter="{StaticResource toBoolMultiValueConverter}">
  111. <Binding Path="PVN22ValveIsOpen"/>
  112. <Binding Path="N2ValveIsOpen"/>
  113. </MultiBinding>
  114. </ctrls:FlowPipe.IsFlowing>-->
  115. </ctrls:FlowPipe>
  116. <TextBlock Text="GPVN2" Canvas.Left="422" Canvas.Top="95" FontSize="14"/>
  117. <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}}"/>
  118. <ctrls:FlowPipe x:Name="N2Pipe1" Height="8" Width="193" Canvas.Left="64" Canvas.Top="120" IsFlowing="{Binding PVN22ValveIsOpen}">
  119. <!--<ctrls:FlowPipe.IsFlowing>
  120. <MultiBinding Converter="{StaticResource toBoolMultiValueConverter}">
  121. <Binding Path="PVN22ValveIsOpen"/>
  122. <Binding Path="N2ValveIsOpen"/>
  123. </MultiBinding>
  124. </ctrls:FlowPipe.IsFlowing>-->
  125. </ctrls:FlowPipe>
  126. <TextBlock Text="GPVN22" Canvas.Left="270" Canvas.Top="95" FontSize="14"/>
  127. <customControls:CommonValveControl Status="{Binding PVN22ValveIsOpen,Mode=TwoWay}" ValveOrientation="Horizontal" Height="20" Width="20" Canvas.Left="285" Canvas.Top="114" IsCanEdit="{Binding IsAutoMode,Converter={StaticResource BoolToBool}}" Tag="1" Command="{Binding ControlValveCommand}" CommandParameter="{Binding RelativeSource={x:Static RelativeSource.Self}}"/>
  128. <ctrls:FlowPipe Height="8" Width="309" Canvas.Left="176" Canvas.Top="230" IsFlowing="{Binding MFC1ValveIsOpen}" Visibility="{Binding MFC1IsEnable,Converter={StaticResource BoolToVisibility2}}"/>
  129. <TextBlock Text="GPV1" Canvas.Left="430" Canvas.Top="208" Visibility="{Binding MFC1IsEnable,Converter={StaticResource BoolToVisibility2}}" FontSize="14"/>
  130. <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}}" Visibility="{Binding MFC1IsEnable,Converter={StaticResource BoolToVisibility2}}"/>
  131. <ctrls:FlowPipe Height="8" Width="114" Canvas.Left="64" Canvas.Top="230" IsFlowing="{Binding PV11ValveIsOpen}" Visibility="{Binding MFC1IsEnable,Converter={StaticResource BoolToVisibility2}}"/>
  132. <ctrls:FlowPipe Height="8" Width="80" Canvas.Left="177" Canvas.Top="266" IsFlowing="{Binding PV12ValveIsOpen}" Visibility="{Binding MFC1IsEnable,Converter={StaticResource BoolToVisibility2}}"/>
  133. <!--<ctrls:Pipe2 Canvas.Left="214" Canvas.Top="274" RotateTransformValue="-180"/>-->
  134. <ctrls:FlowPipe Height="8" Width="30" Canvas.Left="178" Canvas.Top="236" RotateTransformValue="90" IsFlowing="{Binding PV12ValveIsOpen}" Visibility="{Binding MFC1IsEnable,Converter={StaticResource BoolToVisibility2}}"/>
  135. <ctrls:Pipe2 Canvas.Left="183" Canvas.Top="274" HorizontalAlignment="Left" VerticalAlignment="Top" RotateTransformValue="-180" Visibility="{Binding MFC1IsEnable,Converter={StaticResource BoolToVisibility2}}"/>
  136. <ctrls:Pipe4 Canvas.Left="241" Canvas.Top="225" HorizontalAlignment="Left" VerticalAlignment="Top"/>
  137. <ctrls:FlowPipe Height="8" Width="55" Canvas.Left="257" Canvas.Top="126" RotateTransformValue="90" IsReverse="True">
  138. <ctrls:FlowPipe.IsFlowing>
  139. <MultiBinding Converter="{StaticResource toBoolMultiValueConverter2}">
  140. <Binding Path="PV12ValveIsOpen"/>
  141. <Binding Path="PV22ValveIsOpen"/>
  142. <Binding Path="PV32ValveIsOpen"/>
  143. <Binding Path="PV42ValveIsOpen"/>
  144. </MultiBinding>
  145. </ctrls:FlowPipe.IsFlowing>
  146. </ctrls:FlowPipe>
  147. <ctrls:FlowPipe Height="8" Width="190" Canvas.Left="64" Canvas.Top="180" IsFlowing="{Binding N2Purge2ValveIsOpen}" IsReverse="True">
  148. </ctrls:FlowPipe>
  149. <customControls:CommonValveControl Status="{Binding N2Purge2ValveIsOpen,Mode=TwoWay}" ValveOrientation="Horizontal" Height="20" Width="20" Canvas.Left="127" Canvas.Top="174" Tag="58" IsCanEdit="{Binding IsAutoMode,Converter={StaticResource BoolToBool}}" Command="{Binding ControlValveCommand}" CommandParameter="{Binding RelativeSource={x:Static RelativeSource.Self}}"/>
  150. <TextBlock Text="To Dry Pump" Canvas.Top="155" FontSize="14"/>
  151. <TextBlock Text="GPV13" Canvas.Top="155" FontSize="14" Canvas.Left="115"/>
  152. <Image Canvas.Left="40" Canvas.Top="197" Width="40" Height="25" Source="Pack://application:,,,/Venus_Themes;Component/Resources/Arrow.png" Stretch="Uniform">
  153. <Image.RenderTransform>
  154. <RotateTransform Angle="180"/>
  155. </Image.RenderTransform>
  156. </Image>
  157. <ctrls:FlowPipe Height="8" Width="46" Canvas.Left="257" Canvas.Top="180" RotateTransformValue="90" IsReverse="True">
  158. <ctrls:FlowPipe.IsFlowing>
  159. <MultiBinding Converter="{StaticResource toBoolMultiValueConverter2}">
  160. <Binding Path="PV12ValveIsOpen"/>
  161. <Binding Path="PV22ValveIsOpen"/>
  162. <Binding Path="PV32ValveIsOpen"/>
  163. <Binding Path="PV42ValveIsOpen"/>
  164. </MultiBinding>
  165. </ctrls:FlowPipe.IsFlowing>
  166. </ctrls:FlowPipe>
  167. <ctrls:FlowPipe Height="8" Width="28" Canvas.Left="257" Canvas.Top="242" RotateTransformValue="90" IsReverse="True">
  168. <ctrls:FlowPipe.IsFlowing>
  169. <MultiBinding Converter="{StaticResource toBoolMultiValueConverter2}">
  170. <Binding Path="PV12ValveIsOpen"/>
  171. <Binding Path="PV22ValveIsOpen"/>
  172. <Binding Path="PV32ValveIsOpen"/>
  173. <Binding Path="PV42ValveIsOpen"/>
  174. </MultiBinding>
  175. </ctrls:FlowPipe.IsFlowing>
  176. </ctrls:FlowPipe>
  177. <!--SF6-->
  178. <ctrls:FlowPipe Height="8" Width="311" Canvas.Left="174" Canvas.Top="286" IsFlowing="{Binding MFC2ValveIsOpen}" Visibility="{Binding MFC2IsEnable,Converter={StaticResource BoolToVisibility2}}"/>
  179. <TextBlock Text="GPV2" Canvas.Left="430" Canvas.Top="264" Visibility="{Binding MFC2IsEnable,Converter={StaticResource BoolToVisibility2}}" FontSize="14"/>
  180. <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}}" Visibility="{Binding MFC2IsEnable,Converter={StaticResource BoolToVisibility2}}"/>
  181. <ctrls:FlowPipe Height="8" Width="112" Canvas.Left="64" Canvas.Top="286" IsFlowing="{Binding PV21ValveIsOpen}" Visibility="{Binding MFC2IsEnable,Converter={StaticResource BoolToVisibility2}}"/>
  182. <ctrls:FlowPipe Height="8" Width="80" Canvas.Left="177" Canvas.Top="322" IsFlowing="{Binding PV22ValveIsOpen}" Visibility="{Binding MFC2IsEnable,Converter={StaticResource BoolToVisibility2}}"/>
  183. <ctrls:FlowPipe Height="8" Width="32" Canvas.Left="178" Canvas.Top="290" RotateTransformValue="90" IsFlowing="{Binding PV22ValveIsOpen}" Visibility="{Binding MFC2IsEnable,Converter={StaticResource BoolToVisibility2}}"/>
  184. <ctrls:Pipe2 Canvas.Left="183" Canvas.Top="330" HorizontalAlignment="Left" VerticalAlignment="Top" RotateTransformValue="-180" Visibility="{Binding MFC2IsEnable,Converter={StaticResource BoolToVisibility2}}"/>
  185. <ctrls:Pipe4 Canvas.Left="241" Canvas.Top="281" HorizontalAlignment="Left" VerticalAlignment="Top"/>
  186. <ctrls:FlowPipe Height="8" Width="15" Canvas.Left="257" Canvas.Top="270" RotateTransformValue="90" IsReverse="True">
  187. <ctrls:FlowPipe.IsFlowing>
  188. <MultiBinding Converter="{StaticResource toBoolMultiValueConverter2}">
  189. <Binding Path="PV22ValveIsOpen"/>
  190. <Binding Path="PV32ValveIsOpen"/>
  191. <Binding Path="PV42ValveIsOpen"/>
  192. </MultiBinding>
  193. </ctrls:FlowPipe.IsFlowing>
  194. </ctrls:FlowPipe>
  195. <ctrls:FlowPipe Height="8" Width="30" Canvas.Left="257" Canvas.Top="296" RotateTransformValue="90" IsReverse="True" >
  196. <ctrls:FlowPipe.IsFlowing>
  197. <MultiBinding Converter="{StaticResource toBoolMultiValueConverter2}">
  198. <Binding Path="PV22ValveIsOpen"/>
  199. <Binding Path="PV32ValveIsOpen"/>
  200. <Binding Path="PV42ValveIsOpen"/>
  201. </MultiBinding>
  202. </ctrls:FlowPipe.IsFlowing>
  203. </ctrls:FlowPipe>
  204. <!--Gas3-->
  205. <ctrls:FlowPipe Height="8" Width="311" Canvas.Left="174" Canvas.Top="342" IsFlowing="{Binding MFC3ValveIsOpen}" Visibility="{Binding MFC3IsEnable,Converter={StaticResource BoolToVisibility2}}"/>
  206. <TextBlock Text="GPV3" Canvas.Left="430" Canvas.Top="320" Visibility="{Binding MFC3IsEnable,Converter={StaticResource BoolToVisibility2}}" FontSize="14"/>
  207. <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}}" Visibility="{Binding MFC3IsEnable,Converter={StaticResource BoolToVisibility2}}"/>
  208. <ctrls:FlowPipe Height="8" Width="112" Canvas.Left="64" Canvas.Top="342" IsFlowing="{Binding PV31ValveIsOpen}" Visibility="{Binding MFC3IsEnable,Converter={StaticResource BoolToVisibility2}}"/>
  209. <ctrls:FlowPipe Height="8" Width="80" Canvas.Left="177" Canvas.Top="378" IsFlowing="{Binding PV32ValveIsOpen}" Visibility="{Binding MFC3IsEnable,Converter={StaticResource BoolToVisibility2}}"/>
  210. <ctrls:FlowPipe Height="8" Width="30" Canvas.Left="178" Canvas.Top="348" RotateTransformValue="90" IsFlowing="{Binding PV32ValveIsOpen}" Visibility="{Binding MFC3IsEnable,Converter={StaticResource BoolToVisibility2}}"/>
  211. <ctrls:Pipe2 Canvas.Left="183" Canvas.Top="386" HorizontalAlignment="Left" VerticalAlignment="Top" RotateTransformValue="-180" Visibility="{Binding MFC3IsEnable,Converter={StaticResource BoolToVisibility2}}"/>
  212. <ctrls:Pipe4 Canvas.Left="241" Canvas.Top="337" HorizontalAlignment="Left" VerticalAlignment="Top"/>
  213. <ctrls:FlowPipe Height="8" Width="17" Canvas.Left="257" Canvas.Top="324" RotateTransformValue="90" IsReverse="True" >
  214. <ctrls:FlowPipe.IsFlowing>
  215. <MultiBinding Converter="{StaticResource toBoolMultiValueConverter2}">
  216. <Binding Path="PV32ValveIsOpen"/>
  217. <Binding Path="PV42ValveIsOpen"/>
  218. </MultiBinding>
  219. </ctrls:FlowPipe.IsFlowing>
  220. </ctrls:FlowPipe>
  221. <ctrls:FlowPipe Height="8" Width="28" Canvas.Left="257" Canvas.Top="354" RotateTransformValue="90" IsReverse="True" >
  222. <ctrls:FlowPipe.IsFlowing>
  223. <MultiBinding Converter="{StaticResource toBoolMultiValueConverter2}">
  224. <Binding Path="PV32ValveIsOpen"/>
  225. <Binding Path="PV42ValveIsOpen"/>
  226. </MultiBinding>
  227. </ctrls:FlowPipe.IsFlowing>
  228. </ctrls:FlowPipe>
  229. <!--Gas4-->
  230. <ctrls:FlowPipe Height="8" Width="112" Canvas.Left="64" Canvas.Top="396" IsFlowing="{Binding PV41ValveIsOpen}"/>
  231. <ctrls:FlowPipe Height="8" Width="76" Canvas.Left="175" Canvas.Top="428" IsFlowing="{Binding PV42ValveIsOpen}"/>
  232. <ctrls:FlowPipe Height="8" Width="311" Canvas.Left="174" Canvas.Top="396" IsFlowing="{Binding MFC4ValveIsOpen}"/>
  233. <TextBlock Text="GPV4" Canvas.Left="430" Canvas.Top="374" FontSize="14"/>
  234. <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}}"/>
  235. <ctrls:Pipe4 Canvas.Left="241" Canvas.Top="392" HorizontalAlignment="Left" VerticalAlignment="Top"/>
  236. <ctrls:FlowPipe Height="8" Width="15" Canvas.Left="257" Canvas.Top="380" RotateTransformValue="90" IsReverse="True">
  237. <ctrls:FlowPipe.IsFlowing>
  238. <MultiBinding Converter="{StaticResource toBoolMultiValueConverter2}">
  239. <Binding Path="PV42ValveIsOpen"/>
  240. </MultiBinding>
  241. </ctrls:FlowPipe.IsFlowing>
  242. </ctrls:FlowPipe>
  243. <ctrls:FlowPipe Height="8" Width="15" Canvas.Left="257" Canvas.Top="408" RotateTransformValue="90" IsReverse="True">
  244. <ctrls:FlowPipe.IsFlowing>
  245. <MultiBinding Converter="{StaticResource toBoolMultiValueConverter2}">
  246. <Binding Path="PV42ValveIsOpen"/>
  247. </MultiBinding>
  248. </ctrls:FlowPipe.IsFlowing>
  249. </ctrls:FlowPipe>
  250. <ctrls:Pipe2 Canvas.Left="257" Canvas.Top="423" HorizontalAlignment="Left" VerticalAlignment="Top" RotateTransformValue="90" />
  251. <ctrls:FlowPipe Height="8" Width="30" Canvas.Left="178" Canvas.Top="401" RotateTransformValue="90" IsFlowing="{Binding PV42ValveIsOpen}"/>
  252. <ctrls:Pipe2 Canvas.Left="183" Canvas.Top="436" HorizontalAlignment="Left" VerticalAlignment="Top" RotateTransformValue="-180" />
  253. <!--Gas5-->
  254. <ctrls:FlowPipe Height="8" Width="421" Canvas.Left="64" Canvas.Top="452" IsFlowing="{Binding MFC5ValveIsOpen}"/>
  255. <TextBlock Text="GPV5" Canvas.Left="430" Canvas.Top="430" FontSize="14"/>
  256. <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}}"/>
  257. <!--O2-->
  258. <ctrls:FlowPipe Height="8" Width="422" Canvas.Left="65" Canvas.Top="507" IsFlowing="{Binding MFC6ValveIsOpen}"/>
  259. <TextBlock Text="GPV6" Canvas.Left="430" Canvas.Top="485" FontSize="14"/>
  260. <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}}"/>
  261. <!--Gas7-->
  262. <ctrls:FlowPipe Height="8" Width="418" Canvas.Left="65" Canvas.Top="563" IsFlowing="{Binding MFC7ValveIsOpen}" Visibility="{Binding MFC7IsEnable,Converter={StaticResource BoolToVisibility2}}"/>
  263. <TextBlock Text="GPV7" Canvas.Left="430" Canvas.Top="541" Visibility="{Binding MFC7IsEnable,Converter={StaticResource BoolToVisibility2}}" FontSize="14"/>
  264. <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}}" Visibility="{Binding MFC7IsEnable,Converter={StaticResource BoolToVisibility2}}"/>
  265. <!--Gas8-->
  266. <ctrls:FlowPipe Height="8" Width="448" Canvas.Left="68" Canvas.Top="620" IsFlowing="{Binding MFC8ValveIsOpen}" Visibility="{Binding MFC8IsEnable,Converter={StaticResource BoolToVisibility2}}"/>
  267. <ctrls:FlowPipe Height="8" Width="460" Canvas.Left="520" Canvas.Top="165" RotateTransformValue="90" IsReverse="True" IsFlowing="{Binding MFC8ValveIsOpen}" Visibility="{Binding MFC8IsEnable,Converter={StaticResource BoolToVisibility2}}"/>
  268. <ctrls:FlowPipe Height="8" Width="298" Canvas.Left="515" Canvas.Top="160" IsFlowing="{Binding O2ValveIsOpen}" Visibility="{Binding MFC8IsEnable,Converter={StaticResource BoolToVisibility2}}" >
  269. </ctrls:FlowPipe>
  270. <ctrls:FlowPipe Height="8" Width="36" Canvas.Left="815" Canvas.Top="125" RotateTransformValue="90" IsReverse="True" IsFlowing="{Binding O2ValveIsOpen}" Panel.ZIndex="100" Visibility="{Binding MFC8IsEnable,Converter={StaticResource BoolToVisibility2}}">
  271. </ctrls:FlowPipe>
  272. <ctrls:Pipe2 Canvas.Left="520" Canvas.Top="615" HorizontalAlignment="Left" VerticalAlignment="Top" RotateTransformValue="90" Visibility="{Binding MFC8IsEnable,Converter={StaticResource BoolToVisibility2}}"/>
  273. <ctrls:Pipe2 Canvas.Left="512" Canvas.Top="173" HorizontalAlignment="Left" VerticalAlignment="Top" RotateTransformValue="-90" Visibility="{Binding MFC8IsEnable,Converter={StaticResource BoolToVisibility2}}"/>
  274. <ctrls:Pipe2 Canvas.Left="815" Canvas.Top="155" HorizontalAlignment="Left" VerticalAlignment="Top" RotateTransformValue="90" Visibility="{Binding MFC8IsEnable,Converter={StaticResource BoolToVisibility2}}"/>
  275. <TextBlock Text="GPV8" Canvas.Left="430" Canvas.Top="598" Visibility="{Binding MFC8IsEnable,Converter={StaticResource BoolToVisibility2}}" FontSize="14"/>
  276. <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}}" Visibility="{Binding MFC8IsEnable,Converter={StaticResource BoolToVisibility2}}"/>
  277. <Ellipse Width="18" Height="18" Canvas.Left="90" Canvas.Top="116" Fill="{Binding MFCN2Data.IsWarning,Converter={StaticResource boolToColor4}}" Stroke="Silver" StrokeThickness="0" ToolTip="Pressure Alarm"></Ellipse>
  278. <!--<Ellipse Width="18" Height="18" Canvas.Left="90" Canvas.Top="174" Fill="{Binding MFCN2Data.IsWarning,Converter={StaticResource boolToColor4}}" Stroke="Silver" StrokeThickness="0" ToolTip="Pressure Alarm"></Ellipse>-->
  279. <Ellipse Width="18" Height="18" Canvas.Left="90" Canvas.Top="226" Fill="{Binding MFC1Data.IsWarning,Converter={StaticResource boolToColor4}}" Stroke="Silver" StrokeThickness="0" ToolTip="Pressure Alarm" Visibility="{Binding MFC1IsEnable,Converter={StaticResource BoolToVisibility2}}"></Ellipse>
  280. <Ellipse Width="18" Height="18" Canvas.Left="90" Canvas.Top="282" Fill="{Binding MFC2Data.IsWarning,Converter={StaticResource boolToColor4}}" Stroke="Silver" StrokeThickness="0" ToolTip="Pressure Alarm" Visibility="{Binding MFC2IsEnable,Converter={StaticResource BoolToVisibility2}}"></Ellipse>
  281. <Ellipse Width="18" Height="18" Canvas.Left="90" Canvas.Top="338" Fill="{Binding MFC3Data.IsWarning,Converter={StaticResource boolToColor4}}" Stroke="Silver" StrokeThickness="0" ToolTip="Pressure Alarm" Visibility="{Binding MFC3IsEnable,Converter={StaticResource BoolToVisibility2}}"></Ellipse>
  282. <Ellipse Width="18" Height="18" Canvas.Left="90" Canvas.Top="392" Fill="{Binding MFC4Data.IsWarning,Converter={StaticResource boolToColor4}}" Stroke="Silver" StrokeThickness="0" ToolTip="Pressure Alarm" Visibility="{Binding MFC4IsEnable,Converter={StaticResource BoolToVisibility2}}"></Ellipse>
  283. <Ellipse Width="18" Height="18" Canvas.Left="90" Canvas.Top="448" Fill="{Binding MFC5Data.IsWarning,Converter={StaticResource boolToColor4}}" Stroke="Silver" StrokeThickness="0" ToolTip="Pressure Alarm" Visibility="{Binding MFC5IsEnable,Converter={StaticResource BoolToVisibility2}}"></Ellipse>
  284. <Ellipse Width="18" Height="18" Canvas.Left="90" Canvas.Top="503" Fill="{Binding MFC6Data.IsWarning,Converter={StaticResource boolToColor4}}" Stroke="Silver" StrokeThickness="0" ToolTip="Pressure Alarm" Visibility="{Binding MFC6IsEnable,Converter={StaticResource BoolToVisibility2}}"></Ellipse>
  285. <Ellipse Width="18" Height="18" Canvas.Left="90" Canvas.Top="559" Fill="{Binding MFC7Data.IsWarning,Converter={StaticResource boolToColor4}}" Stroke="Silver" StrokeThickness="0" ToolTip="Pressure Alarm" Visibility="{Binding MFC7IsEnable,Converter={StaticResource BoolToVisibility2}}"></Ellipse>
  286. <Ellipse Width="18" Height="18" Canvas.Left="90" Canvas.Top="616" Fill="{Binding MFC8Data.IsWarning,Converter={StaticResource boolToColor4}}" Stroke="Silver" StrokeThickness="0" ToolTip="Pressure Alarm" Visibility="{Binding MFC8IsEnable,Converter={StaticResource BoolToVisibility2}}"></Ellipse>
  287. <!--与chamber上方连接的管道-->
  288. <ctrls:FlowPipe Height="8" Width="330" Canvas.Left="482" Canvas.Top="120">
  289. <ctrls:FlowPipe.IsFlowing>
  290. <MultiBinding Converter="{StaticResource toBoolMultiValueConverter5}">
  291. <Binding Path="GasFinalValveIsOpen"/>
  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. </MultiBinding>
  302. </ctrls:FlowPipe.IsFlowing>
  303. </ctrls:FlowPipe>
  304. <!--<ctrls:FlowPipe Height="8" Width="154" Canvas.Left="660" Canvas.Top="120">
  305. <ctrls:FlowPipe.IsFlowing>
  306. <MultiBinding Converter="{StaticResource toBoolMultiValueConverter4}">
  307. <Binding Path="GasFinalValveIsOpen"/>
  308. <Binding Path="N2ValveIsOpen"/>
  309. <Binding Path="PV11ValveIsOpen"/>
  310. <Binding Path="PV21ValveIsOpen"/>
  311. <Binding Path="PV31ValveIsOpen"/>
  312. <Binding Path="PV41ValveIsOpen"/>
  313. <Binding Path="MFC5ValveIsOpen"/>
  314. <Binding Path="MFC6ValveIsOpen"/>
  315. <Binding Path="MFC7ValveIsOpen"/>
  316. </MultiBinding>
  317. </ctrls:FlowPipe.IsFlowing>
  318. </ctrls:FlowPipe>-->
  319. <ctrls:FlowPipe Height="8" Width="180" Canvas.Left="812" Canvas.Top="120">
  320. <ctrls:FlowPipe.IsFlowing>
  321. <MultiBinding Converter="{StaticResource toBoolMultiValueConverter9}">
  322. <Binding Path="GasFinalValveIsOpen"/>
  323. <Binding Path="PurgeValveIsOpen"/>
  324. <Binding Path="O2ValveIsOpen"/>
  325. <Binding Path="N2ValveIsOpen"/>
  326. <Binding Path="PV11ValveIsOpen"/>
  327. <Binding Path="PV21ValveIsOpen"/>
  328. <Binding Path="PV31ValveIsOpen"/>
  329. <Binding Path="PV41ValveIsOpen"/>
  330. <Binding Path="MFC5ValveIsOpen"/>
  331. <Binding Path="MFC6ValveIsOpen"/>
  332. <Binding Path="MFC7ValveIsOpen"/>
  333. <Binding Path="MFC8ValveIsOpen"/>
  334. <Binding Path="PVN22ValveIsOpen"/>
  335. </MultiBinding>
  336. </ctrls:FlowPipe.IsFlowing>
  337. </ctrls:FlowPipe>
  338. <ctrls:FlowPipe Height="8" Width="474" Canvas.Left="332" Canvas.Top="80" IsFlowing="{Binding PurgeValveIsOpen}">
  339. <!--<ctrls:FlowPipe.IsFlowing>
  340. <MultiBinding Converter="{StaticResource toBoolMultiValueConverter4}">
  341. <Binding Path="PurgeValveIsOpen"/>
  342. -->
  343. <!--<Binding Path="N2ValveIsOpen"/>-->
  344. <!--
  345. <Binding Path="PV11ValveIsOpen"/>
  346. <Binding Path="PV21ValveIsOpen"/>
  347. <Binding Path="PV31ValveIsOpen"/>
  348. <Binding Path="PV41ValveIsOpen"/>
  349. <Binding Path="MFC5ValveIsOpen"/>
  350. <Binding Path="MFC6ValveIsOpen"/>
  351. </MultiBinding>
  352. </ctrls:FlowPipe.IsFlowing>-->
  353. </ctrls:FlowPipe>
  354. <ctrls:FlowPipe Height="8" Width="36" Canvas.Left="815" Canvas.Top="85" RotateTransformValue="90" IsReverse="False" IsFlowing="{Binding PurgeValveIsOpen}">
  355. <!--<ctrls:FlowPipe.IsFlowing>
  356. <MultiBinding Converter="{StaticResource toBoolMultiValueConverter4}">
  357. <Binding Path="PurgeValveIsOpen"/>
  358. -->
  359. <!--<Binding Path="N2ValveIsOpen"/>-->
  360. <!--
  361. <Binding Path="PV11ValveIsOpen"/>
  362. <Binding Path="PV21ValveIsOpen"/>
  363. <Binding Path="PV31ValveIsOpen"/>
  364. <Binding Path="PV41ValveIsOpen"/>
  365. <Binding Path="MFC5ValveIsOpen"/>
  366. <Binding Path="MFC6ValveIsOpen"/>
  367. </MultiBinding>
  368. </ctrls:FlowPipe.IsFlowing>-->
  369. </ctrls:FlowPipe>
  370. <ctrls:FlowPipe Height="8" Width="34" Canvas.Left="335" Canvas.Top="88" RotateTransformValue="90" IsReverse="True" IsFlowing="{Binding PurgeValveIsOpen}">
  371. <!--<ctrls:FlowPipe.IsFlowing>
  372. <MultiBinding Converter="{StaticResource toBoolMultiValueConverter4}">
  373. <Binding Path="PurgeValveIsOpen"/>
  374. -->
  375. <!--<Binding Path="N2ValveIsOpen"/>-->
  376. <!--
  377. <Binding Path="PV11ValveIsOpen"/>
  378. <Binding Path="PV21ValveIsOpen"/>
  379. <Binding Path="PV31ValveIsOpen"/>
  380. <Binding Path="PV41ValveIsOpen"/>
  381. <Binding Path="MFC5ValveIsOpen"/>
  382. <Binding Path="MFC6ValveIsOpen"/>
  383. </MultiBinding>
  384. </ctrls:FlowPipe.IsFlowing>-->
  385. </ctrls:FlowPipe>
  386. <ctrls:Pipe2 Canvas.Left="802" Canvas.Top="80" HorizontalAlignment="Left" VerticalAlignment="Top" />
  387. <ctrls:Pipe2 Canvas.Left="327" Canvas.Top="93" HorizontalAlignment="Left" VerticalAlignment="Top" RotateTransformValue="-90" />
  388. <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}}"/>
  389. <TextBlock Text="Purge V8" Canvas.Left="710" Canvas.Top="52" FontSize="14"/>
  390. <TextBlock Text="Gas Final V1" Canvas.Left="700" Canvas.Top="96" FontSize="14"/>
  391. <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}}"/>
  392. <TextBlock Text="O2 Valve V5" Canvas.Left="695" Canvas.Top="175" FontSize="14" Visibility="{Binding MFC8IsEnable,Converter={StaticResource BoolToVisibility2}}"/>
  393. <customControls:CommonValveControl Status="{Binding O2ValveIsOpen,Mode=TwoWay}" ValveOrientation="Horizontal" Height="20" Width="20" Canvas.Left="728" Canvas.Top="154" IsCanEdit="{Binding IsAutoMode,Converter={StaticResource BoolToBool}}" Tag="56" Command="{Binding ControlValveCommand}" CommandParameter="{Binding RelativeSource={x:Static RelativeSource.Self}}" Visibility="{Binding MFC8IsEnable,Converter={StaticResource BoolToVisibility2}}"/>
  394. <ctrls:Pipe2 Canvas.Left="990" Canvas.Top="120" HorizontalAlignment="Left" VerticalAlignment="Top" />
  395. <ctrls:FlowPipe Name="l8" Height="8" Width="112" Canvas.Left="490" Canvas.Top="126" RotateTransformValue="90" IsReverse="True">
  396. <ctrls:FlowPipe.IsFlowing>
  397. <MultiBinding Converter="{StaticResource toBoolMultiValueConverter2}">
  398. <Binding Path="MFC1ValveIsOpen"/>
  399. <Binding Path="MFC2ValveIsOpen"/>
  400. <Binding Path="MFC3ValveIsOpen"/>
  401. <Binding Path="MFC4ValveIsOpen"/>
  402. <Binding Path="MFC5ValveIsOpen"/>
  403. <Binding Path="MFC6ValveIsOpen"/>
  404. <Binding Path="MFC7ValveIsOpen"/>
  405. </MultiBinding>
  406. </ctrls:FlowPipe.IsFlowing>
  407. </ctrls:FlowPipe>
  408. <!--<ctrls:FlowPipe Height="8" Width="56" Canvas.Left="490" Canvas.Top="180" RotateTransformValue="90" IsReverse="True">
  409. <ctrls:FlowPipe.IsFlowing>
  410. <MultiBinding Converter="{StaticResource toBoolMultiValueConverter2}">
  411. <Binding Path="MFC1ValveIsOpen"/>
  412. <Binding Path="MFC2ValveIsOpen"/>
  413. <Binding Path="MFC3ValveIsOpen"/>
  414. <Binding Path="MFC4ValveIsOpen"/>
  415. <Binding Path="MFC5ValveIsOpen"/>
  416. <Binding Path="MFC6ValveIsOpen"/>
  417. <Binding Path="MFC7ValveIsOpen"/>
  418. </MultiBinding>
  419. </ctrls:FlowPipe.IsFlowing>
  420. </ctrls:FlowPipe>-->
  421. <ctrls:FlowPipe Height="8" Width="58" Canvas.Left="490" Canvas.Top="234" RotateTransformValue="90" IsReverse="True">
  422. <ctrls:FlowPipe.IsFlowing>
  423. <MultiBinding Converter="{StaticResource toBoolMultiValueConverter2}">
  424. <Binding Path="MFC2ValveIsOpen"/>
  425. <Binding Path="MFC3ValveIsOpen"/>
  426. <Binding Path="MFC4ValveIsOpen"/>
  427. <Binding Path="MFC5ValveIsOpen"/>
  428. <Binding Path="MFC6ValveIsOpen"/>
  429. <Binding Path="MFC7ValveIsOpen"/>
  430. </MultiBinding>
  431. </ctrls:FlowPipe.IsFlowing>
  432. </ctrls:FlowPipe>
  433. <ctrls:FlowPipe Height="8" Width="56" Canvas.Left="490" Canvas.Top="290" RotateTransformValue="90" IsReverse="True">
  434. <ctrls:FlowPipe.IsFlowing>
  435. <MultiBinding Converter="{StaticResource toBoolMultiValueConverter2}">
  436. <Binding Path="MFC3ValveIsOpen"/>
  437. <Binding Path="MFC4ValveIsOpen"/>
  438. <Binding Path="MFC5ValveIsOpen"/>
  439. <Binding Path="MFC6ValveIsOpen"/>
  440. <Binding Path="MFC7ValveIsOpen"/>
  441. </MultiBinding>
  442. </ctrls:FlowPipe.IsFlowing>
  443. </ctrls:FlowPipe>
  444. <ctrls:FlowPipe Height="8" Width="58" Canvas.Left="490" Canvas.Top="344" RotateTransformValue="90" IsReverse="True">
  445. <ctrls:FlowPipe.IsFlowing>
  446. <MultiBinding Converter="{StaticResource toBoolMultiValueConverter2}">
  447. <Binding Path="MFC4ValveIsOpen"/>
  448. <Binding Path="MFC5ValveIsOpen"/>
  449. <Binding Path="MFC6ValveIsOpen"/>
  450. <Binding Path="MFC7ValveIsOpen"/>
  451. </MultiBinding>
  452. </ctrls:FlowPipe.IsFlowing>
  453. </ctrls:FlowPipe>
  454. <ctrls:FlowPipe Height="8" Width="58" Canvas.Left="490" Canvas.Top="400" RotateTransformValue="90" IsReverse="True">
  455. <ctrls:FlowPipe.IsFlowing>
  456. <MultiBinding Converter="{StaticResource toBoolMultiValueConverter2}">
  457. <Binding Path="MFC5ValveIsOpen"/>
  458. <Binding Path="MFC6ValveIsOpen"/>
  459. <Binding Path="MFC7ValveIsOpen"/>
  460. </MultiBinding>
  461. </ctrls:FlowPipe.IsFlowing>
  462. </ctrls:FlowPipe>
  463. <ctrls:FlowPipe Height="8" Width="57" Canvas.Left="490" Canvas.Top="455" RotateTransformValue="90" IsReverse="True">
  464. <ctrls:FlowPipe.IsFlowing>
  465. <MultiBinding Converter="{StaticResource toBoolMultiValueConverter2}">
  466. <Binding Path="MFC6ValveIsOpen"/>
  467. <Binding Path="MFC7ValveIsOpen"/>
  468. </MultiBinding>
  469. </ctrls:FlowPipe.IsFlowing>
  470. </ctrls:FlowPipe>
  471. <ctrls:FlowPipe Height="8" Width="48" Canvas.Left="490" Canvas.Top="512" RotateTransformValue="90" IsReverse="True" IsFlowing="{Binding MFC7ValveIsOpen}" Visibility="{Binding MFC7IsEnable,Converter={StaticResource BoolToVisibility2}}">
  472. </ctrls:FlowPipe>
  473. <!--<ctrls:FlowPipe Height="8" Width="48" Canvas.Left="490" Canvas.Top="568" RotateTransformValue="90" IsReverse="True">
  474. <ctrls:FlowPipe.IsFlowing>
  475. <MultiBinding Converter="{StaticResource toBoolMultiValueConverter2}">
  476. <Binding Path="MFC8ValveIsOpen"/>
  477. </MultiBinding>
  478. </ctrls:FlowPipe.IsFlowing>
  479. </ctrls:FlowPipe>-->
  480. <ctrls:FlowPipe Height="8" Width="110" Canvas.Left="1003" Canvas.Top="129" RotateTransformValue="90">
  481. <ctrls:FlowPipe.IsFlowing>
  482. <MultiBinding Converter="{StaticResource toBoolMultiValueConverter9}">
  483. <Binding Path="GasFinalValveIsOpen"/>
  484. <Binding Path="PurgeValveIsOpen"/>
  485. <Binding Path="O2ValveIsOpen"/>
  486. <Binding Path="N2ValveIsOpen"/>
  487. <Binding Path="PV11ValveIsOpen"/>
  488. <Binding Path="PV21ValveIsOpen"/>
  489. <Binding Path="PV31ValveIsOpen"/>
  490. <Binding Path="PV41ValveIsOpen"/>
  491. <Binding Path="MFC5ValveIsOpen"/>
  492. <Binding Path="MFC6ValveIsOpen"/>
  493. <Binding Path="MFC7ValveIsOpen"/>
  494. <Binding Path="MFC8ValveIsOpen"/>
  495. <Binding Path="PVN22ValveIsOpen"/>
  496. </MultiBinding>
  497. </ctrls:FlowPipe.IsFlowing>
  498. </ctrls:FlowPipe>
  499. <!--阀-->
  500. <TextBlock Text="GPV41" Canvas.Left="116" Canvas.Top="374" FontSize="14"/>
  501. <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}}"/>
  502. <TextBlock Text="GPV31" Canvas.Left="116" Canvas.Top="320" Visibility="{Binding MFC3IsEnable,Converter={StaticResource BoolToVisibility2}}" FontSize="14"/>
  503. <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}}" Visibility="{Binding MFC3IsEnable,Converter={StaticResource BoolToVisibility2}}"/>
  504. <TextBlock Text="GPV21" Canvas.Left="116" Canvas.Top="266" Visibility="{Binding MFC2IsEnable,Converter={StaticResource BoolToVisibility2}}" FontSize="14"/>
  505. <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}}" Visibility="{Binding MFC2IsEnable,Converter={StaticResource BoolToVisibility2}}" />
  506. <TextBlock Text="GPV11" Canvas.Left="116" Canvas.Top="208" FontSize="14"/>
  507. <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}}" Visibility="{Binding MFC1IsEnable,Converter={StaticResource BoolToVisibility2}}"/>
  508. <TextBlock Text="GPV12" Canvas.Left="191" Canvas.Top="243" Visibility="{Binding MFC1IsEnable,Converter={StaticResource BoolToVisibility2}}" FontSize="14"/>
  509. <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}}"/>
  510. <TextBlock Text="GPV22" Canvas.Left="191" Canvas.Top="300" Visibility="{Binding MFC2IsEnable,Converter={StaticResource BoolToVisibility2}}" FontSize="14"/>
  511. <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}}" Visibility="{Binding MFC2IsEnable,Converter={StaticResource BoolToVisibility2}}"/>
  512. <TextBlock Text="GPV32" Canvas.Left="191" Canvas.Top="355" Visibility="{Binding MFC3IsEnable,Converter={StaticResource BoolToVisibility2}}" FontSize="14"/>
  513. <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}}" Visibility="{Binding MFC3IsEnable,Converter={StaticResource BoolToVisibility2}}"/>
  514. <TextBlock Text="GPV42" Canvas.Left="191" Canvas.Top="405" FontSize="14"/>
  515. <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}}"/>
  516. <TextBlock Text="GPVN21" Canvas.Left="188" Canvas.Top="150" FontSize="14"/>
  517. <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}}"/>
  518. <!--左侧管道标签-->
  519. <ctrls:TextboxWithLabel TextBoxValue="{Binding MFC1SetPoint,Mode=TwoWay,UpdateSourceTrigger=PropertyChanged}" IsReadOnly="False" Canvas.Top="204" Canvas.Left="275" LabelValue="MFC1" ToolTip="{Binding MFC1Data.SetPoint,StringFormat='F1'}" TextBoxColor="White" MaxValue="{Binding MFC1Data.Scale}" Visibility="{Binding MFC1IsEnable,Converter={StaticResource BoolToVisibility2}}"/>
  520. <!--<TextBox Canvas.Top="205" Canvas.Left="250" Width="100" Text="{Binding MfcGas1Setpoint,Mode=TwoWay}"/>-->
  521. <ctrls:TextBlockWithLabel Canvas.Top="204" Canvas.Left="345" LabelValue="Flow" TextBoxValue="{Binding MFC1Data.FeedBack,StringFormat='F1'}" Visibility="{Binding MFC1IsEnable,Converter={StaticResource BoolToVisibility2}}"/>
  522. <ctrls:TextboxWithLabel TextBoxValue="{Binding MFC2SetPoint,Mode=TwoWay,UpdateSourceTrigger=PropertyChanged}" IsReadOnly="False" Canvas.Top="259" Canvas.Left="275" LabelValue="MFC2" ToolTip="{Binding MFC2Data.SetPoint,StringFormat='F1'}" TextBoxColor="White" MaxValue="{Binding MFC2Data.Scale}" Visibility="{Binding MFC2IsEnable,Converter={StaticResource BoolToVisibility2}}"/>
  523. <ctrls:TextBlockWithLabel Canvas.Top="259" Canvas.Left="345" LabelValue="Flow" TextBoxValue="{Binding MFC2Data.FeedBack,StringFormat='F1'}" Visibility="{Binding MFC2IsEnable,Converter={StaticResource BoolToVisibility2}}"/>
  524. <ctrls:TextboxWithLabel TextBoxValue="{Binding MFC3SetPoint,Mode=TwoWay,UpdateSourceTrigger=PropertyChanged}" IsReadOnly="False" Canvas.Top="317" Canvas.Left="275" LabelValue="MFC3" ToolTip="{Binding MFC3Data.SetPoint,StringFormat='F1'}" TextBoxColor="White" MaxValue="{Binding MFC3Data.Scale}" Visibility="{Binding MFC3IsEnable,Converter={StaticResource BoolToVisibility2}}"/>
  525. <ctrls:TextBlockWithLabel Canvas.Top="317" Canvas.Left="345" LabelValue="Flow" TextBoxValue="{Binding MFC3Data.FeedBack,StringFormat='F1'}" Visibility="{Binding MFC3IsEnable,Converter={StaticResource BoolToVisibility2}}"/>
  526. <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}"/>
  527. <ctrls:TextBlockWithLabel Canvas.Top="370" Canvas.Left="345" LabelValue="Flow" TextBoxValue="{Binding MFC4Data.FeedBack,StringFormat='F1'}" />
  528. <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}"/>
  529. <ctrls:TextBlockWithLabel Canvas.Top="426" Canvas.Left="345" LabelValue="Flow" TextBoxValue="{Binding MFC5Data.FeedBack,StringFormat='F1'}" />
  530. <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}"/>
  531. <ctrls:TextBlockWithLabel Canvas.Top="482" Canvas.Left="345" LabelValue="Flow" TextBoxValue="{Binding MFC6Data.FeedBack,StringFormat='F1'}" />
  532. <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}" Visibility="{Binding MFC7IsEnable,Converter={StaticResource BoolToVisibility2}}"/>
  533. <ctrls:TextBlockWithLabel Canvas.Top="538" Canvas.Left="345" LabelValue="Flow" TextBoxValue="{Binding MFC7Data.FeedBack,StringFormat='F1'}" Visibility="{Binding MFC7IsEnable,Converter={StaticResource BoolToVisibility2}}"/>
  534. <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}" Visibility="{Binding MFC8IsEnable,Converter={StaticResource BoolToVisibility2}}"/>
  535. <ctrls:TextBlockWithLabel Canvas.Top="595" Canvas.Left="345" LabelValue="Flow" TextBoxValue="{Binding MFC8Data.FeedBack,StringFormat='F1'}" Visibility="{Binding MFC8IsEnable,Converter={StaticResource BoolToVisibility2}}"/>
  536. <Ellipse Width="18" Height="18" Fill="{Binding GasIsFlowing,Converter={StaticResource boolToColor}}" Canvas.Left="360" Canvas.Top="659" Stroke="Silver" StrokeThickness="0"/>
  537. <Button Width="100" Content="Gas ON/OFF" Canvas.Left="390" Canvas.Top="660" Command="{Binding GasCommand}" IsEnabled="{Binding IsAutoMode,Converter={StaticResource BoolToBool}}"/>
  538. <TextBlock FontSize="14" Text="Vent N2" Canvas.Left="0" Canvas.Top="117" Foreground="Black" Block.TextAlignment="Right" Width="50"/>
  539. <TextBlock FontSize="14" Canvas.Left="0" Canvas.Top="220" Block.TextAlignment="Left" MaxWidth="165" Visibility="{Binding MFC1IsEnable,Converter={StaticResource BoolToVisibility2}}">
  540. <TextBlock.Text>
  541. <MultiBinding StringFormat="{}{0}:&#10;{1}">
  542. <Binding Path="MFC1Data.DisplayName"></Binding>
  543. <Binding Path="MFC1Data.Scale"></Binding>
  544. </MultiBinding>
  545. </TextBlock.Text>
  546. </TextBlock>
  547. <TextBlock FontSize="14" Canvas.Left="0" Canvas.Top="273" Block.TextAlignment="Left" Visibility="{Binding MFC2IsEnable,Converter={StaticResource BoolToVisibility2}}">
  548. <TextBlock.Text>
  549. <MultiBinding StringFormat="{}{0}:&#10;{1}">
  550. <Binding Path="MFC2Data.DisplayName"></Binding>
  551. <Binding Path="MFC2Data.Scale"></Binding>
  552. </MultiBinding>
  553. </TextBlock.Text>
  554. </TextBlock>
  555. <TextBlock FontSize="14" Canvas.Left="0" Canvas.Top="330" Block.TextAlignment="Left" MaxWidth="165" Visibility="{Binding MFC3IsEnable,Converter={StaticResource BoolToVisibility2}}">
  556. <TextBlock.Text>
  557. <MultiBinding StringFormat="{}{0}:&#10;{1}">
  558. <Binding Path="MFC3Data.DisplayName"></Binding>
  559. <Binding Path="MFC3Data.Scale"></Binding>
  560. </MultiBinding>
  561. </TextBlock.Text>
  562. </TextBlock>
  563. <TextBlock FontSize="14" Canvas.Left="0" Canvas.Top="382" Block.TextAlignment="Left" MaxWidth="165" Visibility="{Binding MFC4IsEnable,Converter={StaticResource BoolToVisibility2}}">
  564. <TextBlock.Text>
  565. <MultiBinding StringFormat="{}{0}:&#10;{1}">
  566. <Binding Path="MFC4Data.DisplayName"></Binding>
  567. <Binding Path="MFC4Data.Scale"></Binding>
  568. </MultiBinding>
  569. </TextBlock.Text>
  570. </TextBlock>
  571. <TextBlock FontSize="14" Canvas.Left="0" Canvas.Top="440" Block.TextAlignment="Left" MaxWidth="165" Visibility="{Binding MFC5IsEnable,Converter={StaticResource BoolToVisibility2}}">
  572. <TextBlock.Text>
  573. <MultiBinding StringFormat="{}{0}:&#10;{1}">
  574. <Binding Path="MFC5Data.DisplayName"></Binding>
  575. <Binding Path="MFC5Data.Scale"></Binding>
  576. </MultiBinding>
  577. </TextBlock.Text>
  578. </TextBlock>
  579. <TextBlock FontSize="14" Canvas.Left="0" Canvas.Top="496" Block.TextAlignment="Left" MaxWidth="165" Visibility="{Binding MFC6IsEnable,Converter={StaticResource BoolToVisibility2}}">
  580. <TextBlock.Text>
  581. <MultiBinding StringFormat="{}{0}:&#10;{1}">
  582. <Binding Path="MFC6Data.DisplayName"></Binding>
  583. <Binding Path="MFC6Data.Scale"></Binding>
  584. </MultiBinding>
  585. </TextBlock.Text>
  586. </TextBlock>
  587. <TextBlock FontSize="14" Canvas.Left="0" Canvas.Top="552" Block.TextAlignment="Left" MaxWidth="165" Visibility="{Binding MFC7IsEnable,Converter={StaticResource BoolToVisibility2}}">
  588. <TextBlock.Text>
  589. <MultiBinding StringFormat="{}{0}:&#10;{1}">
  590. <Binding Path="MFC7Data.DisplayName"></Binding>
  591. <Binding Path="MFC7Data.Scale"></Binding>
  592. </MultiBinding>
  593. </TextBlock.Text>
  594. </TextBlock>
  595. <TextBlock FontSize="14" Canvas.Left="0" Canvas.Top="608" Block.TextAlignment="Left" MaxWidth="165" Visibility="{Binding MFC8IsEnable,Converter={StaticResource BoolToVisibility2}}">
  596. <TextBlock.Text>
  597. <MultiBinding StringFormat="{}{0}:&#10;{1}">
  598. <Binding Path="MFC8Data.DisplayName"></Binding>
  599. <Binding Path="MFC8Data.Scale"></Binding>
  600. </MultiBinding>
  601. </TextBlock.Text>
  602. </TextBlock>
  603. </Canvas >
  604. <Canvas Canvas.Left="-115" Canvas.Top="70">
  605. <Canvas Canvas.Left="20">
  606. <ctrls:FlowPipe Height="8" Width="40" Canvas.Left="1265" Canvas.Top="658" />
  607. <ctrls:FlowPipe Height="8" Width="192" Canvas.Left="1266" Canvas.Top="446" RotateTransformValue="90" IsFlowing="{Binding TurboPumpPumpingValveIsOpen}">
  608. </ctrls:FlowPipe>
  609. <ctrls:Pump Canvas.Top="692" Canvas.Left="1240.6" Width="45" Height="40" IsOpen="{Binding PumpIsOpen,Mode=TwoWay}">
  610. <ctrls:Pump.IsEnabled>
  611. <MultiBinding Converter="{StaticResource toBoolMultiValueConverter}">
  612. <Binding Path="IsAutoMode" Converter="{StaticResource BoolToBool}"></Binding>
  613. <Binding Path="IsEnablePumpSwitch"></Binding>
  614. </MultiBinding>
  615. </ctrls:Pump.IsEnabled>
  616. <ctrls:Pump.ContextMenu>
  617. <ContextMenu>
  618. <MenuItem Header="ON" Command="{Binding OpenPumpCommand}" IsChecked="{Binding PumpIsOpen,Mode=OneWay}" IsEnabled="{Binding PumpIsOpen,Converter={StaticResource BoolToBool},Mode=OneWay}"/>
  619. <MenuItem Header="OFF" Command="{Binding ClosePumpCommand}" IsChecked="{Binding PumpIsOpen,Converter={StaticResource BoolToBool},Mode=OneWay}" IsEnabled="{Binding PumpIsOpen,Mode=OneWay}"/>
  620. </ContextMenu>
  621. </ctrls:Pump.ContextMenu>
  622. </ctrls:Pump>
  623. <ctrls:FlowPipe Height="8" Width="60" Canvas.Left="1266" Canvas.Top="638" RotateTransformValue="90" >
  624. <ctrls:FlowPipe.IsFlowing>
  625. <MultiBinding Converter="{StaticResource toBoolMultiValueConverter2}">
  626. <Binding Path="SoftPumpValveIsOpen"/>
  627. <Binding Path="FastPumpValveIsOpen"/>
  628. <Binding Path="TurboPumpPumpingValveIsOpen"/>
  629. <!--<Binding Path="N2Purge1ValveIsOpen"/>-->
  630. </MultiBinding>
  631. </ctrls:FlowPipe.IsFlowing>
  632. </ctrls:FlowPipe>
  633. <!--<ctrls:Pipe2 Canvas.Left="1060" Canvas.Top="687.8" HorizontalAlignment="Left" VerticalAlignment="Top" RotateTransformValue="-180" />-->
  634. <ctrls:FlowPipe Height="8" Width="46" Canvas.Left="1213" Canvas.Top="635" >
  635. <ctrls:FlowPipe.IsFlowing>
  636. <MultiBinding Converter="{StaticResource toBoolMultiValueConverter2}">
  637. <Binding Path="SoftPumpValveIsOpen"/>
  638. <Binding Path="FastPumpValveIsOpen"/>
  639. </MultiBinding>
  640. </ctrls:FlowPipe.IsFlowing>
  641. </ctrls:FlowPipe>
  642. <ctrls:FlowPipe Height="8" Width="52" Canvas.Left="1165" Canvas.Top="635" IsFlowing="{Binding SoftPumpValveIsOpen}" />
  643. <ctrls:FlowPipe Height="8" Width="125" Canvas.Left="1219" Canvas.Top="512" RotateTransformValue="90" IsFlowing="{Binding FastPumpValveIsOpen}"/>
  644. <ctrls:FlowPipe Height="8" Width="119" Canvas.Left="1168" Canvas.Top="517" RotateTransformValue="90" IsFlowing="{Binding SoftPumpValveIsOpen}"/>
  645. <ctrls:Pipe2 Canvas.Left="1173" Canvas.Top="643" HorizontalAlignment="Left" VerticalAlignment="Top" RotateTransformValue="-180" />
  646. <ctrls:FlowPipe Height="8" Width="48" Canvas.Left="1165" Canvas.Top="512" HorizontalAlignment="Left" VerticalAlignment="Center" IsReverse="True" IsFlowing="{Binding SoftPumpValveIsOpen}" />
  647. <ctrls:FlowPipe Height="8" Width="25" Canvas.Left="1185" Canvas.Top="455" >
  648. <ctrls:FlowPipe.IsFlowing>
  649. <MultiBinding Converter="{StaticResource toBoolMultiValueConverter2}">
  650. <Binding Path="SoftPumpValveIsOpen"/>
  651. <Binding Path="FastPumpValveIsOpen"/>
  652. </MultiBinding>
  653. </ctrls:FlowPipe.IsFlowing>
  654. </ctrls:FlowPipe>
  655. <ctrls:FlowPipe Height="8" Width="70" Canvas.Left="1185" Canvas.Top="440" IsFlowing="{Binding TurboPumpPumpingValveIsOpen}"/>
  656. <ctrls:Pipe2 Canvas.Left="1253" Canvas.Top="440" HorizontalAlignment="Left" VerticalAlignment="Top" />
  657. <ctrls:FlowPipe Height="8" Width="55" Canvas.Left="1219" Canvas.Top="458" RotateTransformValue="90">
  658. <ctrls:FlowPipe.IsFlowing>
  659. <MultiBinding Converter="{StaticResource toBoolMultiValueConverter2}">
  660. <Binding Path="SoftPumpValveIsOpen"/>
  661. <Binding Path="FastPumpValveIsOpen"/>
  662. </MultiBinding>
  663. </ctrls:FlowPipe.IsFlowing>
  664. </ctrls:FlowPipe>
  665. <ctrls:Pipe2 Canvas.Left="1160" Canvas.Top="525" HorizontalAlignment="Left" VerticalAlignment="Top" RotateTransformValue="-90" />
  666. <ctrls:Pipe2 Canvas.Left="1206" Canvas.Top="455" HorizontalAlignment="Left" VerticalAlignment="Top" />
  667. <TextBlock Canvas.Left="1175" Canvas.Top="555" Text="Soft&#10; V2" FontSize="14"/>
  668. <TextBlock Canvas.Left="1226" Canvas.Top="555" Text="Fast&#10; V3" FontSize="14"/>
  669. <ctrls:FlowPipe Height="8" Width="164" Canvas.Left="1276" Canvas.Top="535" IsReverse="True" IsFlowing="{Binding TurboPumpPurgeValveIsOpen,Mode=TwoWay}" >
  670. </ctrls:FlowPipe>
  671. <ctrls:FlowPipe ToolTip="123" Height="8" Width="157" Canvas.Left="1448" Canvas.Top="542" RotateTransformValue="90" IsReverse="True" IsFlowing="{Binding TurboPumpPurgeValveIsOpen}"/>
  672. <ctrls:Pipe2 Canvas.Left="1435" Canvas.Top="535" HorizontalAlignment="Left" VerticalAlignment="Top" />
  673. <!--<ctrls:FlowPipeValve x:Name="purgevalve" Height="20" Width="24" Canvas.Left="1458" Canvas.Top="610" RotateTransformValue="90" IsOpen="{Binding TurboPumpPumpingValveIsOpen,Mode=TwoWay}"/>-->
  674. <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}}"/>
  675. <TextBlock Text="Turbo N2&#10; Purge V7" Canvas.Left="1365" Canvas.Top="610" FontSize="14"/>
  676. <!--<TextBlock Text="VHe1" Canvas.Top="636" Canvas.Left="985"/>
  677. <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}}"/>-->
  678. <!--<TextBlock Text="VHe2" Canvas.Top="658" Canvas.Left="1094"/>-->
  679. <!--<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}}"/>-->
  680. <customControls:CommonValveControl Status="{Binding SoftPumpValveIsOpen,Mode=TwoWay}" ValveOrientation="Vertical" Height="20" Width="20" Canvas.Top="562" Canvas.Left="1154" IsCanEdit="{Binding IsAutoMode,Converter={StaticResource BoolToBool}}" Tag="22" Command="{Binding ControlValveCommand}" CommandParameter="{Binding RelativeSource={x:Static RelativeSource.Self}}"/>
  681. <customControls:CommonValveControl Status="{Binding FastPumpValveIsOpen,Mode=TwoWay}" ValveOrientation="Vertical" Height="20" Width="20" Canvas.Top="562" Canvas.Left="1205" IsCanEdit="{Binding IsAutoMode,Converter={StaticResource BoolToBool}}" Tag="23" Command="{Binding ControlValveCommand}" CommandParameter="{Binding RelativeSource={x:Static RelativeSource.Self}}"/>
  682. <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}}"/>
  683. <!--turbo-->
  684. <ctrls:TurboPump Width="40" Height="40" Canvas.Top="511.5" Canvas.Left="1242.5" IsOpen="{Binding TurboIsOpen}" IsEnabled="{Binding IsAutoMode,Converter={StaticResource BoolToBool}}">
  685. <ctrls:TurboPump.ContextMenu>
  686. <ContextMenu>
  687. <MenuItem Header="ON" Command="{Binding OpenTurboPumpCommand}" IsChecked="{Binding TurboIsOpen,Mode=OneWay}" IsEnabled="{Binding TurboIsOpen,Converter={StaticResource BoolToBool},Mode=OneWay}"/>
  688. <MenuItem Header="OFF" Command="{Binding CloseTurboPumpCommand}" IsChecked="{Binding TurboIsOpen,Converter={StaticResource BoolToBool},Mode=OneWay}" IsEnabled="{Binding TurboIsOpen,Mode=OneWay}"/>
  689. </ContextMenu>
  690. </ctrls:TurboPump.ContextMenu>
  691. </ctrls:TurboPump>
  692. <ctrls:PendulumValve Canvas.Top="460" Canvas.Left="1243" Opening="{Binding PendulumValveData.Position}" IsOpen="{Binding PendulumValveData.IsOpen}" IsEnabled="{Binding IsAutoMode,Converter={StaticResource BoolToBool}}">
  693. <i:Interaction.Triggers>
  694. <i:EventTrigger EventName="MouseLeftButtonUp">
  695. <i:InvokeCommandAction Command="{Binding OpenButterflyValveViewCommand}"/>
  696. </i:EventTrigger>
  697. </i:Interaction.Triggers>
  698. <ctrls:PendulumValve.ContextMenu>
  699. <ContextMenu>
  700. <MenuItem Header="Open" Command="{Binding OpenPendulumValveCommand}" IsChecked="{Binding PendulumValveData.IsOpen,Mode=OneWay}" IsEnabled="{Binding PendulumValveData.IsOpen,Converter={StaticResource BoolToBool},Mode=OneWay}"/>
  701. <MenuItem Header="Close" Command="{Binding ClosePendulumValveCommand}" IsChecked="{Binding PendulumValveData.IsOpen,Converter={StaticResource BoolToBool},Mode=OneWay}" IsEnabled="{Binding PendulumValveData.IsOpen,Mode=OneWay}"/>
  702. </ContextMenu>
  703. </ctrls:PendulumValve.ContextMenu>
  704. </ctrls:PendulumValve>
  705. <Image Canvas.Top="730" Canvas.Left="1425" Width="40" Height="25" Source="Pack://application:,,,/Venus_Themes;Component/Resources/Arrow.png" Stretch="Uniform">
  706. <Image.RenderTransform>
  707. <RotateTransform Angle="-90"/>
  708. </Image.RenderTransform>
  709. </Image>
  710. <TextBlock Text="N2" Canvas.Top="735" Canvas.Left="1438" FontSize="14"/>
  711. <!--<ctrls:TextboxWithLabel Canvas.Top="633" Canvas.Left="880" LabelValue="Pressure(mTorr)" TextBoxValue="{Binding HePressureSetpoint,Mode=TwoWay}" TextBoxColor="White" IsReadOnly="False"/>-->
  712. <!--<ctrls:TextboxWithLabel Canvas.Top="633" Canvas.Left="820" TextBoxValue="{Binding HeGasSetpoint,Mode=TwoWay}" LabelValue="Flow(sccm)/Pressure(Torr)" TextBoxColor="White" IsReadOnly="False"/>-->
  713. <!--<Ellipse Width="18" Height="18" Canvas.Top="651.5" Canvas.Left="775" Fill="{Binding MFCHeData.IsWarning,Converter={StaticResource boolToColor4}}" Stroke="Silver" StrokeThickness="0" ToolTip="Pressure Alarm"></Ellipse>-->
  714. <ctrls:TextBlockWithLabel Canvas.Top="632" Canvas.Left="1280" LabelValue="{Binding PressureType, StringFormat=CM3({0})}" TextBoxValue="{Binding ForelinePressure,StringFormat='F1'}"/>
  715. <!--<ctrls:TextboxWithLabel Canvas.Top="460" Canvas.Left="1290" LabelValue="Position(‰)" TextBoxValue="{Binding PendulumValvePosition,StringFormat='F0'}" TextBoxColor="#E6ECF5" />-->
  716. <ctrls:TextBlockWithLabel Canvas.Top="509" Canvas.Left="1330" LabelValue="Flow(sccm)" TextBoxValue="{Binding MFCN2Data.FeedBack,StringFormat='F1'}"/>
  717. <ctrls:TextBlockWithLabel Canvas.Top="559" Canvas.Left="1280" LabelValue="Speed(rpm)" TextBoxValue="{Binding TurboPumpRotationalSpeed}"/>
  718. <TextBlock Canvas.Top="595" Canvas.Left="1227" Text="ISO&#10; V6" FontSize="14"/>
  719. <StackPanel Canvas.Top="450" Canvas.Left="1310" Orientation="Vertical" Visibility="{Binding PVHeaterIsEnbale,Converter={StaticResource BoolToVisibility2}}">
  720. <TextBlock Text="Pendulum Heater" Margin="0 0 0 5" FontSize="14"/>
  721. <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"/>
  722. </StackPanel>
  723. <TextBlock Text="Dry Pump" Canvas.Top="733" Canvas.Left="1229" FontSize="14"/>
  724. <!--<ctrls:FlowPipe Height="8" Width="55" Canvas.Left="1055" Canvas.Top="458" RotateTransformValue="90" IsFlowing="{Binding N2Purge1ValveIsOpen}" IsReverse="True"/>
  725. <ctrls:FlowPipe Height="8" Width="55" Canvas.Left="1155" Canvas.Top="458" RotateTransformValue="90" IsFlowing="{Binding N2Purge1ValveIsOpen}" IsReverse="True"/>
  726. <ctrls:FlowPipe Height="8" Width="48" Canvas.Left="1054" Canvas.Top="512" HorizontalAlignment="Left" VerticalAlignment="Center" IsFlowing="{Binding N2Purge1ValveIsOpen}" IsReverse="True"/>
  727. <ctrls:FlowPipe Height="8" Width="46" Canvas.Left="1102" Canvas.Top="512" HorizontalAlignment="Left" VerticalAlignment="Center" IsFlowing="{Binding N2Purge1ValveIsOpen}" />-->
  728. <ctrls:FlowPipe Height="8" Width="180" Canvas.Left="1105" Canvas.Top="518" RotateTransformValue="90" IsFlowing="{Binding N2Purge1ValveIsOpen}" IsReverse="True"/>
  729. <Border Height="8" Width="50" Canvas.Left="1055" Canvas.Top="463" Background="Gray">
  730. <Border.RenderTransform>
  731. <RotateTransform Angle="90"/>
  732. </Border.RenderTransform>
  733. </Border>
  734. <Border Height="8" Width="50" Canvas.Left="1154" Canvas.Top="463" Background="Gray">
  735. <Border.RenderTransform>
  736. <RotateTransform Angle="90"/>
  737. </Border.RenderTransform>
  738. </Border>
  739. <Border Height="8" Width="54" Canvas.Left="1047" Canvas.Top="512" HorizontalAlignment="Left" VerticalAlignment="Center" Background="Gray"/>
  740. <Border Height="8" Width="53" Canvas.Left="1101" Canvas.Top="512" HorizontalAlignment="Left" VerticalAlignment="Center" Background="Gray"/>
  741. <Image Canvas.Top="730" Canvas.Left="1081" Width="40" Height="25" Source="Pack://application:,,,/Venus_Themes;Component/Resources/Arrow.png" Stretch="Uniform">
  742. <Image.RenderTransform>
  743. <RotateTransform Angle="-90"/>
  744. </Image.RenderTransform>
  745. </Image>
  746. <TextBlock Text="N2" Canvas.Top="735" Canvas.Left="1093" FontSize="14"/>
  747. <ctrls:TextBlockWithLabel Canvas.Top="535" Canvas.Left="1066" LabelValue="" TextBoxValue="{Binding HighTemperatureHeaterData.HighTemperatureHeaterN2Flow,StringFormat='F1'}"/>
  748. <TextBlock Text="Flow(L/Min)" Canvas.Top="556" Canvas.Left="990" FontSize="14"/>
  749. <customControls:CommonValveControl Status="{Binding N2Purge1ValveIsOpen,Mode=TwoWay}" ValveOrientation="Vertical" Height="20" Width="20" Canvas.Top="595" Canvas.Left="1091" IsCanEdit="{Binding IsAutoMode,Converter={StaticResource BoolToBool}}" Tag="57" Command="{Binding ControlValveCommand}" CommandParameter="{Binding RelativeSource={x:Static RelativeSource.Self}}"/>
  750. <Ellipse Width="18" Height="18" Canvas.Left="1092" Canvas.Top="660" Fill="{Binding SensorN2PurgePressure,Converter={StaticResource boolToColor4}}" Stroke="Silver" StrokeThickness="0" ToolTip="Pressure Alarm"></Ellipse>
  751. <Ellipse Width="18" Height="18" Canvas.Left="1435" Canvas.Top="660" Fill="{Binding SensorN2PurgePressure,Converter={StaticResource boolToColor4}}" Stroke="Silver" StrokeThickness="0" ToolTip="Pressure Alarm"></Ellipse>
  752. </Canvas>
  753. <!--与chamber右上角连接的管道-->
  754. <ctrls:FlowPipe Height="8" Width="40" Canvas.Left="1232" Canvas.Top="275" RotateTransformValue="90" />
  755. <ctrls:FlowPipe Height="8" Width="126" Canvas.Left="1220" Canvas.Top="192" RotateTransformValue="90" />
  756. <ctrls:Pipe2 Canvas.Left="1224" Canvas.Top="285" HorizontalAlignment="Left" VerticalAlignment="Top" RotateTransformValue="-90" />
  757. <ctrls:FlowPipe Height="8" Width="80" Canvas.Left="1222" Canvas.Top="182" />
  758. <ctrls:FlowPipe Height="8" Width="70" Canvas.Left="1234" Canvas.Top="272" />
  759. <TextBlock Text="Gauge&#10; V9" Canvas.Left="1242" Canvas.Top="235" FontSize="14"/>
  760. <TextBlock Text="V4" Canvas.Left="1262" Canvas.Top="320" FontSize="14"/>
  761. <ctrls:FlowPipe Height="8" Width="100" Canvas.Left="1234" Canvas.Top="342" />
  762. <customControls:CommonValveControl ValveOrientation="Horizontal" Status="{Binding PenningGaugeValveIsOpen,Mode=TwoWay}" Height="20" Width="20" Canvas.Left="1260" Canvas.Top="336" IsCanEdit="{Binding IsAutoMode,Converter={StaticResource BoolToBool}}" Tag="59" Command="{Binding ControlValveCommand}" CommandParameter="{Binding RelativeSource={x:Static RelativeSource.Self}}"/>
  763. <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}}"/>
  764. <Border BorderBrush="Gray" Background="White" BorderThickness="0" Width="18" Height="6" Canvas.Left="1285" Canvas.Top="164" >
  765. <Border.RenderTransform>
  766. <RotateTransform Angle="90"/>
  767. </Border.RenderTransform>
  768. </Border>
  769. <Border BorderBrush="Gray" Background="White" BorderThickness="0" Width="20" Height="6" Canvas.Left="1255" Canvas.Top="164" >
  770. <Border.RenderTransform>
  771. <RotateTransform Angle="90"/>
  772. </Border.RenderTransform>
  773. </Border>
  774. <Ellipse Width="18" Height="18" Canvas.Left="1273" Canvas.Top="150" Fill="{Binding IsATM,Converter={StaticResource boolToColor}}" Stroke="Silver" StrokeThickness="0"></Ellipse>
  775. <Ellipse Width="18" Height="18" Canvas.Left="1243" Canvas.Top="150" Fill="{Binding IsVAC,Converter={StaticResource boolToColor}}" Stroke="Silver" StrokeThickness="0"></Ellipse>
  776. <TextBlock Text="ATM" Canvas.Left="1270" Canvas.Top="134" FontSize="14"/>
  777. <TextBlock Text="VAC" Canvas.Left="1237" Canvas.Top="134" FontSize="14"/>
  778. <ctrls:Pipe2 Canvas.Left="1212" Canvas.Top="195" HorizontalAlignment="Left" VerticalAlignment="Top" RotateTransformValue="-90" />
  779. <!--chamber管道标签-->
  780. <ctrls:TextBlockWithLabel Canvas.Top="157" Canvas.Left="1296" LabelValue="{Binding PressureType, StringFormat=CM2({0})}" TextBoxValue="{Binding ChamberPressure,StringFormat='F1'}"/>
  781. <ctrls:TextBlockWithLabel Canvas.Top="247" Canvas.Left="1288" LabelValue="{Binding PressureType, StringFormat=CM1({0})}" TextBoxValue="{Binding ProcessPressure,StringFormat='F1'}"/>
  782. <ctrls:TextBlockWithLabel Canvas.Top="316" Canvas.Left="1300" LabelValue="{Binding PressureType, StringFormat=Penning Gauge({0})}" TextBoxValue="{Binding PenningPressure,StringFormat='F5'}"/>
  783. <!--Chamber-->
  784. <ctrls:ChamberWithHeater Canvas.Left="1000" Canvas.Top="226"
  785. IsOpenSlitDoor="{Binding IsSlitDoorClosed,Converter={StaticResource BoolToBool}}"
  786. IsLidOpen="{Binding IsLidClosed,Converter={StaticResource BoolToBool}}"
  787. IsSRFOn="{Binding SRFData.IsRfOn}"
  788. IsHasWafer="{Binding IsHasWafer}"
  789. WaferID="{Binding WaferID}"
  790. ModuleName="{Binding ModuleName}"
  791. HeaterPosition="{Binding HighTemperatureHeaterData.HighTemperatureHeaterPositionFeedBack}"
  792. IsEnabled="{Binding IsAutoMode,Converter={StaticResource BoolToBool}}"
  793. RobotWafer="{Binding PMWafer}"
  794. ChamberInfo="{Binding ChamberInfo}"
  795. />
  796. </Canvas>
  797. <Grid Width="300" Height="160" Canvas.Left="540" Canvas.Top="432" Background="#FAFAFA" unity:GridOptions.LineBrush="#E5E6E7" unity:GridOptions.ShowBorder="True">
  798. <Grid.RowDefinitions>
  799. <RowDefinition/>
  800. <RowDefinition/>
  801. <RowDefinition/>
  802. <RowDefinition/>
  803. <RowDefinition/>
  804. <RowDefinition/>
  805. </Grid.RowDefinitions>
  806. <Grid.ColumnDefinitions>
  807. <ColumnDefinition Width="2*"/>
  808. <ColumnDefinition Width="*"/>
  809. <ColumnDefinition Width="*"/>
  810. </Grid.ColumnDefinitions>
  811. <TextBlock Text="RF" Grid.ColumnSpan="3" FontSize="14" VerticalAlignment="Center" HorizontalAlignment="Center"/>
  812. <TextBlock Grid.Row="1" Text="RF Fwd Power(W)" FontSize="14" VerticalAlignment="Center" HorizontalAlignment="Left" Padding="10,0,0,0"/>
  813. <TextBlock Grid.Row="2" Text="RF Ref Power(W)" FontSize="14" VerticalAlignment="Center" HorizontalAlignment="Left" Padding="10,0,0,0"/>
  814. <TextBlock Grid.Row="3" Text="Match C1(%)" FontSize="14" VerticalAlignment="Center" HorizontalAlignment="Left" Padding="10,0,0,0"/>
  815. <TextBlock Grid.Row="4" Text="Match C2(%)" FontSize="14" VerticalAlignment="Center" HorizontalAlignment="Left" Padding="10,0,0,0"/>
  816. <TextBlock Grid.Row="5" Text="Match WorkMode" FontSize="14" VerticalAlignment="Center" HorizontalAlignment="Left" Padding="10,0,0,0"/>
  817. <TextBox Grid.Row="1" Grid.Column="1" Width="Auto" Height="Auto" Text="{Binding SRFFwdPowerSetpoint,UpdateSourceTrigger=PropertyChanged}" HorizontalContentAlignment="Center" VerticalContentAlignment="Center" BorderThickness="0" />
  818. <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"/>
  819. <TextBox Grid.Row="3" Grid.Column="1" Width="Auto" Height="Auto" Text="{Binding SRFMatchC1SetPoint,UpdateSourceTrigger=PropertyChanged}" HorizontalContentAlignment="Center" VerticalContentAlignment="Center" BorderThickness="0" />
  820. <TextBox Grid.Row="4" Grid.Column="1" Width="Auto" Height="Auto" Text="{Binding SRFMatchC2SetPoint,UpdateSourceTrigger=PropertyChanged}" HorizontalContentAlignment="Center" VerticalContentAlignment="Center" BorderThickness="0" />
  821. <TextBlock Grid.Row="1" Grid.Column="2" Width="Auto" Height="Auto" Text="{Binding SRFData.ForwardPower,StringFormat='F0'}" Block.TextAlignment="Center" Padding="0 5 0 0" Background="#E6ECF5"/>
  822. <!--<TextBlock Grid.Row="2" Grid.Column="2" Width="Auto" Height="Auto" Text="0.0" Background="#E8E8E8" TextBlock.TextAlignment="Center" VerticalAlignment="Center" Block.TextAlignment="Center"/>-->
  823. <TextBlock Grid.Row="3" Grid.Column="2" Width="Auto" Height="Auto" Text="{Binding MatchData.C1,StringFormat='F1'}" Block.TextAlignment="Center" Padding="0 5 0 0" Background="#E6ECF5"/>
  824. <TextBlock Grid.Row="4" Grid.Column="2" Width="Auto" Height="Auto" Text="{Binding MatchData.C2,StringFormat='F1'}" Block.TextAlignment="Center" Padding="0 5 0 0" Background="#E6ECF5"/>
  825. <TextBlock Grid.Row="5" Grid.Column="1" Grid.ColumnSpan="2" Width="Auto" Height="Auto" Text="{Binding MatchData.WorkMode}" TextBlock.TextAlignment="Center" Block.TextAlignment="Center" Padding="0 5 0 0" Background="#E6ECF5"/>
  826. </Grid>
  827. <Grid Width="300" Height="100" Canvas.Left="540" Canvas.Top="630" Background="#FAFAFA" unity:GridOptions.LineBrush="#E5E6E7" unity:GridOptions.ShowBorder="True">
  828. <Grid.RowDefinitions>
  829. <RowDefinition/>
  830. <RowDefinition/>
  831. <RowDefinition/>
  832. <RowDefinition/>
  833. <!--<RowDefinition/>-->
  834. </Grid.RowDefinitions>
  835. <Grid.ColumnDefinitions>
  836. <ColumnDefinition Width="2*"/>
  837. <ColumnDefinition Width="*"/>
  838. <ColumnDefinition Width="*"/>
  839. <ColumnDefinition Width="*"/>
  840. </Grid.ColumnDefinitions>
  841. <TextBlock Text="RF Box" Grid.ColumnSpan="4" FontSize="14" VerticalAlignment="Center" HorizontalAlignment="Center"/>
  842. <TextBlock Grid.Row="1" Text="Set C1(%)" FontSize="14" VerticalAlignment="Center" HorizontalAlignment="Left" Padding="10,0,0,0"/>
  843. <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"/>
  844. <TextBox Grid.Row="1" Grid.Column="1" Width="Auto" Height="Auto" Text="{Binding RFBoxC1Setpoint}" HorizontalContentAlignment="Center" VerticalContentAlignment="Center" BorderThickness="0" />
  845. <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"/>
  846. <TextBlock Grid.Row="2" Text="Work Mode" FontSize="14" VerticalAlignment="Center" HorizontalAlignment="Left" Padding="10,0,0,0"/>
  847. <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"/>
  848. <TextBlock Grid.Row="3" Text="VPP" FontSize="14" VerticalAlignment="Center" HorizontalAlignment="Left" Padding="10,0,0,0"/>
  849. <TextBlock Grid.Row="3" Grid.Column="1" Width="Auto" Height="Auto" Text="{Binding RFBoxData.VPP,StringFormat='F1'}" Background="#E6ECF5" Block.TextAlignment="Center" Padding="0 5 0 0" Grid.ColumnSpan="3"/>
  850. <!--<TextBlock Grid.Row="4" Text="DC Bias" FontSize="14" VerticalAlignment="Center" HorizontalAlignment="Left" Padding="10,0,0,0"/>
  851. <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"/>-->
  852. </Grid>
  853. <Ellipse Width="18" Height="18" Fill="{Binding SRFData.IsRfOn,Converter={StaticResource boolToColor}}" Canvas.Left="540" Canvas.Top="405" Stroke="Silver" StrokeThickness="0"/>
  854. <Button Height="20" Width="100" Content="RF ON/OFF" Canvas.Left="570" Canvas.Top="405" Command="{Binding SetSRfCommand}" IsEnabled="{Binding IsAutoMode,Converter={StaticResource BoolToBool}}"/>
  855. <Ellipse Width="18" Height="18" Fill="{Binding HighTemperatureHeaterData.HighTemperatureHeaterIsonFeedBack,Converter={StaticResource boolToColor}}" Canvas.Left="540" Canvas.Top="245" Stroke="Silver" StrokeThickness="0"/>
  856. <Button Height="20" Width="100" Content="Heater ON/OFF" Canvas.Left="570" Canvas.Top="245" IsEnabled="{Binding IsAutoMode,Converter={StaticResource BoolToBool}}" Command="{Binding SwitchHighTemperatureHeaterCommand}"/>
  857. <Button Height="22" Width="100" Content="Lift Init" Canvas.Left="680" Canvas.Top="245" IsEnabled="{Binding IsAutoMode,Converter={StaticResource BoolToBool}}" Command="{Binding ResetHighTemperatureHeaterLiftCommand}"/>
  858. <Button Height="22" Width="114" Content="Heater Driver Init" Canvas.Left="790" Canvas.Top="245" IsEnabled="{Binding IsAutoMode,Converter={StaticResource BoolToBool}}" Command="{Binding ResetHighTemperatureHeaterCommand}"/>
  859. <Grid Width="375" Height="100" Background="#FAFAFA" unity:GridOptions.LineBrush="#E5E6E7" unity:GridOptions.ShowBorder="True" Canvas.Left="540" Canvas.Top="278">
  860. <Grid.RowDefinitions>
  861. <RowDefinition/>
  862. <RowDefinition/>
  863. <RowDefinition/>
  864. <RowDefinition/>
  865. </Grid.RowDefinitions>
  866. <Grid.ColumnDefinitions>
  867. <ColumnDefinition Width="170"/>
  868. <ColumnDefinition Width="3*"/>
  869. <ColumnDefinition Width="2*"/>
  870. <ColumnDefinition Width="2*"/>
  871. </Grid.ColumnDefinitions>
  872. <TextBlock Grid.Row="0" Text="Heater Temp(°C)" FontSize="14" VerticalAlignment="Center" HorizontalAlignment="Left" Padding="4,0,0,0"/>
  873. <TextBox Grid.Row="0" Grid.Column="1" Width="Auto" Height="Auto" Text="{Binding HighTemperatureHeaterTemperatureSetpoint,UpdateSourceTrigger=PropertyChanged}" HorizontalContentAlignment="Center" VerticalContentAlignment="Center" BorderBrush="White" BorderThickness="0" />
  874. <TextBlock Grid.Row="0" Grid.Column="2" Text="{Binding HighTemperatureHeaterData.HighTemperatureHeaterTemperatureFeedBack,StringFormat='F1'}" FontSize="14" Block.TextAlignment="Center" Padding="0 5 0 0" Background="#E6ECF5"/>
  875. <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"/>
  876. <TextBlock Grid.Row="1" Text="Auto Ratio(Outer/Inner)" FontSize="14" VerticalAlignment="Center" HorizontalAlignment="Left" Padding="4,0,0,0"/>
  877. <StackPanel Grid.Row="1" Grid.Column="1" Grid.ColumnSpan="2" Orientation="Horizontal" VerticalAlignment="Center" HorizontalAlignment="Center" IsEnabled="{Binding IsAutoMode,Converter={StaticResource BoolToBool}}">
  878. <RadioButton Content="On" FontSize="14" Command="{Binding EnableAutoRatioCommand}" CommandParameter="True" IsChecked="{Binding HighTemperatureHeaterData.IsAutoRatio}"/>
  879. <RadioButton Content="Off" FontSize="14" Margin="10 0 0 0" Command="{Binding EnableAutoRatioCommand}" CommandParameter="False" IsChecked="{Binding HighTemperatureHeaterData.IsAutoRatio,Converter={StaticResource BoolToBool}}"/>
  880. </StackPanel>
  881. <!--<TextBox Grid.Row="1" Grid.Column="1" Width="Auto" Height="Auto" HorizontalContentAlignment="Center" VerticalContentAlignment="Center" BorderBrush="White" BorderThickness="0" />
  882. <TextBlock Grid.Row="1" Grid.Column="2" Text="0.0" FontSize="14" Block.TextAlignment="Center" Padding="0 5 0 0" Background="#E6ECF5"/>-->
  883. <Button Grid.Row="1" Grid.Column="3" Margin="5,0,5,0" Height="20" Content="Show" Command="{Binding SetAutoRatioCommand}" Cursor="Hand"/>
  884. <TextBlock Grid.Row="2" Text="Manual Ratio(Outer/Inner)" FontSize="14" VerticalAlignment="Center" HorizontalAlignment="Left" Padding="4,0,0,0"/>
  885. <TextBox Grid.Row="2" Grid.Column="1" Width="Auto" Height="Auto" Text="{Binding HighTemperatureHeaterRatioSetpoint,UpdateSourceTrigger=PropertyChanged}" HorizontalContentAlignment="Center" VerticalContentAlignment="Center" BorderBrush="White" BorderThickness="0" />
  886. <TextBlock Grid.Row="2" Grid.Column="2" Text="{Binding HighTemperatureHeaterData.HighTemperatureHeaterRatioFeedBack}" FontSize="14" Block.TextAlignment="Center" Padding="0 5 0 0" Background="#E6ECF5"/>
  887. <Button Grid.Row="2" Grid.Column="3" Margin="5,0,5,0" Height="20" Content="Set" Command="{Binding SetHeaterRatioCommand}" Cursor="Hand">
  888. <Button.IsEnabled>
  889. <MultiBinding Converter="{StaticResource toBoolMultiValueConverter}">
  890. <Binding Path="HighTemperatureHeaterData.IsAutoRatio" Converter="{StaticResource BoolToBool}"/>
  891. <Binding Path="IsAutoMode" Converter="{StaticResource BoolToBool}"/>
  892. </MultiBinding>
  893. </Button.IsEnabled>
  894. </Button>
  895. <TextBlock Grid.Row="3" Text="Heater Position" VerticalAlignment="Center" HorizontalAlignment="Left" Padding="4,0,0,0" FontSize="14"/>
  896. <ComboBox Grid.Row="3" Grid.Column="1" SelectedIndex="0" Height="25" Margin="1,2,0,2" SelectedValue="{Binding SelectedPosition}" Style="{StaticResource customeComboBoxStyle2}" BorderThickness="0">
  897. <ComboBoxItem>Origin</ComboBoxItem>
  898. <ComboBoxItem>Position1</ComboBoxItem>
  899. <ComboBoxItem>Position2</ComboBoxItem>
  900. <ComboBoxItem>Position3</ComboBoxItem>
  901. <ComboBoxItem>Position4</ComboBoxItem>
  902. <ComboBoxItem>Position5</ComboBoxItem>
  903. </ComboBox>
  904. <TextBlock Grid.Row="3" Grid.Column="2" Text="{Binding HighTemperatureHeaterData.HighTemperatureHeaterPositionFeedBack}" Block.TextAlignment="Center" Padding="0 7 0 0" Background="#E6ECF5"/>
  905. <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}}"/>
  906. </Grid>
  907. <Border BorderThickness="0,0,0,1" BorderBrush="Black" Canvas.Top="20" Canvas.Left="40">
  908. <StackPanel Orientation="Horizontal" Margin="0,0,0,5">
  909. <Button Command="{Binding PMInitCommnad}" Width="100" Height="30" Content="Home" IsEnabled="{Binding IsAutoMode,Converter={StaticResource BoolToBool}}"/>
  910. <customControls:SplitButton Width="120" Height="30" Content="Abort" Margin="45,0,0,0" Style="{StaticResource SplitButtonStyle}" Command="{Binding PMAbortCommnad}" Cursor="Hand" Foreground="White" FontSize="18">
  911. <MenuItem Header="Stop Recipe" Cursor="Hand" Command="{Binding AbortRecipeCommnad}" CommandParameter="0"/>
  912. <MenuItem Header="Stop Recipe=>Return Wafer To Foup" Cursor="Hand" Command="{Binding AbortRecipeCommnad}" CommandParameter="2"/>
  913. </customControls:SplitButton>
  914. <RadioButton Content="OffLine" Width="100" Height="28" Margin="45 0 5 0" Style="{StaticResource Button_RadioButton}" IsChecked="{Binding IsAutoMode,Converter={StaticResource BoolToBool},UpdateSourceTrigger=PropertyChanged}" FontSize="14" Command="{Binding OfflineCommand}"/>
  915. <RadioButton Content="OnLine" Width="100" Height="28" Margin="0 0 0 0" Style="{StaticResource Button_RadioButton}" IsChecked="{Binding IsAutoMode,UpdateSourceTrigger=PropertyChanged}" FontSize="14" Command="{Binding OnlineCommand}"/>
  916. <Button Width="120" Height="30" Content="Vent" Command="{Binding VentCommand}" Margin="45,0,0,0" IsEnabled="{Binding IsAutoMode,Converter={StaticResource BoolToBool}}" />
  917. <Button Width="120" Height="30" Content="Pump Purge" Command="{Binding PurgeCommand}" Margin="45,0,0,0" IsEnabled="{Binding IsAutoMode,Converter={StaticResource BoolToBool}}" />
  918. <Button Width="120" Height="30" Content="Pump Down" Command="{Binding PumpCommand}" Margin="45,0,0,0" IsEnabled="{Binding IsAutoMode,Converter={StaticResource BoolToBool}}"/>
  919. <StackPanel Orientation="Horizontal" Margin="45 0 0 0">
  920. <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="14" Command="{Binding IncludeCommand}"/>
  921. <RadioButton Content="Include" Width="100" Height="28" Style="{StaticResource Button_RadioButton}" IsChecked="{Binding IsInclude,UpdateSourceTrigger=PropertyChanged}" FontSize="14" Command="{Binding IncludeCommand}"/>
  922. </StackPanel>
  923. </StackPanel>
  924. </Border>
  925. </Canvas>
  926. <Canvas Grid.Column="1" Background="#C7D2DF">
  927. <!--<TextBlock Width="140" Height="30" Text="Recipe:" Canvas.Left="20" Canvas.Top="250" FontSize="18" />-->
  928. <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="14" SelectedIndex="0">
  929. <ComboBoxItem>Process</ComboBoxItem>
  930. <ComboBoxItem>Clean</ComboBoxItem>
  931. <i:Interaction.Triggers>
  932. <i:EventTrigger EventName="SelectionChanged">
  933. <i:InvokeCommandAction Command="{Binding SwitchTypeCommand}"/>
  934. </i:EventTrigger>
  935. </i:Interaction.Triggers>
  936. </ComboBox>
  937. <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="14">
  938. <i:Interaction.Triggers>
  939. <i:EventTrigger EventName="DropDownOpened">
  940. <i:InvokeCommandAction Command="{Binding LoadRecipeCommand}"/>
  941. </i:EventTrigger>
  942. </i:Interaction.Triggers>
  943. </ComboBox>
  944. <StackPanel Orientation="Horizontal" Canvas.Left="110" Canvas.Top="295">
  945. <Button Width="100" Height="30" Content="Start" IsEnabled="{Binding IsAutoMode,Converter={StaticResource BoolToBool}}" Command="{Binding RunRecipeCommand}"/>
  946. <Button Width="100" Height="30" Content="Next" IsEnabled="{Binding IsProcessing}" Command="{Binding EndStepCommand}" Margin="15 0 0 0"/>
  947. <Button Width="100" Height="30" Content="Abort" IsEnabled="{Binding IsProcessing}" Command="{Binding PMAbortCommnad}" Margin="15 0 0 0"/>
  948. </StackPanel>
  949. <Grid Width="500" Height="472" Canvas.Left="20" Canvas.Top="340" unity:GridOptions.ShowBorder="True" unity:GridOptions.LineBrush="#E5E6E7" unity:GridOptions.LineThickness="1" >
  950. <Grid.Resources>
  951. <Style TargetType="TextBlock">
  952. <Setter Property="FontSize" Value="14"/>
  953. </Style>
  954. </Grid.Resources>
  955. <Grid.RowDefinitions>
  956. <RowDefinition/>
  957. <RowDefinition/>
  958. <RowDefinition/>
  959. <RowDefinition/>
  960. <RowDefinition/>
  961. <RowDefinition/>
  962. <RowDefinition/>
  963. <RowDefinition/>
  964. <RowDefinition/>
  965. <RowDefinition/>
  966. <RowDefinition/>
  967. <RowDefinition/>
  968. <RowDefinition/>
  969. <RowDefinition/>
  970. <RowDefinition/>
  971. <RowDefinition/>
  972. <RowDefinition/>
  973. <RowDefinition/>
  974. <RowDefinition/>
  975. </Grid.RowDefinitions>
  976. <Grid.ColumnDefinitions>
  977. <ColumnDefinition Width="2*"/>
  978. <ColumnDefinition />
  979. <ColumnDefinition />
  980. <ColumnDefinition />
  981. </Grid.ColumnDefinitions>
  982. <TextBlock Text="Parameter" FontSize="14" Foreground="#222222" Background="#FFFFFF" Padding="70,4,0,0"/>
  983. <TextBlock Text="FeedBack" Grid.Column="1" FontSize="14" Foreground="#222222" Background="#FFFFFF" Padding="20,4,0,0"/>
  984. <TextBlock Text="SetPoint" Grid.Column="2" FontSize="14" Foreground="#222222" Background="#FFFFFF" Padding="20,4,0,0"/>
  985. <TextBlock Text="Unit" Grid.Column="3" FontSize="14" Foreground="#222222" Background="#FFFFFF" Padding="40,4,0,0"/>
  986. <TextBlock Grid.Row="1" Text="RF Forward Power" Background="#F5F7FA" Padding="10,5,0,0"/>
  987. <TextBlock Grid.Row="2" Text="RF Reflected Power" Background="#FFFFFF" Padding="10,5,0,0" />
  988. <TextBlock Grid.Row="3" Text="RF Match C1%" Background="#F5F7FA" Padding="10,5,0,0" />
  989. <TextBlock Grid.Row="4" Text="RF Match C2%" Background="#FFFFFF" Padding="10,5,0,0" />
  990. <TextBlock Grid.Row="5" Text="Pendulum Valve Pressure" Background="#F5F7FA" Padding="10,5,0,0" />
  991. <TextBlock Grid.Row="6" Text="Pendulum Valve Position" Background="#FFFFFF" Padding="10,5,0,0"/>
  992. <TextBlock Grid.Row="7" Background="#F5F7FA" Padding="10,5,0,0" >
  993. <TextBlock.Text>
  994. <MultiBinding StringFormat="{}Gas1({0}:{1})">
  995. <Binding Path="MFC1Data.DisplayName"></Binding>
  996. <Binding Path="MFC1Data.Scale"></Binding>
  997. </MultiBinding>
  998. </TextBlock.Text>
  999. </TextBlock>
  1000. <TextBlock Grid.Row="8" Background="#FFFFFF" Padding="10,5,0,0" >
  1001. <TextBlock.Text>
  1002. <MultiBinding StringFormat="{}Gas2({0}:{1})">
  1003. <Binding Path="MFC2Data.DisplayName"></Binding>
  1004. <Binding Path="MFC2Data.Scale"></Binding>
  1005. </MultiBinding>
  1006. </TextBlock.Text>
  1007. </TextBlock>
  1008. <TextBlock Grid.Row="9" Background="#F5F7FA" Padding="10,5,0,0" >
  1009. <TextBlock.Text>
  1010. <MultiBinding StringFormat="{}Gas3({0}:{1})">
  1011. <Binding Path="MFC3Data.DisplayName"></Binding>
  1012. <Binding Path="MFC3Data.Scale"></Binding>
  1013. </MultiBinding>
  1014. </TextBlock.Text>
  1015. </TextBlock>
  1016. <TextBlock Grid.Row="10" Background="#FFFFFF" Padding="10,5,0,0" >
  1017. <TextBlock.Text>
  1018. <MultiBinding StringFormat="{}Gas4({0}:{1})">
  1019. <Binding Path="MFC4Data.DisplayName"></Binding>
  1020. <Binding Path="MFC4Data.Scale"></Binding>
  1021. </MultiBinding>
  1022. </TextBlock.Text>
  1023. </TextBlock>
  1024. <TextBlock Grid.Row="11" Background="#F5F7FA" Padding="10,5,0,0">
  1025. <TextBlock.Text>
  1026. <MultiBinding StringFormat="{}Gas5({0}:{1})">
  1027. <Binding Path="MFC5Data.DisplayName"></Binding>
  1028. <Binding Path="MFC5Data.Scale"></Binding>
  1029. </MultiBinding>
  1030. </TextBlock.Text>
  1031. </TextBlock>
  1032. <TextBlock Grid.Row="12" Background="#FFFFFF" Padding="10,5,0,0">
  1033. <TextBlock.Text>
  1034. <MultiBinding StringFormat="{}Gas6({0}:{1})">
  1035. <Binding Path="MFC6Data.DisplayName"></Binding>
  1036. <Binding Path="MFC6Data.Scale"></Binding>
  1037. </MultiBinding>
  1038. </TextBlock.Text>
  1039. </TextBlock>
  1040. <TextBlock Grid.Row="13" Background="#F5F7FA" Padding="10,5,0,0">
  1041. <TextBlock.Text>
  1042. <MultiBinding StringFormat="{}Gas7({0}:{1})">
  1043. <Binding Path="MFC7Data.DisplayName"></Binding>
  1044. <Binding Path="MFC7Data.Scale"></Binding>
  1045. </MultiBinding>
  1046. </TextBlock.Text>
  1047. </TextBlock>
  1048. <TextBlock Grid.Row="14" Background="#FFFFFF" Padding="10,5,0,0">
  1049. <TextBlock.Text>
  1050. <MultiBinding StringFormat="{}Gas8({0}:{1})">
  1051. <Binding Path="MFC8Data.DisplayName"></Binding>
  1052. <Binding Path="MFC8Data.Scale"></Binding>
  1053. </MultiBinding>
  1054. </TextBlock.Text>
  1055. </TextBlock>
  1056. <TextBlock Grid.Row="15" Text="Heater Position" Background="#F5F7FA" Padding="10,5,0,0"/>
  1057. <TextBlock Grid.Row="16" Text="Heater Temperature" Background="#FFFFFF" Padding="10,5,0,0" />
  1058. <TextBlock Grid.Row="17" Text="Heater Ratio" Background="#F5F7FA" Padding="10,5,0,0" />
  1059. <TextBlock Grid.Row="18" Text="RFBox C1%" Background="#FFFFFF" Padding="10,5,0,0" />
  1060. <TextBlock Grid.Row="1" Grid.Column="1" Text="{Binding SRFData.ForwardPower}" Background="#F5F7FA" TextBlock.TextAlignment="Center" Block.TextAlignment="Center" Padding="0,5,0,0"/>
  1061. <TextBlock Grid.Row="2" Grid.Column="1" Text="{Binding SRFData.ReflectPower}" Background="#FFFFFF" TextBlock.TextAlignment="Center" Padding="0,5,0,0" Block.TextAlignment="Center"/>
  1062. <TextBlock Grid.Row="3" Grid.Column="1" Text="{Binding MatchData.C1,StringFormat='F1'}" Background="#F5F7FA" TextBlock.TextAlignment="Center" Padding="0,5,0,0" Block.TextAlignment="Center"/>
  1063. <TextBlock Grid.Row="4" Grid.Column="1" Text="{Binding MatchData.C2,StringFormat='F1'}" Background="#FFFFFF" TextBlock.TextAlignment="Center" Padding="0,5,0,0" Block.TextAlignment="Center"/>
  1064. <TextBlock Grid.Row="5" Grid.Column="1" Text="{Binding PendulumValveData.Pressure,StringFormat='F1'}" Background="#F5F7FA" TextBlock.TextAlignment="Center" Padding="0,5,0,0" Block.TextAlignment="Center"/>
  1065. <TextBlock Grid.Row="6" Grid.Column="1" Text="{Binding PendulumValveData.Position,StringFormat='F1'}" Background="#FFFFFF" TextBlock.TextAlignment="Center" Padding="0,5,0,0" Block.TextAlignment="Center"/>
  1066. <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"/>
  1067. <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"/>
  1068. <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"/>
  1069. <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"/>
  1070. <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"/>
  1071. <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"/>
  1072. <TextBlock Grid.Row="13" Grid.Column="1" Text="{Binding MFC7Data.FeedBack,StringFormat='F1'}" Background="#F5F7FA" TextBlock.TextAlignment="Center" Padding="0,5,0,0" Block.TextAlignment="Center"/>
  1073. <TextBlock Grid.Row="14" Grid.Column="1" Text="{Binding MFC8Data.FeedBack,StringFormat='F1'}" Background="#FFFFFF" TextBlock.TextAlignment="Center" Padding="0,5,0,0" Block.TextAlignment="Center"/>
  1074. <TextBlock Grid.Row="15" Grid.Column="1" Text="{Binding HighTemperatureHeaterData.HighTemperatureHeaterPositionFeedBack}" Background="#F5F7FA" TextBlock.TextAlignment="Center" Block.TextAlignment="Center" Padding="0,5,0,0"/>
  1075. <TextBlock Grid.Row="16" Grid.Column="1" Text="{Binding HighTemperatureHeaterData.HighTemperatureHeaterTemperatureFeedBack,StringFormat='F1'}" Background="#FFFFFF" TextBlock.TextAlignment="Center" Padding="0,5,0,0" Block.TextAlignment="Center"/>
  1076. <TextBlock Grid.Row="17" Grid.Column="1" Text="{Binding HighTemperatureHeaterData.HighTemperatureHeaterRatioFeedBack}" Background="#F5F7FA" TextBlock.TextAlignment="Center" Padding="0,5,0,0" Block.TextAlignment="Center"/>
  1077. <TextBlock Grid.Row="18" Grid.Column="1" Text="{Binding RFBoxData.C1,StringFormat='F1'}" Background="#FFFFFF" TextBlock.TextAlignment="Center" Padding="0,5,0,0" Block.TextAlignment="Center"/>
  1078. <TextBlock Grid.Row="1" Grid.Column="2" Text="{Binding SRFData.PowerSetPoint}" Background="#F5F7FA" TextBlock.TextAlignment="Center" Block.TextAlignment="Center" Padding="0,6,0,0"/>
  1079. <TextBlock Grid.Row="2" Grid.Column="2" Text="N/A" Background="#FFFFFF" TextBlock.TextAlignment="Center" Padding="0,5,0,0" Block.TextAlignment="Center"/>
  1080. <TextBlock Grid.Row="3" Grid.Column="2" Text="{Binding MatchData.C1SetPoint}" Background="#F5F7FA" TextBlock.TextAlignment="Center" Padding="0,5,0,0" Block.TextAlignment="Center"/>
  1081. <TextBlock Grid.Row="4" Grid.Column="2" Text="{Binding MatchData.C2SetPoint}" Background="#FFFFFF" TextBlock.TextAlignment="Center" Padding="0,5,0,0" Block.TextAlignment="Center"/>
  1082. <TextBlock Grid.Row="5" Grid.Column="2" Text="{Binding PendulumValveData.PressureSetPoint}" Background="#F5F7FA" TextBlock.TextAlignment="Center" Padding="0,6,0,0" Block.TextAlignment="Center"/>
  1083. <TextBlock Grid.Row="6" Grid.Column="2" Text="{Binding PendulumValveData.PositionSetPoint}" Background="#FFFFFF" TextBlock.TextAlignment="Center" Padding="0,6,0,0" Block.TextAlignment="Center"/>
  1084. <TextBlock Grid.Row="7" Grid.Column="2" Text="{Binding MFC1Data.SetPoint,StringFormat='F1'}" Background="#F5F7FA" TextBlock.TextAlignment="Center" Padding="0,6,0,0" Block.TextAlignment="Center"/>
  1085. <TextBlock Grid.Row="8" Grid.Column="2" Text="{Binding MFC2Data.SetPoint,StringFormat='F1'}" Background="#FFFFFF" TextBlock.TextAlignment="Center" Padding="0,6,0,0" Block.TextAlignment="Center"/>
  1086. <TextBlock Grid.Row="9" Grid.Column="2" Text="{Binding MFC3Data.SetPoint,StringFormat='F1'}" Background="#F5F7FA" TextBlock.TextAlignment="Center" Padding="0,6,0,0" Block.TextAlignment="Center"/>
  1087. <TextBlock Grid.Row="10" Grid.Column="2" Text="{Binding MFC4Data.SetPoint,StringFormat='F1'}" Background="#FFFFFF" TextBlock.TextAlignment="Center" Padding="0,6,0,0" Block.TextAlignment="Center"/>
  1088. <TextBlock Grid.Row="11" Grid.Column="2" Text="{Binding MFC5Data.SetPoint,StringFormat='F1'}" Background="#F5F7FA" TextBlock.TextAlignment="Center" Padding="0,6,0,0" Block.TextAlignment="Center"/>
  1089. <TextBlock Grid.Row="12" Grid.Column="2" Text="{Binding MFC6Data.SetPoint,StringFormat='F1'}" Background="#FFFFFF" TextBlock.TextAlignment="Center" Padding="0,6,0,0" Block.TextAlignment="Center"/>
  1090. <TextBlock Grid.Row="13" Grid.Column="2" Text="{Binding MFC7Data.SetPoint,StringFormat='F1'}" Background="#F5F7FA" TextBlock.TextAlignment="Center" Padding="0,6,0,0" Block.TextAlignment="Center"/>
  1091. <TextBlock Grid.Row="14" Grid.Column="2" Text="{Binding MFC8Data.SetPoint,StringFormat='F1'}" Background="#FFFFFF" TextBlock.TextAlignment="Center" Padding="0,6,0,0" Block.TextAlignment="Center"/>
  1092. <TextBlock Grid.Row="15" Grid.Column="2" Text="{Binding HighTemperatureHeaterData.HighTemperatureHeaterPositionSetPoint}" Background="#F5F7FA" TextBlock.TextAlignment="Center" Padding="0,6,0,0" Block.TextAlignment="Center"/>
  1093. <TextBlock Grid.Row="16" Grid.Column="2" Text="{Binding HighTemperatureHeaterData.HighTemperatureHeaterTemperatureSetPoint}" Background="#FFFFFF" TextBlock.TextAlignment="Center" Block.TextAlignment="Center" Padding="0,6,0,0"/>
  1094. <TextBlock Grid.Row="17" Grid.Column="2" Text="{Binding HighTemperatureHeaterData.HighTemperatureHeaterRatioSetPoint}" Background="#F5F7FA" TextBlock.TextAlignment="Center" Padding="0,6,0,0" Block.TextAlignment="Center"/>
  1095. <TextBlock Grid.Row="18" Grid.Column="2" Text="{Binding RFBoxData.C1SetPoint}" Background="#FFFFFF" TextBlock.TextAlignment="Center" Block.TextAlignment="Center" Padding="0,6,0,0"/>
  1096. <TextBlock Grid.Row="1" Grid.Column="3" Text="W" Background="#F5F7FA" TextBlock.TextAlignment="Center" Padding="0,6,0,0" Block.TextAlignment="Center"/>
  1097. <TextBlock Grid.Row="2" Grid.Column="3" Text="W" Background="#FFFFFF" TextBlock.TextAlignment="Center" Padding="0,6,0,0" Block.TextAlignment="Center"/>
  1098. <TextBlock Grid.Row="3" Grid.Column="3" Text="%" Background="#F5F7FA" TextBlock.TextAlignment="Center" Padding="0,6,0,0" Block.TextAlignment="Center"/>
  1099. <TextBlock Grid.Row="4" Grid.Column="3" Text="%" Background="#FFFFFF" TextBlock.TextAlignment="Center" Padding="0,6,0,0" Block.TextAlignment="Center"/>
  1100. <TextBlock Grid.Row="5" Grid.Column="3" Text="{Binding PressureType}" Background="#F5F7FA" TextBlock.TextAlignment="Center" Padding="0,6,0,0" Block.TextAlignment="Center"/>
  1101. <TextBlock Grid.Row="6" Grid.Column="3" Text="‰" Background="#FFFFFF" TextBlock.TextAlignment="Center" Padding="0,6,0,0" Block.TextAlignment="Center"/>
  1102. <TextBlock Grid.Row="7" Grid.Column="3" Text="sccm" Background="#F5F7FA" TextBlock.TextAlignment="Center" Padding="0,6,0,0" Block.TextAlignment="Center"/>
  1103. <TextBlock Grid.Row="8" Grid.Column="3" Text="sccm" Background="#FFFFFF" TextBlock.TextAlignment="Center" Padding="0,6,0,0" Block.TextAlignment="Center"/>
  1104. <TextBlock Grid.Row="9" Grid.Column="3" Text="sccm" Background="#F5F7FA" TextBlock.TextAlignment="Center" Padding="0,6,0,0" Block.TextAlignment="Center"/>
  1105. <TextBlock Grid.Row="10" Grid.Column="3" Text="sccm" Background="#FFFFFF" TextBlock.TextAlignment="Center" Padding="0,6,0,0" Block.TextAlignment="Center"/>
  1106. <TextBlock Grid.Row="11" Grid.Column="3" Text="sccm" Background="#F5F7FA" TextBlock.TextAlignment="Center" Padding="0,6,0,0" Block.TextAlignment="Center"/>
  1107. <TextBlock Grid.Row="12" Grid.Column="3" Text="sccm" Background="#FFFFFF" TextBlock.TextAlignment="Center" Padding="0,6,0,0" Block.TextAlignment="Center"/>
  1108. <TextBlock Grid.Row="13" Grid.Column="3" Text="sccm" Background="#F5F7FA" TextBlock.TextAlignment="Center" Padding="0,6,0,0" Block.TextAlignment="Center"/>
  1109. <TextBlock Grid.Row="14" Grid.Column="3" Text="sccm" Background="#FFFFFF" TextBlock.TextAlignment="Center" Padding="0,6,0,0" Block.TextAlignment="Center"/>
  1110. <TextBlock Grid.Row="15" Grid.Column="3" Text="N/A" Background="#F5F7FA" TextBlock.TextAlignment="Center" Padding="0,6,0,0" Block.TextAlignment="Center"/>
  1111. <TextBlock Grid.Row="16" Grid.Column="3" Text="°C" Background="#FFFFFF" TextBlock.TextAlignment="Center" Padding="0,6,0,0" Block.TextAlignment="Center"/>
  1112. <TextBlock Grid.Row="17" Grid.Column="3" Text="N/A" Background="#F5F7FA" TextBlock.TextAlignment="Center" Padding="0,6,0,0" Block.TextAlignment="Center"/>
  1113. <TextBlock Grid.Row="18" Grid.Column="3" Text="%" Background="#FFFFFF" TextBlock.TextAlignment="Center" Padding="0,6,0,0" Block.TextAlignment="Center"/>
  1114. </Grid>
  1115. <Grid Width="500" Height="190" Canvas.Left="20" Canvas.Top="20" unity:GridOptions.LineBrush="#E5E6E7" unity:GridOptions.ShowBorder="True" Background="#FFFFFF">
  1116. <Grid.RowDefinitions>
  1117. <RowDefinition/>
  1118. <RowDefinition/>
  1119. <RowDefinition/>
  1120. <RowDefinition/>
  1121. <RowDefinition/>
  1122. <RowDefinition/>
  1123. <!--<RowDefinition/>-->
  1124. <RowDefinition/>
  1125. </Grid.RowDefinitions>
  1126. <Grid.ColumnDefinitions>
  1127. <ColumnDefinition Width="*"/>
  1128. <ColumnDefinition Width="2*"/>
  1129. </Grid.ColumnDefinitions>
  1130. <TextBlock Grid.Row="0" Text="Recipe Name" FontSize="14" Padding="10,4,0,0" Background="#FAFAFA"/>
  1131. <TextBlock Grid.Row="1" Text="Step Num/All" FontSize="14" Padding="10,4,0,0" Background="#FAFAFA"/>
  1132. <TextBlock Grid.Row="2" Text="Step Type" FontSize="14" Padding="10,4,0,0" Background="#FAFAFA"/>
  1133. <TextBlock Grid.Row="3" Text="Step Description" FontSize="14" Padding="10,4,0,0" Background="#FAFAFA"/>
  1134. <TextBlock Grid.Row="4" Text="Step Elpased Time" FontSize="14" Padding="10,4,0,0" Background="#FAFAFA"/>
  1135. <TextBlock Grid.Row="5" Text="Step Time(s)" FontSize="14" Padding="10,4,0,0" Background="#FAFAFA"/>
  1136. <!--<TextBlock Grid.Row="6" Text="Next Step" FontSize="14" Padding="10,2,0,0" Background="#FAFAFA"/>-->
  1137. <TextBlock Grid.Row="6" Text="Cycle Num/All" FontSize="14" Padding="10,4,0,0" Background="#FAFAFA"/>
  1138. <TextBlock Grid.Row="0" Grid.Column="1" Text="{Binding CurrentRecipeResult.RecipeName}" FontSize="14" Padding="10,4,0,0" Background="#FFFFFF"/>
  1139. <TextBlock Grid.Row="1" Grid.Column="1" FontSize="14" Padding="10,4,0,0" Background="#FFFFFF">
  1140. <TextBlock.Text>
  1141. <MultiBinding StringFormat="{}{0}/{1}">
  1142. <Binding Path="CurrentRecipeResult.RecipeStepNumber"></Binding>
  1143. <Binding Path="CurrentRecipeResult.RecipeStepCount"></Binding>
  1144. </MultiBinding>
  1145. </TextBlock.Text>
  1146. </TextBlock>
  1147. <TextBlock Grid.Row="2" Grid.Column="1" Text="{Binding CurrentRecipeResult.RecipeStepType}" FontSize="14" Padding="10,2,0,0" Background="#FFFFFF"/>
  1148. <TextBlock Grid.Row="3" Grid.Column="1" Text="{Binding CurrentRecipeResult.RecipeStepDescription}" FontSize="14" Padding="10,2,0,0" Background="#FFFFFF"/>
  1149. <TextBlock Grid.Row="4" Grid.Column="1" Text="{Binding CurrentRecipeResult.RecipeStepDuringTime}" FontSize="14" Padding="10,2,0,0" Background="#FFFFFF"/>
  1150. <TextBlock Grid.Row="5" Grid.Column="1" Text="{Binding CurrentRecipeResult.RecipeStepSetTime}" FontSize="14" Padding="10,2,0,0" Background="#FFFFFF"/>
  1151. <!--<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"/>-->
  1152. <TextBlock Grid.Row="6" Grid.Column="1" FontSize="14" Padding="10,2,0,0" Background="#FFFFFF">
  1153. <TextBlock.Text>
  1154. <MultiBinding StringFormat="{}{0}/{1}">
  1155. <Binding Path="CurrentRecipeResult.RecipeCurrentCounter"></Binding>
  1156. <Binding Path="CurrentRecipeResult.RecipeAllCounters"></Binding>
  1157. </MultiBinding>
  1158. </TextBlock.Text>
  1159. </TextBlock>
  1160. </Grid>
  1161. </Canvas>
  1162. </Grid>
  1163. </UserControl>