<UserControl x:Class="CyberX8_MainPages.Views.PlatformView" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" xmlns:d="http://schemas.microsoft.com/expression/blend/2008" xmlns:local="clr-namespace:CyberX8_MainPages.Views" xmlns:ctrls="clr-namespace:CyberX8_Themes.UserControls;assembly=CyberX8_Themes" xmlns:i="http://schemas.microsoft.com/expression/2010/interactivity" xmlns:converters="clr-namespace:CyberX8_Themes.Converters;assembly=CyberX8_Themes" xmlns:customControls="clr-namespace:CyberX8_Themes.CustomControls;assembly=CyberX8_Themes" mc:Ignorable="d" xmlns:prism="http://prismlibrary.com/" prism:ViewModelLocator.AutoWireViewModel="True" d:DesignHeight="450" d:DesignWidth="1500"> <UserControl.Resources> <converters:BoolToBool x:Key="boolToBool"/> <converters:BoolToColor x:Key="boolToColor"/> <converters:BoolToColor2 x:Key="boolToColor2"/> <converters:VisibilityToReverse x:Key="VisibilityToReverse"/> <converters:ToBoolMultiValueConverter x:Key="toBoolMultiValueConverter"/> <converters:ToBoolMultiValueConverter2 x:Key="toBoolMultiValueConverter2"/> <converters:ToBoolMultiValueConverter3 x:Key="toBoolMultiValueConverter3"/> <converters:ToBoolMultiValueConverter4 x:Key="toBoolMultiValueConverter4"/> <converters:BoolToColor5 x:Key="boolToColor5"/> <converters:BoolToColor4 x:Key="boolToColor4"/> </UserControl.Resources> <Canvas> <Image Canvas.Left="200" Canvas.Top="500" Width="150" Height="150" Source="Pack://application:,,,/CyberX8_Themes;Component/Resources/LoadLock.png"> </Image> <ctrls:WaferCtrl Canvas.Left="242" Canvas.Top="542" WaferData="{Binding PMAWafer}"/> <ctrls:FlowPipe x:Name="N2Pipe1" Height="8" Width="120" Canvas.Left="90" Canvas.Top="120" IsFlowing="{Binding LoadLockVentValveIsOpen,Mode=TwoWay}"/> <ctrls:FlowPipe x:Name="purgeFlow2" Height="8" Width="142" Canvas.Left="276" Canvas.Top="220" RotateTransformValue="90" IsFlowing="{Binding LoadLockPumpValveIsOpen,Mode=TwoWay}"/> <ctrls:Pump Canvas.Top="360" Canvas.Left="254" Width="35" Height="35" IsOpen="{Binding PumpIsOpen,Mode=TwoWay}"> <ctrls:Pump.ContextMenu> <ContextMenu> <MenuItem Header="ON" Command="{Binding OpenPumpCommand}" IsChecked="{Binding PumpIsOpen,Mode=OneWay}" IsEnabled="{Binding PumpIsOpen,Converter={StaticResource boolToBool},Mode=OneWay}"/> <MenuItem Header="OFF" Command="{Binding ClosePumpCommand}" IsChecked="{Binding PumpIsOpen,Converter={StaticResource boolToBool},Mode=OneWay}" IsEnabled="{Binding PumpIsOpen,Mode=OneWay}"/> </ContextMenu> </ctrls:Pump.ContextMenu> </ctrls:Pump> <TextBlock Canvas.Top="310" Canvas.Left="400" Text="吹扫计数:" FontSize="15"/> <TextBlock Canvas.Top="310" Canvas.Left="480" Text="{Binding PurgeCounter}" FontSize="15"/> <!--<ctrls:FlowPipeValve Height="20" Width="24" Canvas.Left="130" Canvas.Top="110" IsOpen="{Binding VentValveIsOpen,Mode=TwoWay}"/>--> <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}}"/> <!--<ctrls:FlowPipeValve x:Name="purgevalve" Height="20" Width="24" Canvas.Left="285.5" Canvas.Top="310" RotateTransformValue="90" IsOpen="{Binding PumpValveIsOpen,Mode=TwoWay}"/>--> <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}}"/> <Ellipse Width="20" Height="20" Fill="{Binding RtDataValues[PMA.IsSlitDoorClosed],Converter={StaticResource boolToColor2}}" Canvas.Left="70" Canvas.Top="302" Stroke="Silver" StrokeThickness="2"/> <Button Height="22" Content=" Slit Door Open " Canvas.Left="100" Canvas.Top="300" Command="{Binding OpenDoorCommand}" Style="{StaticResource SysBtnStyle}" Foreground="White"/> <Ellipse Width="20" Height="20" Fill="{Binding RtDataValues[PMA.IsSlitDoorClosed],Converter={StaticResource boolToColor}}" Canvas.Left="70" Canvas.Top="342" Stroke="Silver" StrokeThickness="2"/> <Button Height="22" Content=" Slit Door Close " Canvas.Left="100" Canvas.Top="340" Command="{Binding CloseDoorCommand}" Style="{StaticResource SysBtnStyle}" Foreground="White"/> <!--<ctrls:CustomSwitch Height="20" Value=" Slit Door Close " Canvas.Left="100" Canvas.Top="340" IsOpen="{Binding LoadLockDoorIsOpen,Mode=TwoWay,Converter={StaticResource boolToBool}}"/>--> <Border BorderBrush="Gray" BorderThickness="0" Width="180" Height="6" Canvas.Left="330" Canvas.Top="120"> <Border.Background> <LinearGradientBrush StartPoint="0.5 0" EndPoint="0.5 1"> <GradientStop Color="Gray" Offset="0"/> <GradientStop Color="White" Offset="0.5"/> <GradientStop Color="Gray" Offset="1"/> </LinearGradientBrush> </Border.Background> </Border> <Border BorderBrush="Gray" BorderThickness="0" Width="40" Height="6" Canvas.Left="275" Canvas.Top="320"> <Border.Background> <LinearGradientBrush StartPoint="0.5 0" EndPoint="0.5 1"> <GradientStop Color="Gray" Offset="0"/> <GradientStop Color="White" Offset="0.5"/> <GradientStop Color="Gray" Offset="1"/> </LinearGradientBrush> </Border.Background> </Border> <ctrls:TextboxWithLabel Canvas.Left="310" Canvas.Top="294" LabelValue="CM3(mTorr)" TextBoxValue="{Binding RtDataValues[PMA.ForelinePressure],StringFormat='F2'}" TextBoxColor="#D7E4BD"/> <ctrls:TextboxWithLabel Canvas.Left="500" Canvas.Top="94" LabelValue="CM(mTorr)" TextBoxValue="{Binding RtDataValues[PMA.LoadlockPressure],StringFormat='F2'}" TextBoxColor="#D7E4BD"/> <Border BorderBrush="Gray" BorderThickness="0" Width="40" Height="6" Canvas.Left="400" Canvas.Top="124" > <Border.RenderTransform> <RotateTransform Angle="90"/> </Border.RenderTransform> <Border.Background> <LinearGradientBrush StartPoint="0.5 0" EndPoint="0.5 1"> <GradientStop Color="Gray" Offset="0"/> <GradientStop Color="White" Offset="0.5"/> <GradientStop Color="Gray" Offset="1"/> </LinearGradientBrush> </Border.Background> </Border> <Border BorderBrush="Gray" BorderThickness="0" Width="40" Height="6" Canvas.Left="420" Canvas.Top="80" > <Border.RenderTransform> <RotateTransform Angle="90"/> </Border.RenderTransform> <Border.Background> <LinearGradientBrush StartPoint="0.5 0" EndPoint="0.5 1"> <GradientStop Color="Gray" Offset="0"/> <GradientStop Color="White" Offset="0.5"/> <GradientStop Color="Gray" Offset="1"/> </LinearGradientBrush> </Border.Background> </Border> <Ellipse Width="20" Height="20" Canvas.Left="407" Canvas.Top="60" Fill="{Binding RtDataValues[PMA.IsATMLoadlock],Converter={StaticResource boolToColor}}" Stroke="Silver" StrokeThickness="2"></Ellipse> <Ellipse Width="20" Height="20" Canvas.Left="387" Canvas.Top="160" Fill="{Binding RtDataValues[PMA.IsVACLoadlock],Converter={StaticResource boolToColor}}" Stroke="Silver" StrokeThickness="2"></Ellipse> <TextBlock Text="ATM" Canvas.Left="405" Canvas.Top="40"/> <TextBlock Text="VAC" Canvas.Left="387" Canvas.Top="185"/> <TextBlock Text="N2" Canvas.Left="30" Canvas.Top="116"/> <Image Canvas.Left="50" Canvas.Top="110" Width="40" Height="25" Source="Pack://application:,,,/CyberX8_Themes;Component/Resources/Arrow.png" Stretch="Uniform" /> <Image Canvas.Left="200" Canvas.Top="100" Width="141" Height="141" Source="Pack://application:,,,/CyberX8_Themes;Component/Resources/LoadLock.png"/> <ctrls:WaferCtrl Canvas.Left="238" Canvas.Top="140" WaferData="{Binding LLAWafer}"/> <Grid Canvas.Left="600" Canvas.Top="120" > <Grid.RowDefinitions> <RowDefinition Height="30"/> <RowDefinition Height="Auto"/> <RowDefinition /> </Grid.RowDefinitions> <Border BorderBrush="{DynamicResource Table_BD}" BorderThickness="1,0,1,1" Background="{DynamicResource Table_BG_FirstTitle}" Padding="5,1"> <StackPanel Orientation="Horizontal" HorizontalAlignment="Left" VerticalAlignment="Center"> <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"> <Path.RenderTransform> <TransformGroup> <ScaleTransform/> <SkewTransform/> <RotateTransform Angle="45"/> <TranslateTransform/> </TransformGroup> </Path.RenderTransform> </Path> <TextBlock Margin="5,0,0,0" Text="LoadLock Manual Operation" FontFamily="Arial" FontSize="14" Foreground="{DynamicResource FG_White}" HorizontalAlignment="Left" VerticalAlignment="Center"/> </StackPanel> </Border> <Border Grid.Row="1" BorderBrush="{DynamicResource Table_BD}" Background="{DynamicResource Table_BG_Content}" BorderThickness="1,0,1,1" Padding="5,1"> <StackPanel Margin="10,10,10,0" Orientation="Horizontal" HorizontalAlignment="Center"> <StackPanel Margin="10,0,10,0" Orientation="Vertical"> <!--<Button Content="初始化" Width="80" Height="25" Margin="0 0 0 10" IsEnabled="{Binding Path=IsManualMode}" Command="{Binding LLInitCommnad}"> </Button>--> <!--放片--> <Button Content="抽气" Width="80" Height="25" Margin="0 0 0 10" IsEnabled="{Binding Path=IsManualMode}" Command="{Binding PumpCommand}"> </Button> <!--检测漏率--> <Button Content="充气" Width="80" Height="25" Margin="0 0 0 10" IsEnabled="{Binding Path=IsManualMode}" Command="{Binding VentCommand}"> </Button> </StackPanel> <StackPanel Margin="10,0,10,0" Orientation="Vertical"> <!--充气--> <Button Content="循环吹扫" Width="80" Height="25" Margin="0 0 0 10" VerticalAlignment="Top" IsEnabled="{Binding Path=IsManualMode}" Command="{Binding PurgeCommand}"> </Button> </StackPanel> <StackPanel Margin="10,0,10,0" Orientation="Vertical"> <!--充气--> <Button Content="放片" Width="80" Height="25" Margin="0 0 0 10" Command="{Binding PlaceWaferCommand}"/> <!--取片--> <Button Content="取片" Width="80" Height="25" Margin="0 0 0 10" Command="{Binding MoveWaferCommand}"/> </StackPanel> </StackPanel> </Border> </Grid> <Canvas Canvas.Right="1900" Canvas.Top="-50"> <!--与chamber右上角连接的管道--> <ctrls:FlowPipe Height="8" Width="40" Canvas.Left="1262" Canvas.Top="275" RotateTransformValue="90" /> <ctrls:FlowPipe Height="8" Width="126" Canvas.Left="1250" Canvas.Top="192" RotateTransformValue="90" /> <ctrls:Pipe2 Canvas.Left="1254" Canvas.Top="285" HorizontalAlignment="Left" VerticalAlignment="Top" RotateTransformValue="-90" /> <ctrls:FlowPipe Height="8" Width="80" Canvas.Left="1252" Canvas.Top="182" /> <ctrls:FlowPipe Height="8" Width="70" Canvas.Left="1264" Canvas.Top="272" /> <TextBlock Text="Guage" Canvas.Left="1272" Canvas.Top="248"/> <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}}"/> <Border BorderBrush="Gray" BorderThickness="0" Width="18" Height="6" Canvas.Left="1315" Canvas.Top="164" > <Border.RenderTransform> <RotateTransform Angle="90"/> </Border.RenderTransform> <Border.Background> <LinearGradientBrush StartPoint="0.5 0" EndPoint="0.5 1"> <GradientStop Color="Gray" Offset="0"/> <GradientStop Color="White" Offset="0.5"/> <GradientStop Color="Gray" Offset="1"/> </LinearGradientBrush> </Border.Background> </Border> <Border BorderBrush="Gray" BorderThickness="0" Width="20" Height="6" Canvas.Left="1285" Canvas.Top="188" > <Border.RenderTransform> <RotateTransform Angle="90"/> </Border.RenderTransform> <Border.Background> <LinearGradientBrush StartPoint="0.5 0" EndPoint="0.5 1"> <GradientStop Color="Gray" Offset="0"/> <GradientStop Color="White" Offset="0.5"/> <GradientStop Color="Gray" Offset="1"/> </LinearGradientBrush> </Border.Background> </Border> <Ellipse Width="20" Height="20" Canvas.Left="1302" Canvas.Top="150" Fill="{Binding RtDataValues[PMA.IsATM],Converter={StaticResource boolToColor}}" Stroke="Silver" StrokeThickness="2"></Ellipse> <Ellipse Width="20" Height="20" Canvas.Left="1272" Canvas.Top="200" Fill="{Binding RtDataValues[PMA.IsVAC],Converter={StaticResource boolToColor}}" Stroke="Silver" StrokeThickness="2"></Ellipse> <TextBlock Text="ATM" Canvas.Left="1300" Canvas.Top="134"/> <TextBlock Text="VAC" Canvas.Left="1270" Canvas.Top="220"/> <ctrls:Pipe2 Canvas.Left="1242" Canvas.Top="195" HorizontalAlignment="Left" VerticalAlignment="Top" RotateTransformValue="-90" /> <!--与chamber底部连接的管道--> <ctrls:FlowPipe Height="8" Width="193" Canvas.Left="860" Canvas.Top="658" IsFlowing="{Binding PVHe1ValveIsOpen}"/> <ctrls:FlowPipe Height="8" Width="198" Canvas.Left="1055" Canvas.Top="463" RotateTransformValue="90" IsReverse="{Binding PVHe1ValveIsOpen}"> <ctrls:FlowPipe.IsFlowing> <MultiBinding Converter="{StaticResource toBoolMultiValueConverter2}"> <Binding Path="PVHe1ValveIsOpen"/> <Binding Path="PVHe2ValveIsOpen"/> </MultiBinding> </ctrls:FlowPipe.IsFlowing> </ctrls:FlowPipe> <ctrls:FlowPipe Height="8" Width="90" Canvas.Left="1050" Canvas.Top="610"/> <ctrls:FlowPipe Height="8" Width="65" Canvas.Left="1146" Canvas.Top="615" RotateTransformValue="90"/> <ctrls:FlowPipe Height="8" Width="56" Canvas.Left="1055" Canvas.Top="610" RotateTransformValue="90"/> <ctrls:Pipe2 Canvas.Left="1133" Canvas.Top="610" HorizontalAlignment="Left" VerticalAlignment="Top" /> <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}}"/> <ctrls:ZhenValve Width="34" Height="34" Canvas.Top="585.6" Canvas.Left="1100"/> <TextBlock Text="VHe3" Canvas.Top="588" Canvas.Left="1068"/> <ctrls:FlowPipe Height="8" Width="17" Canvas.Left="1055" Canvas.Top="659" RotateTransformValue="90" IsFlowing="{Binding PVHe2ValveIsOpen}"/> <ctrls:FlowPipe Height="8" Width="208" Canvas.Left="1057" Canvas.Top="680" IsFlowing="{Binding PVHe2ValveIsOpen}"/> <ctrls:FlowPipe Height="8" Width="20" Canvas.Left="1266" Canvas.Top="682" RotateTransformValue="90"> <ctrls:FlowPipe.IsFlowing> <MultiBinding Converter="{StaticResource toBoolMultiValueConverter2}"> <Binding Path="SoftPumpValveIsOpen"/> <Binding Path="FastPumpValveIsOpen"/> <Binding Path="TurboPumpPumpingValveIsOpen"/> <Binding Path="PVHe2ValveIsOpen"/> </MultiBinding> </ctrls:FlowPipe.IsFlowing> </ctrls:FlowPipe> <ctrls:FlowPipe Height="8" Width="40" Canvas.Left="1265" Canvas.Top="658" /> <ctrls:FlowPipe Height="8" Width="178" Canvas.Left="1266" Canvas.Top="464" RotateTransformValue="90" IsFlowing="{Binding TurboPumpPumpingValveIsOpen}"> </ctrls:FlowPipe> <ctrls:FlowPipe Height="8" Width="45" Canvas.Left="1266" Canvas.Top="638" RotateTransformValue="90" > <ctrls:FlowPipe.IsFlowing> <MultiBinding Converter="{StaticResource toBoolMultiValueConverter2}"> <Binding Path="SoftPumpValveIsOpen"/> <Binding Path="FastPumpValveIsOpen"/> <Binding Path="TurboPumpPumpingValveIsOpen"/> </MultiBinding> </ctrls:FlowPipe.IsFlowing> </ctrls:FlowPipe> <ctrls:Pipe2 Canvas.Left="1060" Canvas.Top="687.8" HorizontalAlignment="Left" VerticalAlignment="Top" RotateTransformValue="-180" /> <ctrls:FlowPipe Height="8" Width="46" Canvas.Left="1213" Canvas.Top="635" > <ctrls:FlowPipe.IsFlowing> <MultiBinding Converter="{StaticResource toBoolMultiValueConverter2}"> <Binding Path="SoftPumpValveIsOpen"/> <Binding Path="FastPumpValveIsOpen"/> </MultiBinding> </ctrls:FlowPipe.IsFlowing> </ctrls:FlowPipe> <ctrls:FlowPipe Height="8" Width="52" Canvas.Left="1165" Canvas.Top="635" IsFlowing="{Binding SoftPumpValveIsOpen}" /> <ctrls:FlowPipe Height="8" Width="125" Canvas.Left="1219" Canvas.Top="512" RotateTransformValue="90" IsFlowing="{Binding FastPumpValveIsOpen}"/> <ctrls:FlowPipe Height="8" Width="119" Canvas.Left="1168" Canvas.Top="517" RotateTransformValue="90" IsFlowing="{Binding SoftPumpValveIsOpen}"/> <ctrls:Pipe2 Canvas.Left="1173" Canvas.Top="643" HorizontalAlignment="Left" VerticalAlignment="Top" RotateTransformValue="-180" /> <ctrls:FlowPipe Height="8" Width="48" Canvas.Left="1165" Canvas.Top="512" HorizontalAlignment="Left" VerticalAlignment="Center" IsReverse="True" IsFlowing="{Binding SoftPumpValveIsOpen}" /> <ctrls:FlowPipe Height="8" Width="50" Canvas.Left="1219" Canvas.Top="463" RotateTransformValue="90"> <ctrls:FlowPipe.IsFlowing> <MultiBinding Converter="{StaticResource toBoolMultiValueConverter2}"> <Binding Path="SoftPumpValveIsOpen"/> <Binding Path="FastPumpValveIsOpen"/> </MultiBinding> </ctrls:FlowPipe.IsFlowing> </ctrls:FlowPipe> <ctrls:Pipe2 Canvas.Left="1160" Canvas.Top="525" HorizontalAlignment="Left" VerticalAlignment="Top" RotateTransformValue="-90" /> <TextBlock Canvas.Left="1130" Canvas.Top="558" Text="Soft"/> <TextBlock Canvas.Left="1178" Canvas.Top="558" Text="Fast"/> <ctrls:FlowPipe Height="8" Width="194" Canvas.Left="1246" Canvas.Top="535" IsReverse="True" IsFlowing="{Binding TurboPumpPurgeValveIsOpen,Mode=TwoWay}" > </ctrls:FlowPipe> <ctrls:FlowPipe ToolTip="123" Height="8" Width="142" Canvas.Left="1448" Canvas.Top="542" RotateTransformValue="90" IsReverse="True" IsFlowing="{Binding TurboPumpPurgeValveIsOpen}"/> <ctrls:Pipe2 Canvas.Left="1435" Canvas.Top="535" HorizontalAlignment="Left" VerticalAlignment="Top" /> <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}}"/> <TextBlock Text="Turbo N2 Purge" Canvas.Left="1365" Canvas.Top="610" FontSize="15"/> <TextBlock Text="VHe1" Canvas.Top="636" Canvas.Left="985"/> <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}}"/> <TextBlock Text="VHe2" Canvas.Top="658" Canvas.Left="1068"/> <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}}"/> <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}}"/> <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}}"/> <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}}"/> <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}}"/> <TextBlock Text=" He ISO" Canvas.Top="482" Canvas.Left="1068"/> <!--turbo--> <ctrls:Turbo Width="40" Height="40" Canvas.Top="521" Canvas.Left="1242" IsOpen="{Binding TurboIsOpen}"> <ctrls:Turbo.ContextMenu> <ContextMenu> <MenuItem Header="ON" Command="{Binding OpenTurboPumpCommand}" IsChecked="{Binding TurboIsOpen,Mode=OneWay}" IsEnabled="{Binding TurboIsOpen,Converter={StaticResource BoolToBool},Mode=OneWay}"/> <MenuItem Header="OFF" Command="{Binding CloseTurboPumpCommand}" IsChecked="{Binding TurboIsOpen,Converter={StaticResource BoolToBool},Mode=OneWay}" IsEnabled="{Binding TurboIsOpen,Mode=OneWay}"/> </ContextMenu> </ctrls:Turbo.ContextMenu> </ctrls:Turbo> <!--蝶阀--> <ctrls:ButterflyValve Canvas.Top="475" Canvas.Left="1245" RotateTransformValue="{Binding PositionValue}" IsOpen="{Binding PendulumValveData.IsOpen,Mode=TwoWay}"> <i:Interaction.Triggers> <i:EventTrigger EventName="MouseLeftButtonUp"> <i:InvokeCommandAction Command="{Binding OpenButterflyValveViewCommand}"/> </i:EventTrigger> </i:Interaction.Triggers> <ctrls:ButterflyValve.ContextMenu> <ContextMenu> <MenuItem Header="Open" Command="{Binding OpenPendulumValveCommand}" IsChecked="{Binding PendulumValveData.IsOpen,Mode=OneWay}" IsEnabled="{Binding PendulumValveData.IsOpen,Converter={StaticResource BoolToBool},Mode=OneWay}"/> <MenuItem Header="Close" Command="{Binding ClosePendulumValveCommand}" IsChecked="{Binding PendulumValveData.IsOpen,Converter={StaticResource BoolToBool},Mode=OneWay}" IsEnabled="{Binding PendulumValveData.IsOpen,Mode=OneWay}"/> </ContextMenu> </ctrls:ButterflyValve.ContextMenu> </ctrls:ButterflyValve> <Image Canvas.Top="715" Canvas.Left="1425" Width="40" Height="25" Source="Pack://application:,,,/CyberX8_Themes;Component/Resources/Arrow.png" Stretch="Uniform"> <Image.RenderTransform> <RotateTransform Angle="-90"/> </Image.RenderTransform> </Image> <TextBlock Text="N2" Canvas.Top="720" Canvas.Left="1438"/> <Image Canvas.Top="650" Canvas.Left="815" Width="40" Height="25" Source="Pack://application:,,,/CyberX8_Themes;Component/Resources/Arrow.png" Stretch="Uniform" > </Image> <TextBlock Text="Helium" Canvas.Top="653" Canvas.Left="770" FontSize="15"/> <!--chamber管道标签--> <ctrls:TextboxWithLabel Canvas.Top="156" Canvas.Left="1326" LabelValue="CM2(mTorr)" TextBoxValue="{Binding ProcessHighPressure,StringFormat='F1'}" TextBoxColor="#D7E4BD"/> <ctrls:TextboxWithLabel Canvas.Top="248" Canvas.Left="1318" LabelValue="CM1(mTorr)" TextBoxValue="{Binding ProcessLowPressure,StringFormat='F1'}" TextBoxColor="#D7E4BD"/> <!--<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>--> <ctrls:TextboxWithLabel Canvas.Top="633" Canvas.Left="1280" LabelValue="CM3(mTorr)" TextBoxValue="{Binding ForelinePressure,StringFormat='F1'}" TextBoxColor="#D7E4BD" /> <ctrls:TextboxWithLabel Canvas.Top="464" Canvas.Left="1290" LabelValue="Position(‰)" TextBoxValue="{Binding RtDataValues[PMA.GetPVPosition],StringFormat='F0'}" TextBoxColor="#D7E4BD" /> <ctrls:TextboxWithLabel Canvas.Top="510" Canvas.Left="1330" LabelValue="Flow(sccm)" TextBoxValue="{Binding MFCN2Data.FeedBack,StringFormat='F1'}" TextBoxColor="#D7E4BD" /> <!--<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" />--> <!--<ctrls:TextboxWithLabel Canvas.Top="556" Canvas.Left="952" LabelValue="Pressure(mTorr)" TextBoxValue="{Binding ESCHePressure,StringFormat='F1'}" TextBoxColor="#D7E4BD"/> <Border BorderBrush="Gray" BorderThickness="0" Width="15" Height="6" Canvas.Top="581" Canvas.Left="1033"> <Border.Background> <LinearGradientBrush StartPoint="0.5 0" EndPoint="0.5 1"> <GradientStop Color="Gray" Offset="0"/> <GradientStop Color="White" Offset="0.5"/> <GradientStop Color="Gray" Offset="1"/> </LinearGradientBrush> </Border.Background> </Border>--> <!--<ctrls:TextboxWithLabel Canvas.Top="506" Canvas.Left="964" LabelValue="Flow(sccm)" TextBoxValue="{Binding MFCHeData.FeedBack,StringFormat='F1'}" TextBoxColor="#D7E4BD"/> <Border BorderBrush="Gray" BorderThickness="0" Width="15" Height="6" Canvas.Top="531" Canvas.Left="1033"> <Border.Background> <LinearGradientBrush StartPoint="0.5 0" EndPoint="0.5 1"> <GradientStop Color="Gray" Offset="0"/> <GradientStop Color="White" Offset="0.5"/> <GradientStop Color="Gray" Offset="1"/> </LinearGradientBrush> </Border.Background> </Border>--> <ctrls:TextboxWithLabel Canvas.Top="550" Canvas.Left="1280" LabelValue="Speed(rpm)" TextBoxValue="{Binding TurboPumpRotationalSpeed}" TextBoxColor="#D7E4BD" /> <TextBlock Canvas.Top="600" Canvas.Left="1280" Text="ISO"/> <!--Chamber--> <ctrls:Chamber Canvas.Left="1034" Canvas.Top="224" IsLiftPinUp="{Binding LiftPinIsUp}" IsOpenSlitDoor="{Binding IsSlitDoorClosed,Converter={StaticResource BoolToBool}}" IsLidOpen="{Binding IsLidClosed,Converter={StaticResource BoolToBool}}" IsBRFOn="{Binding BRFData.IsRfOn}" IsSRFOn="{Binding SRFData.IsRfOn}" IsHasWafer="{Binding IsHasWafer}" /> <ctrls:Pump Canvas.Top="700" Canvas.Left="1244" Width="35" Height="35" IsOpen="{Binding PumpIsOpen,Mode=TwoWay}"/> <TextBlock Text="Rough Pump" Canvas.Top="734" Canvas.Left="1220" FontSize="15"/> </Canvas> </Canvas> </UserControl>