OverKepler2200BView.xaml 112 KB

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