PlatformView.xaml 31 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406
  1. <UserControl x:Class="CyberX8_MainPages.Views.PlatformView"
  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:CyberX8_MainPages.Views"
  7. xmlns:ctrls="clr-namespace:CyberX8_Themes.UserControls;assembly=CyberX8_Themes"
  8. xmlns:i="http://schemas.microsoft.com/expression/2010/interactivity"
  9. xmlns:converters="clr-namespace:CyberX8_Themes.Converters;assembly=CyberX8_Themes"
  10. xmlns:customControls="clr-namespace:CyberX8_Themes.CustomControls;assembly=CyberX8_Themes"
  11. mc:Ignorable="d"
  12. xmlns:prism="http://prismlibrary.com/"
  13. prism:ViewModelLocator.AutoWireViewModel="True"
  14. d:DesignHeight="450" d:DesignWidth="1500">
  15. <UserControl.Resources>
  16. <converters:BoolToBool x:Key="boolToBool"/>
  17. <converters:BoolToColor x:Key="boolToColor"/>
  18. <converters:BoolToColor2 x:Key="boolToColor2"/>
  19. <converters:VisibilityToReverse x:Key="VisibilityToReverse"/>
  20. <converters:ToBoolMultiValueConverter x:Key="toBoolMultiValueConverter"/>
  21. <converters:ToBoolMultiValueConverter2 x:Key="toBoolMultiValueConverter2"/>
  22. <converters:ToBoolMultiValueConverter3 x:Key="toBoolMultiValueConverter3"/>
  23. <converters:ToBoolMultiValueConverter4 x:Key="toBoolMultiValueConverter4"/>
  24. <converters:BoolToColor5 x:Key="boolToColor5"/>
  25. <converters:BoolToColor4 x:Key="boolToColor4"/>
  26. </UserControl.Resources>
  27. <Canvas>
  28. <Image Canvas.Left="200" Canvas.Top="500" Width="150" Height="150" Source="Pack://application:,,,/CyberX8_Themes;Component/Resources/LoadLock.png">
  29. </Image>
  30. <ctrls:WaferCtrl Canvas.Left="242" Canvas.Top="542" WaferData="{Binding PMAWafer}"/>
  31. <ctrls:FlowPipe x:Name="N2Pipe1" Height="8" Width="120" Canvas.Left="90" Canvas.Top="120" IsFlowing="{Binding LoadLockVentValveIsOpen,Mode=TwoWay}"/>
  32. <ctrls:FlowPipe x:Name="purgeFlow2" Height="8" Width="142" Canvas.Left="276" Canvas.Top="220" RotateTransformValue="90" IsFlowing="{Binding LoadLockPumpValveIsOpen,Mode=TwoWay}"/>
  33. <ctrls:Pump Canvas.Top="360" Canvas.Left="254" Width="35" Height="35" IsOpen="{Binding PumpIsOpen,Mode=TwoWay}">
  34. <ctrls:Pump.ContextMenu>
  35. <ContextMenu>
  36. <MenuItem Header="ON" Command="{Binding OpenPumpCommand}" IsChecked="{Binding PumpIsOpen,Mode=OneWay}" IsEnabled="{Binding PumpIsOpen,Converter={StaticResource boolToBool},Mode=OneWay}"/>
  37. <MenuItem Header="OFF" Command="{Binding ClosePumpCommand}" IsChecked="{Binding PumpIsOpen,Converter={StaticResource boolToBool},Mode=OneWay}" IsEnabled="{Binding PumpIsOpen,Mode=OneWay}"/>
  38. </ContextMenu>
  39. </ctrls:Pump.ContextMenu>
  40. </ctrls:Pump>
  41. <TextBlock Canvas.Top="310" Canvas.Left="400" Text="吹扫计数:" FontSize="15"/>
  42. <TextBlock Canvas.Top="310" Canvas.Left="480" Text="{Binding PurgeCounter}" FontSize="15"/>
  43. <!--<ctrls:FlowPipeValve Height="20" Width="24" Canvas.Left="130" Canvas.Top="110" IsOpen="{Binding VentValveIsOpen,Mode=TwoWay}"/>-->
  44. <customControls:CommonValveControl Status="{Binding LoadLockVentValveIsOpen,Mode=TwoWay}" ValveOrientation="Horizontal" Height="20" Width="20" Canvas.Left="130" Canvas.Top="113" IsCanEdit="True" Tag="28" Command="{Binding ControlValveCommand}" CommandParameter="{Binding RelativeSource={x:Static RelativeSource.Self}}"/>
  45. <!--<ctrls:FlowPipeValve x:Name="purgevalve" Height="20" Width="24" Canvas.Left="285.5" Canvas.Top="310" RotateTransformValue="90" IsOpen="{Binding PumpValveIsOpen,Mode=TwoWay}"/>-->
  46. <customControls:CommonValveControl Status="{Binding LoadLockPumpValveIsOpen,Mode=TwoWay}" ValveOrientation="Vertical" Height="20" Width="20" Canvas.Left="262" Canvas.Top="270" IsCanEdit="True" Tag="29" Command="{Binding ControlValveCommand}" CommandParameter="{Binding RelativeSource={x:Static RelativeSource.Self}}"/>
  47. <Ellipse Width="20" Height="20" Fill="{Binding RtDataValues[PMA.IsSlitDoorClosed],Converter={StaticResource boolToColor2}}" Canvas.Left="70" Canvas.Top="302" Stroke="Silver" StrokeThickness="2"/>
  48. <Button Height="22" Content=" Slit Door Open " Canvas.Left="100" Canvas.Top="300" Command="{Binding OpenDoorCommand}" Style="{StaticResource SysBtnStyle}" Foreground="White"/>
  49. <Ellipse Width="20" Height="20" Fill="{Binding RtDataValues[PMA.IsSlitDoorClosed],Converter={StaticResource boolToColor}}" Canvas.Left="70" Canvas.Top="342" Stroke="Silver" StrokeThickness="2"/>
  50. <Button Height="22" Content=" Slit Door Close " Canvas.Left="100" Canvas.Top="340" Command="{Binding CloseDoorCommand}" Style="{StaticResource SysBtnStyle}" Foreground="White"/>
  51. <!--<ctrls:CustomSwitch Height="20" Value=" Slit Door Close " Canvas.Left="100" Canvas.Top="340" IsOpen="{Binding LoadLockDoorIsOpen,Mode=TwoWay,Converter={StaticResource boolToBool}}"/>-->
  52. <Border BorderBrush="Gray" BorderThickness="0" Width="180" Height="6" Canvas.Left="330" Canvas.Top="120">
  53. <Border.Background>
  54. <LinearGradientBrush StartPoint="0.5 0" EndPoint="0.5 1">
  55. <GradientStop Color="Gray" Offset="0"/>
  56. <GradientStop Color="White" Offset="0.5"/>
  57. <GradientStop Color="Gray" Offset="1"/>
  58. </LinearGradientBrush>
  59. </Border.Background>
  60. </Border>
  61. <Border BorderBrush="Gray" BorderThickness="0" Width="40" Height="6" Canvas.Left="275" Canvas.Top="320">
  62. <Border.Background>
  63. <LinearGradientBrush StartPoint="0.5 0" EndPoint="0.5 1">
  64. <GradientStop Color="Gray" Offset="0"/>
  65. <GradientStop Color="White" Offset="0.5"/>
  66. <GradientStop Color="Gray" Offset="1"/>
  67. </LinearGradientBrush>
  68. </Border.Background>
  69. </Border>
  70. <ctrls:TextboxWithLabel Canvas.Left="310" Canvas.Top="294" LabelValue="CM3(mTorr)" TextBoxValue="{Binding RtDataValues[PMA.ForelinePressure],StringFormat='F2'}" TextBoxColor="#D7E4BD"/>
  71. <ctrls:TextboxWithLabel Canvas.Left="500" Canvas.Top="94" LabelValue="CM(mTorr)" TextBoxValue="{Binding RtDataValues[PMA.LoadlockPressure],StringFormat='F2'}" TextBoxColor="#D7E4BD"/>
  72. <Border BorderBrush="Gray" BorderThickness="0" Width="40" Height="6" Canvas.Left="400" Canvas.Top="124" >
  73. <Border.RenderTransform>
  74. <RotateTransform Angle="90"/>
  75. </Border.RenderTransform>
  76. <Border.Background>
  77. <LinearGradientBrush StartPoint="0.5 0" EndPoint="0.5 1">
  78. <GradientStop Color="Gray" Offset="0"/>
  79. <GradientStop Color="White" Offset="0.5"/>
  80. <GradientStop Color="Gray" Offset="1"/>
  81. </LinearGradientBrush>
  82. </Border.Background>
  83. </Border>
  84. <Border BorderBrush="Gray" BorderThickness="0" Width="40" Height="6" Canvas.Left="420" Canvas.Top="80" >
  85. <Border.RenderTransform>
  86. <RotateTransform Angle="90"/>
  87. </Border.RenderTransform>
  88. <Border.Background>
  89. <LinearGradientBrush StartPoint="0.5 0" EndPoint="0.5 1">
  90. <GradientStop Color="Gray" Offset="0"/>
  91. <GradientStop Color="White" Offset="0.5"/>
  92. <GradientStop Color="Gray" Offset="1"/>
  93. </LinearGradientBrush>
  94. </Border.Background>
  95. </Border>
  96. <Ellipse Width="20" Height="20" Canvas.Left="407" Canvas.Top="60" Fill="{Binding RtDataValues[PMA.IsATMLoadlock],Converter={StaticResource boolToColor}}" Stroke="Silver" StrokeThickness="2"></Ellipse>
  97. <Ellipse Width="20" Height="20" Canvas.Left="387" Canvas.Top="160" Fill="{Binding RtDataValues[PMA.IsVACLoadlock],Converter={StaticResource boolToColor}}" Stroke="Silver" StrokeThickness="2"></Ellipse>
  98. <TextBlock Text="ATM" Canvas.Left="405" Canvas.Top="40"/>
  99. <TextBlock Text="VAC" Canvas.Left="387" Canvas.Top="185"/>
  100. <TextBlock Text="N2" Canvas.Left="30" Canvas.Top="116"/>
  101. <Image Canvas.Left="50" Canvas.Top="110" Width="40" Height="25" Source="Pack://application:,,,/CyberX8_Themes;Component/Resources/Arrow.png" Stretch="Uniform" />
  102. <Image Canvas.Left="200" Canvas.Top="100" Width="141" Height="141" Source="Pack://application:,,,/CyberX8_Themes;Component/Resources/LoadLock.png"/>
  103. <ctrls:WaferCtrl Canvas.Left="238" Canvas.Top="140" WaferData="{Binding LLAWafer}"/>
  104. <Grid Canvas.Left="600" Canvas.Top="120" >
  105. <Grid.RowDefinitions>
  106. <RowDefinition Height="30"/>
  107. <RowDefinition Height="Auto"/>
  108. <RowDefinition />
  109. </Grid.RowDefinitions>
  110. <Border BorderBrush="{DynamicResource Table_BD}" BorderThickness="1,0,1,1" Background="{DynamicResource Table_BG_FirstTitle}" Padding="5,1">
  111. <StackPanel Orientation="Horizontal" HorizontalAlignment="Left" VerticalAlignment="Center">
  112. <Path Data="M0,0 L5,0 5,5 z" Fill="White" HorizontalAlignment="Left" Grid.Row="1" RenderTransformOrigin="0.5,0.5" Stretch="Fill" Width="5" Height="5">
  113. <Path.RenderTransform>
  114. <TransformGroup>
  115. <ScaleTransform/>
  116. <SkewTransform/>
  117. <RotateTransform Angle="45"/>
  118. <TranslateTransform/>
  119. </TransformGroup>
  120. </Path.RenderTransform>
  121. </Path>
  122. <TextBlock Margin="5,0,0,0" Text="LoadLock Manual Operation" FontFamily="Arial" FontSize="14" Foreground="{DynamicResource FG_White}" HorizontalAlignment="Left" VerticalAlignment="Center"/>
  123. </StackPanel>
  124. </Border>
  125. <Border Grid.Row="1" BorderBrush="{DynamicResource Table_BD}" Background="{DynamicResource Table_BG_Content}" BorderThickness="1,0,1,1" Padding="5,1">
  126. <StackPanel Margin="10,10,10,0" Orientation="Horizontal" HorizontalAlignment="Center">
  127. <StackPanel Margin="10,0,10,0" Orientation="Vertical">
  128. <!--<Button Content="初始化" Width="80" Height="25" Margin="0 0 0 10" IsEnabled="{Binding Path=IsManualMode}" Command="{Binding LLInitCommnad}">
  129. </Button>-->
  130. <!--放片-->
  131. <Button Content="抽气" Width="80" Height="25" Margin="0 0 0 10" IsEnabled="{Binding Path=IsManualMode}" Command="{Binding PumpCommand}">
  132. </Button>
  133. <!--检测漏率-->
  134. <Button Content="充气" Width="80" Height="25" Margin="0 0 0 10" IsEnabled="{Binding Path=IsManualMode}" Command="{Binding VentCommand}">
  135. </Button>
  136. </StackPanel>
  137. <StackPanel Margin="10,0,10,0" Orientation="Vertical">
  138. <!--充气-->
  139. <Button Content="循环吹扫" Width="80" Height="25" Margin="0 0 0 10" VerticalAlignment="Top" IsEnabled="{Binding Path=IsManualMode}" Command="{Binding PurgeCommand}">
  140. </Button>
  141. </StackPanel>
  142. <StackPanel Margin="10,0,10,0" Orientation="Vertical">
  143. <!--充气-->
  144. <Button Content="放片" Width="80" Height="25" Margin="0 0 0 10" Command="{Binding PlaceWaferCommand}"/>
  145. <!--取片-->
  146. <Button Content="取片" Width="80" Height="25" Margin="0 0 0 10" Command="{Binding MoveWaferCommand}"/>
  147. </StackPanel>
  148. </StackPanel>
  149. </Border>
  150. </Grid>
  151. <Canvas Canvas.Right="1900" Canvas.Top="-50">
  152. <!--与chamber右上角连接的管道-->
  153. <ctrls:FlowPipe Height="8" Width="40" Canvas.Left="1262" Canvas.Top="275" RotateTransformValue="90" />
  154. <ctrls:FlowPipe Height="8" Width="126" Canvas.Left="1250" Canvas.Top="192" RotateTransformValue="90" />
  155. <ctrls:Pipe2 Canvas.Left="1254" Canvas.Top="285" HorizontalAlignment="Left" VerticalAlignment="Top" RotateTransformValue="-90" />
  156. <ctrls:FlowPipe Height="8" Width="80" Canvas.Left="1252" Canvas.Top="182" />
  157. <ctrls:FlowPipe Height="8" Width="70" Canvas.Left="1264" Canvas.Top="272" />
  158. <TextBlock Text="Guage" Canvas.Left="1272" Canvas.Top="248"/>
  159. <customControls:CommonValveControl ValveOrientation="Horizontal" Status="{Binding GuageValveIsOpen,Mode=TwoWay}" Height="20" Width="20" Canvas.Left="1280" Canvas.Top="265" IsCanEdit="True" Tag="27" Command="{Binding ControlValveCommand}" CommandParameter="{Binding RelativeSource={x:Static RelativeSource.Self}}"/>
  160. <Border BorderBrush="Gray" BorderThickness="0" Width="18" Height="6" Canvas.Left="1315" Canvas.Top="164" >
  161. <Border.RenderTransform>
  162. <RotateTransform Angle="90"/>
  163. </Border.RenderTransform>
  164. <Border.Background>
  165. <LinearGradientBrush StartPoint="0.5 0" EndPoint="0.5 1">
  166. <GradientStop Color="Gray" Offset="0"/>
  167. <GradientStop Color="White" Offset="0.5"/>
  168. <GradientStop Color="Gray" Offset="1"/>
  169. </LinearGradientBrush>
  170. </Border.Background>
  171. </Border>
  172. <Border BorderBrush="Gray" BorderThickness="0" Width="20" Height="6" Canvas.Left="1285" Canvas.Top="188" >
  173. <Border.RenderTransform>
  174. <RotateTransform Angle="90"/>
  175. </Border.RenderTransform>
  176. <Border.Background>
  177. <LinearGradientBrush StartPoint="0.5 0" EndPoint="0.5 1">
  178. <GradientStop Color="Gray" Offset="0"/>
  179. <GradientStop Color="White" Offset="0.5"/>
  180. <GradientStop Color="Gray" Offset="1"/>
  181. </LinearGradientBrush>
  182. </Border.Background>
  183. </Border>
  184. <Ellipse Width="20" Height="20" Canvas.Left="1302" Canvas.Top="150" Fill="{Binding RtDataValues[PMA.IsATM],Converter={StaticResource boolToColor}}" Stroke="Silver" StrokeThickness="2"></Ellipse>
  185. <Ellipse Width="20" Height="20" Canvas.Left="1272" Canvas.Top="200" Fill="{Binding RtDataValues[PMA.IsVAC],Converter={StaticResource boolToColor}}" Stroke="Silver" StrokeThickness="2"></Ellipse>
  186. <TextBlock Text="ATM" Canvas.Left="1300" Canvas.Top="134"/>
  187. <TextBlock Text="VAC" Canvas.Left="1270" Canvas.Top="220"/>
  188. <ctrls:Pipe2 Canvas.Left="1242" Canvas.Top="195" HorizontalAlignment="Left" VerticalAlignment="Top" RotateTransformValue="-90" />
  189. <!--与chamber底部连接的管道-->
  190. <ctrls:FlowPipe Height="8" Width="193" Canvas.Left="860" Canvas.Top="658" IsFlowing="{Binding PVHe1ValveIsOpen}"/>
  191. <ctrls:FlowPipe Height="8" Width="198" Canvas.Left="1055" Canvas.Top="463" RotateTransformValue="90" IsReverse="{Binding PVHe1ValveIsOpen}">
  192. <ctrls:FlowPipe.IsFlowing>
  193. <MultiBinding Converter="{StaticResource toBoolMultiValueConverter2}">
  194. <Binding Path="PVHe1ValveIsOpen"/>
  195. <Binding Path="PVHe2ValveIsOpen"/>
  196. </MultiBinding>
  197. </ctrls:FlowPipe.IsFlowing>
  198. </ctrls:FlowPipe>
  199. <ctrls:FlowPipe Height="8" Width="90" Canvas.Left="1050" Canvas.Top="610"/>
  200. <ctrls:FlowPipe Height="8" Width="65" Canvas.Left="1146" Canvas.Top="615" RotateTransformValue="90"/>
  201. <ctrls:FlowPipe Height="8" Width="56" Canvas.Left="1055" Canvas.Top="610" RotateTransformValue="90"/>
  202. <ctrls:Pipe2 Canvas.Left="1133" Canvas.Top="610" HorizontalAlignment="Left" VerticalAlignment="Top" />
  203. <customControls:CommonValveControl ValveOrientation="Horizontal" Height="20" Width="20" Canvas.Top="604" Canvas.Left="1074" Status="{Binding PVHe3ValveIsOpen,Mode=TwoWay}" IsCanEdit="{Binding IsAutoMode,Converter={StaticResource BoolToBool}}" Tag="20" Command="{Binding ControlValveCommand}" CommandParameter="{Binding RelativeSource={x:Static RelativeSource.Self}}"/>
  204. <ctrls:ZhenValve Width="34" Height="34" Canvas.Top="585.6" Canvas.Left="1100"/>
  205. <TextBlock Text="VHe3" Canvas.Top="588" Canvas.Left="1068"/>
  206. <ctrls:FlowPipe Height="8" Width="17" Canvas.Left="1055" Canvas.Top="659" RotateTransformValue="90" IsFlowing="{Binding PVHe2ValveIsOpen}"/>
  207. <ctrls:FlowPipe Height="8" Width="208" Canvas.Left="1057" Canvas.Top="680" IsFlowing="{Binding PVHe2ValveIsOpen}"/>
  208. <ctrls:FlowPipe Height="8" Width="20" Canvas.Left="1266" Canvas.Top="682" RotateTransformValue="90">
  209. <ctrls:FlowPipe.IsFlowing>
  210. <MultiBinding Converter="{StaticResource toBoolMultiValueConverter2}">
  211. <Binding Path="SoftPumpValveIsOpen"/>
  212. <Binding Path="FastPumpValveIsOpen"/>
  213. <Binding Path="TurboPumpPumpingValveIsOpen"/>
  214. <Binding Path="PVHe2ValveIsOpen"/>
  215. </MultiBinding>
  216. </ctrls:FlowPipe.IsFlowing>
  217. </ctrls:FlowPipe>
  218. <ctrls:FlowPipe Height="8" Width="40" Canvas.Left="1265" Canvas.Top="658" />
  219. <ctrls:FlowPipe Height="8" Width="178" Canvas.Left="1266" Canvas.Top="464" RotateTransformValue="90" IsFlowing="{Binding TurboPumpPumpingValveIsOpen}">
  220. </ctrls:FlowPipe>
  221. <ctrls:FlowPipe Height="8" Width="45" Canvas.Left="1266" Canvas.Top="638" RotateTransformValue="90" >
  222. <ctrls:FlowPipe.IsFlowing>
  223. <MultiBinding Converter="{StaticResource toBoolMultiValueConverter2}">
  224. <Binding Path="SoftPumpValveIsOpen"/>
  225. <Binding Path="FastPumpValveIsOpen"/>
  226. <Binding Path="TurboPumpPumpingValveIsOpen"/>
  227. </MultiBinding>
  228. </ctrls:FlowPipe.IsFlowing>
  229. </ctrls:FlowPipe>
  230. <ctrls:Pipe2 Canvas.Left="1060" Canvas.Top="687.8" HorizontalAlignment="Left" VerticalAlignment="Top" RotateTransformValue="-180" />
  231. <ctrls:FlowPipe Height="8" Width="46" Canvas.Left="1213" Canvas.Top="635" >
  232. <ctrls:FlowPipe.IsFlowing>
  233. <MultiBinding Converter="{StaticResource toBoolMultiValueConverter2}">
  234. <Binding Path="SoftPumpValveIsOpen"/>
  235. <Binding Path="FastPumpValveIsOpen"/>
  236. </MultiBinding>
  237. </ctrls:FlowPipe.IsFlowing>
  238. </ctrls:FlowPipe>
  239. <ctrls:FlowPipe Height="8" Width="52" Canvas.Left="1165" Canvas.Top="635" IsFlowing="{Binding SoftPumpValveIsOpen}" />
  240. <ctrls:FlowPipe Height="8" Width="125" Canvas.Left="1219" Canvas.Top="512" RotateTransformValue="90" IsFlowing="{Binding FastPumpValveIsOpen}"/>
  241. <ctrls:FlowPipe Height="8" Width="119" Canvas.Left="1168" Canvas.Top="517" RotateTransformValue="90" IsFlowing="{Binding SoftPumpValveIsOpen}"/>
  242. <ctrls:Pipe2 Canvas.Left="1173" Canvas.Top="643" HorizontalAlignment="Left" VerticalAlignment="Top" RotateTransformValue="-180" />
  243. <ctrls:FlowPipe Height="8" Width="48" Canvas.Left="1165" Canvas.Top="512" HorizontalAlignment="Left" VerticalAlignment="Center" IsReverse="True" IsFlowing="{Binding SoftPumpValveIsOpen}" />
  244. <ctrls:FlowPipe Height="8" Width="50" Canvas.Left="1219" Canvas.Top="463" RotateTransformValue="90">
  245. <ctrls:FlowPipe.IsFlowing>
  246. <MultiBinding Converter="{StaticResource toBoolMultiValueConverter2}">
  247. <Binding Path="SoftPumpValveIsOpen"/>
  248. <Binding Path="FastPumpValveIsOpen"/>
  249. </MultiBinding>
  250. </ctrls:FlowPipe.IsFlowing>
  251. </ctrls:FlowPipe>
  252. <ctrls:Pipe2 Canvas.Left="1160" Canvas.Top="525" HorizontalAlignment="Left" VerticalAlignment="Top" RotateTransformValue="-90" />
  253. <TextBlock Canvas.Left="1130" Canvas.Top="558" Text="Soft"/>
  254. <TextBlock Canvas.Left="1178" Canvas.Top="558" Text="Fast"/>
  255. <ctrls:FlowPipe Height="8" Width="194" Canvas.Left="1246" Canvas.Top="535" IsReverse="True" IsFlowing="{Binding TurboPumpPurgeValveIsOpen,Mode=TwoWay}" >
  256. </ctrls:FlowPipe>
  257. <ctrls:FlowPipe ToolTip="123" Height="8" Width="142" Canvas.Left="1448" Canvas.Top="542" RotateTransformValue="90" IsReverse="True" IsFlowing="{Binding TurboPumpPurgeValveIsOpen}"/>
  258. <ctrls:Pipe2 Canvas.Left="1435" Canvas.Top="535" HorizontalAlignment="Left" VerticalAlignment="Top" />
  259. <customControls:CommonValveControl Status="{Binding TurboPumpPurgeValveIsOpen,Mode=TwoWay}" ValveOrientation="Vertical" Height="20" Width="20" Canvas.Left="1434" Canvas.Top="610" IsCanEdit="True" Tag="26" Command="{Binding ControlValveCommand}" CommandParameter="{Binding RelativeSource={x:Static RelativeSource.Self}}"/>
  260. <TextBlock Text="Turbo N2&#10; Purge" Canvas.Left="1365" Canvas.Top="610" FontSize="15"/>
  261. <TextBlock Text="VHe1" Canvas.Top="636" Canvas.Left="985"/>
  262. <customControls:CommonValveControl ValveOrientation="Horizontal" Height="20" Width="20" Canvas.Top="652" Canvas.Left="990" IsCanEdit="True" Status="{Binding PVHe1ValveIsOpen,Mode=TwoWay}" Tag="19" Command="{Binding ControlValveCommand}" CommandParameter="{Binding RelativeSource={x:Static RelativeSource.Self}}"/>
  263. <TextBlock Text="VHe2" Canvas.Top="658" Canvas.Left="1068"/>
  264. <customControls:CommonValveControl ValveOrientation="Horizontal" Height="20" Width="20" Canvas.Top="674" Canvas.Left="1074" Status="{Binding PVHe2ValveIsOpen,Mode=TwoWay}" IsCanEdit="True" Tag="20" Command="{Binding ControlValveCommand}" CommandParameter="{Binding RelativeSource={x:Static RelativeSource.Self}}"/>
  265. <customControls:CommonValveControl Status="{Binding SoftPumpValveIsOpen,Mode=TwoWay}" ValveOrientation="Vertical" Height="20" Width="20" Canvas.Top="555" Canvas.Left="1154" IsCanEdit="True" Tag="22" Command="{Binding ControlValveCommand}" CommandParameter="{Binding RelativeSource={x:Static RelativeSource.Self}}"/>
  266. <customControls:CommonValveControl Status="{Binding FastPumpValveIsOpen,Mode=TwoWay}" ValveOrientation="Vertical" Height="20" Width="20" Canvas.Top="555" Canvas.Left="1205" IsCanEdit="True" Tag="23" Command="{Binding ControlValveCommand}" CommandParameter="{Binding RelativeSource={x:Static RelativeSource.Self}}"/>
  267. <customControls:CommonValveControl ValveOrientation="Vertical" Height="20" Width="20" Canvas.Top="596" Canvas.Left="1252" Status="{Binding TurboPumpPumpingValveIsOpen,Mode=TwoWay}" IsCanEdit="True" Tag="25" Command="{Binding ControlValveCommand}" CommandParameter="{Binding RelativeSource={x:Static RelativeSource.Self}}"/>
  268. <customControls:CommonValveControl ValveOrientation="Vertical" Height="20" Width="20" Canvas.Top="490" Canvas.Left="1041" Status="{Binding TurboPumpPumpingValveIsOpen,Mode=TwoWay}" IsCanEdit="{Binding IsAutoMode,Converter={StaticResource BoolToBool}}" Tag="25" Command="{Binding ControlValveCommand}" CommandParameter="{Binding RelativeSource={x:Static RelativeSource.Self}}"/>
  269. <TextBlock Text=" He&#10;ISO" Canvas.Top="482" Canvas.Left="1068"/>
  270. <!--turbo-->
  271. <ctrls:Turbo Width="40" Height="40" Canvas.Top="521" Canvas.Left="1242" IsOpen="{Binding TurboIsOpen}">
  272. <ctrls:Turbo.ContextMenu>
  273. <ContextMenu>
  274. <MenuItem Header="ON" Command="{Binding OpenTurboPumpCommand}" IsChecked="{Binding TurboIsOpen,Mode=OneWay}" IsEnabled="{Binding TurboIsOpen,Converter={StaticResource BoolToBool},Mode=OneWay}"/>
  275. <MenuItem Header="OFF" Command="{Binding CloseTurboPumpCommand}" IsChecked="{Binding TurboIsOpen,Converter={StaticResource BoolToBool},Mode=OneWay}" IsEnabled="{Binding TurboIsOpen,Mode=OneWay}"/>
  276. </ContextMenu>
  277. </ctrls:Turbo.ContextMenu>
  278. </ctrls:Turbo>
  279. <!--蝶阀-->
  280. <ctrls:ButterflyValve Canvas.Top="475" Canvas.Left="1245" RotateTransformValue="{Binding PositionValue}" IsOpen="{Binding PendulumValveData.IsOpen,Mode=TwoWay}">
  281. <i:Interaction.Triggers>
  282. <i:EventTrigger EventName="MouseLeftButtonUp">
  283. <i:InvokeCommandAction Command="{Binding OpenButterflyValveViewCommand}"/>
  284. </i:EventTrigger>
  285. </i:Interaction.Triggers>
  286. <ctrls:ButterflyValve.ContextMenu>
  287. <ContextMenu>
  288. <MenuItem Header="Open" Command="{Binding OpenPendulumValveCommand}" IsChecked="{Binding PendulumValveData.IsOpen,Mode=OneWay}" IsEnabled="{Binding PendulumValveData.IsOpen,Converter={StaticResource BoolToBool},Mode=OneWay}"/>
  289. <MenuItem Header="Close" Command="{Binding ClosePendulumValveCommand}" IsChecked="{Binding PendulumValveData.IsOpen,Converter={StaticResource BoolToBool},Mode=OneWay}" IsEnabled="{Binding PendulumValveData.IsOpen,Mode=OneWay}"/>
  290. </ContextMenu>
  291. </ctrls:ButterflyValve.ContextMenu>
  292. </ctrls:ButterflyValve>
  293. <Image Canvas.Top="715" Canvas.Left="1425" Width="40" Height="25" Source="Pack://application:,,,/CyberX8_Themes;Component/Resources/Arrow.png" Stretch="Uniform">
  294. <Image.RenderTransform>
  295. <RotateTransform Angle="-90"/>
  296. </Image.RenderTransform>
  297. </Image>
  298. <TextBlock Text="N2" Canvas.Top="720" Canvas.Left="1438"/>
  299. <Image Canvas.Top="650" Canvas.Left="815" Width="40" Height="25" Source="Pack://application:,,,/CyberX8_Themes;Component/Resources/Arrow.png" Stretch="Uniform" >
  300. </Image>
  301. <TextBlock Text="Helium" Canvas.Top="653" Canvas.Left="770" FontSize="15"/>
  302. <!--chamber管道标签-->
  303. <ctrls:TextboxWithLabel Canvas.Top="156" Canvas.Left="1326" LabelValue="CM2(mTorr)" TextBoxValue="{Binding ProcessHighPressure,StringFormat='F1'}" TextBoxColor="#D7E4BD"/>
  304. <ctrls:TextboxWithLabel Canvas.Top="248" Canvas.Left="1318" LabelValue="CM1(mTorr)" TextBoxValue="{Binding ProcessLowPressure,StringFormat='F1'}" TextBoxColor="#D7E4BD"/>
  305. <!--<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>-->
  306. <ctrls:TextboxWithLabel Canvas.Top="633" Canvas.Left="1280" LabelValue="CM3(mTorr)" TextBoxValue="{Binding ForelinePressure,StringFormat='F1'}" TextBoxColor="#D7E4BD" />
  307. <ctrls:TextboxWithLabel Canvas.Top="464" Canvas.Left="1290" LabelValue="Position(‰)" TextBoxValue="{Binding RtDataValues[PMA.GetPVPosition],StringFormat='F0'}" TextBoxColor="#D7E4BD" />
  308. <ctrls:TextboxWithLabel Canvas.Top="510" Canvas.Left="1330" LabelValue="Flow(sccm)" TextBoxValue="{Binding MFCN2Data.FeedBack,StringFormat='F1'}" TextBoxColor="#D7E4BD" />
  309. <!--<ctrls:TextboxWithLabel Canvas.Top="510" Canvas.Left="1367" TextBoxValue="{Binding N2SetPoint,Mode=TwoWay}" IsReadOnly="False" LabelValue="Turbo N2" ToolTip="{Binding MFCN2Data.SetPoint,StringFormat='F1'}" TextBoxColor="White" />-->
  310. <!--<ctrls:TextboxWithLabel Canvas.Top="556" Canvas.Left="952" LabelValue="Pressure(mTorr)" TextBoxValue="{Binding ESCHePressure,StringFormat='F1'}" TextBoxColor="#D7E4BD"/>
  311. <Border BorderBrush="Gray" BorderThickness="0" Width="15" Height="6" Canvas.Top="581" Canvas.Left="1033">
  312. <Border.Background>
  313. <LinearGradientBrush StartPoint="0.5 0" EndPoint="0.5 1">
  314. <GradientStop Color="Gray" Offset="0"/>
  315. <GradientStop Color="White" Offset="0.5"/>
  316. <GradientStop Color="Gray" Offset="1"/>
  317. </LinearGradientBrush>
  318. </Border.Background>
  319. </Border>-->
  320. <!--<ctrls:TextboxWithLabel Canvas.Top="506" Canvas.Left="964" LabelValue="Flow(sccm)" TextBoxValue="{Binding MFCHeData.FeedBack,StringFormat='F1'}" TextBoxColor="#D7E4BD"/>
  321. <Border BorderBrush="Gray" BorderThickness="0" Width="15" Height="6" Canvas.Top="531" Canvas.Left="1033">
  322. <Border.Background>
  323. <LinearGradientBrush StartPoint="0.5 0" EndPoint="0.5 1">
  324. <GradientStop Color="Gray" Offset="0"/>
  325. <GradientStop Color="White" Offset="0.5"/>
  326. <GradientStop Color="Gray" Offset="1"/>
  327. </LinearGradientBrush>
  328. </Border.Background>
  329. </Border>-->
  330. <ctrls:TextboxWithLabel Canvas.Top="550" Canvas.Left="1280" LabelValue="Speed(rpm)" TextBoxValue="{Binding TurboPumpRotationalSpeed}" TextBoxColor="#D7E4BD" />
  331. <TextBlock Canvas.Top="600" Canvas.Left="1280" Text="ISO"/>
  332. <!--Chamber-->
  333. <ctrls:Chamber Canvas.Left="1034" Canvas.Top="224"
  334. IsLiftPinUp="{Binding LiftPinIsUp}"
  335. IsOpenSlitDoor="{Binding IsSlitDoorClosed,Converter={StaticResource BoolToBool}}"
  336. IsLidOpen="{Binding IsLidClosed,Converter={StaticResource BoolToBool}}"
  337. IsBRFOn="{Binding BRFData.IsRfOn}"
  338. IsSRFOn="{Binding SRFData.IsRfOn}"
  339. IsHasWafer="{Binding IsHasWafer}"
  340. />
  341. <ctrls:Pump Canvas.Top="700" Canvas.Left="1244" Width="35" Height="35" IsOpen="{Binding PumpIsOpen,Mode=TwoWay}"/>
  342. <TextBlock Text="Rough Pump" Canvas.Top="734" Canvas.Left="1220" FontSize="15"/>
  343. </Canvas>
  344. </Canvas>
  345. </UserControl>