123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543 |
- <UserControl x:Class="Venus_MainPages.Views.OperationOverView"
- 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:Venus_MainPages.Views"
- mc:Ignorable="d"
- xmlns:ctrls="clr-namespace:Venus_Themes.UserControls;assembly=Venus_Themes"
- xmlns:customControls="clr-namespace:Venus_Themes.CustomControls;assembly=Venus_Themes"
- xmlns:Attach="clr-namespace:Venus_UI.Themes.Attach;assembly=Venus_Themes"
- xmlns:converters="clr-namespace:Venus_Themes.Converters;assembly=Venus_Themes"
- xmlns:converters2="clr-namespace:Venus_MainPages.Converters"
- xmlns:userControls="clr-namespace:Venus_Themes.UserControls;assembly=Venus_Themes"
- xmlns:i="clr-namespace:System.Windows.Interactivity;assembly=System.Windows.Interactivity"
- xmlns:prism="http://prismlibrary.com/"
- prism:ViewModelLocator.AutoWireViewModel="True"
- xmlns:unity="clr-namespace:Venus_MainPages.Unity"
- d:DesignHeight="1000" d:DesignWidth="1920" x:Name="operationOverView">
- <i:Interaction.Triggers>
- <i:EventTrigger EventName="Loaded">
- <i:InvokeCommandAction Command="{Binding LoadCommand}" CommandParameter="{Binding ElementName=operationOverView}"/>
- </i:EventTrigger>
- </i:Interaction.Triggers>
- <UserControl.Resources>
- <converters:BoolToVisibility x:Key="boolToVisibility"/>
- <converters:BoolToVisibility2 x:Key="boolToVisibility2"/>
- <converters:BoolToVisibility3 x:Key="boolToVisibility3"/>
- <converters:BoolToBool x:Key="BoolToBool"/>
- <converters2:IsOnlineToOpacityConverter x:Key="IsOnlineToOpacityConverter"/>
- <converters:BoolToColor x:Key="boolToColor"/>
- <converters:BoolToColor4 x:Key="boolToColor4"/>
- <!--<converters2:IntToPathDataConverter x:Key="IntToPathDataConverter"/>-->
- <converters2:mTorrToPaConverter x:Key="mTorrToPaConverter"/>
- </UserControl.Resources>
- <Grid>
- <Grid.ColumnDefinitions>
- <ColumnDefinition />
- <ColumnDefinition Width="840"/>
- </Grid.ColumnDefinitions>
- <Canvas x:Name="operationCanvas">
- <Border Canvas.Left="120" Canvas.Top="10" BorderBrush="#076DB6" BorderThickness="0 0 0 0" Padding="5,1" >
- <StackPanel HorizontalAlignment="Center" Orientation="Horizontal">
- <StackPanel Orientation="Horizontal" HorizontalAlignment="Left" Margin="20 1 0 0">
- <TextBlock Text="ATM Mode" FontSize="14" HorizontalAlignment="Center" VerticalAlignment="Center" />
- <Ellipse Width="16" Height="16" Fill="{Binding ATMModeIsOn,Converter={StaticResource boolToColor}}" Stroke="Silver" StrokeThickness="0" Margin="5 0 0 0"></Ellipse>
- </StackPanel>
- <TextBlock Margin="30 1 0 0" Text="Wafer Status: " FontFamily="Arial" FontSize="14" Foreground="Black" HorizontalAlignment="Left" VerticalAlignment="Center"/>
- <Grid Height="14" Margin="0,1,0,0" HorizontalAlignment="Left">
- <Grid.ColumnDefinitions>
- <ColumnDefinition Width="14"/>
- <ColumnDefinition />
- </Grid.ColumnDefinitions>
- <Rectangle Fill="Gold" Stroke="Black" StrokeThickness="1"/>
- <TextBlock Width="120" Text="Idle / Unselected" Grid.Column="1" Margin="10,0,5,0" Foreground="{DynamicResource FG_Black}" FontSize="14" FontFamily="Arial" VerticalAlignment="Center"/>
- </Grid>
- <Grid Height="14" Margin="0,1,0,0" HorizontalAlignment="Left">
- <Grid.ColumnDefinitions>
- <ColumnDefinition Width="14"/>
- <ColumnDefinition />
- </Grid.ColumnDefinitions>
- <Rectangle Fill="Blue" Stroke="Black" StrokeThickness="1"/>
- <TextBlock Width="120" Text="Idle / Job Selected" Grid.Column="1" Margin="10,0,5,0" Foreground="{DynamicResource FG_Black}" FontSize="14" FontFamily="Arial" VerticalAlignment="Center"/>
- </Grid>
- <Grid Height="14" Margin="0,1,0,0" HorizontalAlignment="Left">
- <Grid.ColumnDefinitions>
- <ColumnDefinition Width="14"/>
- <ColumnDefinition />
- </Grid.ColumnDefinitions>
- <Rectangle Fill="Cyan" Stroke="Black" StrokeThickness="1"/>
- <TextBlock Width="80" Text="In Process" Grid.Column="1" Margin="10,0,5,0" Foreground="{DynamicResource FG_Black}" FontSize="14" FontFamily="Arial" VerticalAlignment="Center"/>
- </Grid>
- <Grid Height="14" Margin="0,1,0,0" HorizontalAlignment="Left">
- <Grid.ColumnDefinitions>
- <ColumnDefinition Width="14"/>
- <ColumnDefinition />
- </Grid.ColumnDefinitions>
- <Rectangle Fill="LimeGreen" Stroke="Black" StrokeThickness="1"/>
- <TextBlock Width="70" Text="Complete" Grid.Column="1" Margin="10,0,5,0" Foreground="{DynamicResource FG_Black}" FontSize="14" FontFamily="Arial" VerticalAlignment="Center"/>
- </Grid>
- <Grid Height="14" Margin="0,1,0,0" HorizontalAlignment="Left">
- <Grid.ColumnDefinitions>
- <ColumnDefinition Width="14"/>
- <ColumnDefinition />
- </Grid.ColumnDefinitions>
- <Rectangle Fill="Red" Stroke="Black" StrokeThickness="1"/>
- <TextBlock Width="50" Text="Error" Grid.Column="1" Margin="10,0,5,0" Foreground="{DynamicResource FG_Black}" FontSize="14" FontFamily="Arial" VerticalAlignment="Center"/>
- </Grid>
- </StackPanel>
- </Border>
- <Grid x:Name="pmaGrid" Canvas.Left="5" Canvas.Top="250" Width="280" Height="180" Margin="0 0 0 10" Visibility="{Binding PMAIsInstalled,Converter={StaticResource bool2VisibilityConverter}}">
- <Grid.RowDefinitions>
- <RowDefinition Height="24"/>
- <RowDefinition/>
- <RowDefinition/>
- <RowDefinition/>
- <RowDefinition/>
- <RowDefinition/>
- <RowDefinition/>
- <RowDefinition/>
- </Grid.RowDefinitions>
- <Grid.ColumnDefinitions>
- <ColumnDefinition Width="90"/>
- <ColumnDefinition/>
- </Grid.ColumnDefinitions>
- <TextBlock Grid.Row="0" Text="PMA" Grid.ColumnSpan="2" FontSize="16" Padding="0,2,0,0" FontWeight="Bold"/>
- <TextBlock Grid.Row="1" Text="Name" FontSize="13" Padding="0,2,0,0" />
- <TextBlock Grid.Row="5" Text="Step Num" FontSize="13" Padding="0,2,0,0"/>
- <TextBlock Grid.Row="3" Text="Step Type" FontSize="13" Padding="0,2,0,0" />
- <TextBlock Grid.Row="4" Text="Step Time(s)" FontSize="13" Padding="0,2,0,0" />
- <TextBlock Grid.Row="2" Text="Step Desc" FontSize="13" Padding="0,2,0,0" />
- <!--<TextBlock Grid.Row="6" Text="Next Step" FontSize="13" Padding="0,2,0,0" Background="#FAFAFA"/>-->
- <TextBlock Grid.Row="6" Text="Cycle Num" FontSize="13" Padding="0,2,0,0" />
- <TextBlock Grid.Row="7" Text="Heater Info" FontSize="13" Padding="0,2,0,0" />
- <TextBlock Grid.Row="1" Grid.Column="1" Text="{Binding PMARecipeResult.RecipeName}" FontSize="13" Padding="0,2,0,0" />
- <TextBlock Grid.Row="5" Grid.Column="1" FontSize="13" Padding="0,2,0,0" >
- <TextBlock.Text>
- <MultiBinding StringFormat="{}{0}/{1}">
- <Binding Path="PMARecipeResult.RecipeStepNumber"></Binding>
- <Binding Path="PMARecipeResult.RecipeStepCount"></Binding>
- </MultiBinding>
- </TextBlock.Text>
- </TextBlock>
- <TextBlock Grid.Row="3" Grid.Column="1" Text="{Binding PMARecipeResult.RecipeStepType}" FontSize="13" Padding="0,2,0,0" />
- <TextBlock Grid.Row="4" Grid.Column="1" FontSize="13" Padding="0,2,0,0" >
- <TextBlock.Text>
- <MultiBinding StringFormat="{}{0}/{1}">
- <Binding Path="PMARecipeResult.RecipeStepDuringTime"></Binding>
- <Binding Path="PMARecipeResult.RecipeStepSetTime"></Binding>
- </MultiBinding>
- </TextBlock.Text>
- </TextBlock>
- <TextBlock Grid.Row="2" Grid.Column="1" Text="{Binding PMARecipeResult.RecipeStepDescription}" FontSize="13" Padding="0,2,0,0" />
- <!--<customControls:PathButton BorderThickness="0" PathData="{StaticResource Icon_Next}" Background="Transparent" DefaultFillBrush="Black" Foreground="White" Cursor="Hand" Grid.Row="6" Grid.Column="1" Command="{Binding EndStepCommand}" Margin="15,0,0,0" HorizontalAlignment="Left"/>-->
- <TextBlock Grid.Row="6" Grid.Column="1" FontSize="13" Padding="0,2,0,0" >
- <TextBlock.Text>
- <MultiBinding StringFormat="{}{0}/{1}">
- <Binding Path="PMARecipeResult.RecipeCurrentCounter"></Binding>
- <Binding Path="PMARecipeResult.RecipeAllCounters"></Binding>
- </MultiBinding>
- </TextBlock.Text>
- </TextBlock>
- <TextBlock Grid.Row="7" Grid.Column="1" FontSize="13" Padding="0,2,0,0" >
- <Run Text="{Binding RtDataValues[PMA.HighTemperatureHeater.DeviceData].HighTemperatureHeaterPositionFeedBack}" />
- <Run Text=" "/>
- <Run Text="{Binding RtDataValues[PMA.HighTemperatureHeater.DeviceData].HighTemperatureHeaterTemperatureFeedBack,StringFormat=F1}" />
- <Run Text="°C"/>
- </TextBlock>
- </Grid>
- <Grid x:Name="pmbGrid" Canvas.Left="5" Canvas.Top="50" Width="280" Height="180" Margin="0 0 0 10" Visibility="{Binding PMBIsInstalled,Converter={StaticResource bool2VisibilityConverter}}">
- <Grid.RowDefinitions>
- <RowDefinition Height="24"/>
- <RowDefinition/>
- <RowDefinition/>
- <RowDefinition/>
- <RowDefinition/>
- <RowDefinition/>
- <RowDefinition/>
- <RowDefinition/>
- </Grid.RowDefinitions>
- <Grid.ColumnDefinitions>
- <ColumnDefinition Width="90"/>
- <ColumnDefinition/>
- </Grid.ColumnDefinitions>
- <TextBlock Grid.Row="0" Text="PMB" Grid.ColumnSpan="2" FontSize="16" Padding="0,2,0,0" FontWeight="Bold"/>
- <TextBlock Grid.Row="1" Text="Name" FontSize="13" Padding="0,2,0,0" />
- <TextBlock Grid.Row="5" Text="Step Num" FontSize="13" Padding="0,2,0,0" />
- <TextBlock Grid.Row="3" Text="Step Type" FontSize="13" Padding="0,2,0,0" />
- <TextBlock Grid.Row="4" Text="Step Time(s)" FontSize="13" Padding="0,2,0,0" />
- <TextBlock Grid.Row="2" Text="Step Desc" FontSize="13" Padding="0,2,0,0" />
- <!--<TextBlock Grid.Row="6" Text="Next Step" FontSize="13" Padding="0,2,0,0" Background="#FAFAFA"/>-->
- <TextBlock Grid.Row="6" Text="Cycle Num" FontSize="13" Padding="0,2,0,0" />
- <TextBlock Grid.Row="7" Text="Heater Info" FontSize="13" Padding="0,2,0,0"/>
- <TextBlock Grid.Row="1" Grid.Column="1" Text="{Binding PMBRecipeResult.RecipeName}" FontSize="13" Padding="0,2,0,0" />
- <TextBlock Grid.Row="5" Grid.Column="1" FontSize="13" Padding="0,2,0,0" >
- <TextBlock.Text>
- <MultiBinding StringFormat="{}{0}/{1}">
- <Binding Path="PMBRecipeResult.RecipeStepNumber"></Binding>
- <Binding Path="PMBRecipeResult.RecipeStepCount"></Binding>
- </MultiBinding>
- </TextBlock.Text>
- </TextBlock>
- <TextBlock Grid.Row="3" Grid.Column="1" Text="{Binding PMBRecipeResult.RecipeStepType}" FontSize="13" Padding="0,2,0,0" />
- <TextBlock Grid.Row="4" Grid.Column="1" FontSize="13" Padding="0,2,0,0" >
- <TextBlock.Text>
- <MultiBinding StringFormat="{}{0}/{1}">
- <Binding Path="PMBRecipeResult.RecipeStepDuringTime"></Binding>
- <Binding Path="PMBRecipeResult.RecipeStepSetTime"></Binding>
- </MultiBinding>
- </TextBlock.Text>
- </TextBlock>
- <TextBlock Grid.Row="2" Grid.Column="1" Text="{Binding PMBRecipeResult.RecipeStepDescription}" FontSize="13" Padding="0,2,0,0" />
- <!--<customControls:PathButton BorderThickness="0" PathData="{StaticResource Icon_Next}" Background="Transparent" DefaultFillBrush="Black" Foreground="White" Cursor="Hand" Grid.Row="6" Grid.Column="1" Command="{Binding EndStepCommand}" Margin="15,0,0,0" HorizontalAlignment="Left"/>-->
- <TextBlock Grid.Row="6" Grid.Column="1" FontSize="13" Padding="0,2,0,0" >
- <TextBlock.Text>
- <MultiBinding StringFormat="{}{0}/{1}">
- <Binding Path="PMBRecipeResult.RecipeCurrentCounter"></Binding>
- <Binding Path="PMBRecipeResult.RecipeAllCounters"></Binding>
- </MultiBinding>
- </TextBlock.Text>
- </TextBlock>
- <TextBlock Grid.Row="7" Grid.Column="1" FontSize="13" Padding="0,2,0,0" >
- <Run Text="{Binding RtDataValues[PMB.HighTemperatureHeater.DeviceData].HighTemperatureHeaterPositionFeedBack}" />
- <Run Text=" "/>
- <Run Text="{Binding RtDataValues[PMB.HighTemperatureHeater.DeviceData].HighTemperatureHeaterTemperatureFeedBack,StringFormat=F1}" />
- <Run Text="°C"/>
- </TextBlock>
- </Grid>
- <Grid x:Name="pmcGrid" Canvas.Left="800" Canvas.Top="50" Width="280" Height="180" Margin="0 0 0 10" Visibility="{Binding PMCIsInstalled,Converter={StaticResource bool2VisibilityConverter}}">
- <Grid.RowDefinitions>
- <RowDefinition Height="24"/>
- <RowDefinition/>
- <RowDefinition/>
- <RowDefinition/>
- <RowDefinition/>
- <RowDefinition/>
- <RowDefinition/>
- <RowDefinition/>
- </Grid.RowDefinitions>
- <Grid.ColumnDefinitions>
- <ColumnDefinition Width="90"/>
- <ColumnDefinition/>
- </Grid.ColumnDefinitions>
- <TextBlock Grid.Row="0" Text="PMC" Grid.ColumnSpan="2" FontSize="16" Padding="0,2,0,0" FontWeight="Bold"/>
- <TextBlock Grid.Row="1" Text="Name" FontSize="13" Padding="0,2,0,0" />
- <TextBlock Grid.Row="5" Text="Step Num" FontSize="13" Padding="0,2,0,0" />
- <TextBlock Grid.Row="3" Text="Step Type" FontSize="13" Padding="0,2,0,0" />
- <TextBlock Grid.Row="4" Text="Step Time(s)" FontSize="13" Padding="0,2,0,0" />
- <TextBlock Grid.Row="2" Text="Step Desc" FontSize="13" Padding="0,2,0,0" />
- <!--<TextBlock Grid.Row="6" Text="Next Step" FontSize="13" Padding="0,2,0,0" Background="#FAFAFA"/>-->
- <TextBlock Grid.Row="6" Text="Cycle Num" FontSize="13" Padding="0,2,0,0" />
- <TextBlock Grid.Row="7" Text="Heater Info" FontSize="13" Padding="0,2,0,0" />
- <TextBlock Grid.Row="1" Grid.Column="1" Text="{Binding PMCRecipeResult.RecipeName}" FontSize="13" Padding="0,2,0,0" />
- <TextBlock Grid.Row="5" Grid.Column="1" FontSize="13" Padding="0,2,0,0" >
- <TextBlock.Text>
- <MultiBinding StringFormat="{}{0}/{1}">
- <Binding Path="PMCRecipeResult.RecipeStepNumber"></Binding>
- <Binding Path="PMCRecipeResult.RecipeStepCount"></Binding>
- </MultiBinding>
- </TextBlock.Text>
- </TextBlock>
- <TextBlock Grid.Row="3" Grid.Column="1" Text="{Binding PMCRecipeResult.RecipeStepType}" FontSize="13" Padding="0,2,0,0" />
- <TextBlock Grid.Row="4" Grid.Column="1" FontSize="13" Padding="0,2,0,0" >
- <TextBlock.Text>
- <MultiBinding StringFormat="{}{0}/{1}">
- <Binding Path="PMCRecipeResult.RecipeStepDuringTime"></Binding>
- <Binding Path="PMCRecipeResult.RecipeStepSetTime"></Binding>
- </MultiBinding>
- </TextBlock.Text>
- </TextBlock>
- <TextBlock Grid.Row="2" Grid.Column="1" Text="{Binding PMCRecipeResult.RecipeStepDescription}" FontSize="13" Padding="0,2,0,0" />
- <!--<customControls:PathButton BorderThickness="0" PathData="{StaticResource Icon_Next}" Background="Transparent" DefaultFillBrush="Black" Foreground="White" Cursor="Hand" Grid.Row="6" Grid.Column="1" Command="{Binding EndStepCommand}" Margin="15,0,0,0" HorizontalAlignment="Left"/>-->
- <TextBlock Grid.Row="6" Grid.Column="1" FontSize="13" Padding="0,2,0,0" >
- <TextBlock.Text>
- <MultiBinding StringFormat="{}{0}/{1}">
- <Binding Path="PMCRecipeResult.RecipeCurrentCounter"></Binding>
- <Binding Path="PMCRecipeResult.RecipeAllCounters"></Binding>
- </MultiBinding>
- </TextBlock.Text>
- </TextBlock>
- <TextBlock Grid.Row="7" Grid.Column="1" FontSize="13" Padding="0,2,0,0" >
- <Run Text="{Binding RtDataValues[PMC.HighTemperatureHeater.DeviceData].HighTemperatureHeaterPositionFeedBack}" />
- <Run Text=" "/>
- <Run Text="{Binding RtDataValues[PMC.HighTemperatureHeater.DeviceData].HighTemperatureHeaterTemperatureFeedBack,StringFormat=F1}" />
- <Run Text="°C"/>
- </TextBlock>
- </Grid>
- <Grid x:Name="pmdGrid" Canvas.Left="800" Canvas.Top="250" Width="280" Height="180" Visibility="{Binding PMDIsInstalled,Converter={StaticResource bool2VisibilityConverter}}">
- <Grid.RowDefinitions>
- <RowDefinition Height="24"/>
- <RowDefinition/>
- <RowDefinition/>
- <RowDefinition/>
- <RowDefinition/>
- <RowDefinition/>
- <RowDefinition/>
- <RowDefinition/>
- </Grid.RowDefinitions>
- <Grid.ColumnDefinitions>
- <ColumnDefinition Width="90"/>
- <ColumnDefinition/>
- </Grid.ColumnDefinitions>
- <TextBlock Grid.Row="0" Text="PMD" Grid.ColumnSpan="2" FontSize="16" Padding="0,2,0,0" FontWeight="Bold"/>
- <TextBlock Grid.Row="1" Text="Name" FontSize="13" Padding="0,2,0,0" />
- <TextBlock Grid.Row="5" Text="Step Num" FontSize="13" Padding="0,2,0,0" />
- <TextBlock Grid.Row="3" Text="Step Type" FontSize="13" Padding="0,2,0,0" />
- <TextBlock Grid.Row="4" Text="Step Time(s)" FontSize="13" Padding="0,2,0,0" />
- <TextBlock Grid.Row="2" Text="Step Desc" FontSize="13" Padding="0,2,0,0" />
- <!--<TextBlock Grid.Row="6" Text="Next Step" FontSize="13" Padding="0,2,0,0" Background="#FAFAFA"/>-->
- <TextBlock Grid.Row="6" Text="Cycle Num" FontSize="13" Padding="0,2,0,0" />
- <TextBlock Grid.Row="7" Text="Heater Info" FontSize="13" Padding="0,2,0,0" />
- <TextBlock Grid.Row="1" Grid.Column="1" Text="{Binding PMDRecipeResult.RecipeName}" FontSize="13" Padding="0,2,0,0" />
- <TextBlock Grid.Row="5" Grid.Column="1" FontSize="13" Padding="0,2,0,0" >
- <TextBlock.Text>
- <MultiBinding StringFormat="{}{0}/{1}">
- <Binding Path="PMDRecipeResult.RecipeStepNumber"></Binding>
- <Binding Path="PMDRecipeResult.RecipeStepCount"></Binding>
- </MultiBinding>
- </TextBlock.Text>
- </TextBlock>
- <TextBlock Grid.Row="3" Grid.Column="1" Text="{Binding PMDRecipeResult.RecipeStepType}" FontSize="13" Padding="0,2,0,0" />
- <TextBlock Grid.Row="4" Grid.Column="1" FontSize="13" Padding="0,2,0,0" >
- <TextBlock.Text>
- <MultiBinding StringFormat="{}{0}/{1}">
- <Binding Path="PMDRecipeResult.RecipeStepDuringTime"></Binding>
- <Binding Path="PMDRecipeResult.RecipeStepSetTime"></Binding>
- </MultiBinding>
- </TextBlock.Text>
- </TextBlock>
- <TextBlock Grid.Row="2" Grid.Column="1" Text="{Binding PMDRecipeResult.RecipeStepDescription}" FontSize="13" Padding="0,2,0,0" />
- <!--<customControls:PathButton BorderThickness="0" PathData="{StaticResource Icon_Next}" Background="Transparent" DefaultFillBrush="Black" Foreground="White" Cursor="Hand" Grid.Row="6" Grid.Column="1" Command="{Binding EndStepCommand}" Margin="15,0,0,0" HorizontalAlignment="Left"/>-->
- <TextBlock Grid.Row="6" Grid.Column="1" FontSize="13" Padding="0,2,0,0" >
- <TextBlock.Text>
- <MultiBinding StringFormat="{}{0}/{1}">
- <Binding Path="PMDRecipeResult.RecipeCurrentCounter"></Binding>
- <Binding Path="PMDRecipeResult.RecipeAllCounters"></Binding>
- </MultiBinding>
- </TextBlock.Text>
- </TextBlock>
- <TextBlock Grid.Row="7" Grid.Column="1" FontSize="13" Padding="0,2,0,0" >
- <Run Text="{Binding RtDataValues[PMD.HighTemperatureHeater.DeviceData].HighTemperatureHeaterPositionFeedBack}" />
- <Run Text=" "/>
- <Run Text="{Binding RtDataValues[PMD.HighTemperatureHeater.DeviceData].HighTemperatureHeaterTemperatureFeedBack,StringFormat=F1}" />
- <Run Text="°C"/>
- </TextBlock>
- </Grid>
- <Canvas Canvas.Top="40" Canvas.Left="-25">
- <Canvas Canvas.Left="176">
- <Viewbox Width="760" Height="760" Canvas.Top="100" Canvas.Left="-24" Stretch="Fill">
- <Canvas Width="1000" Height="1000">
- <Canvas Canvas.Top="-300" Canvas.Left="00" Width="450" Height="800" x:Name="moduleCanvas">
- <ctrls:NiceMainTMWithLoadLock Canvas.Left="380" Canvas.Top="90"
- PMADoorIsOpen="{Binding RtDataValues[TM.PMASlitDoor.IsClosed],Converter={StaticResource BoolToBool}}" PMBDoorIsOpen="{Binding RtDataValues[TM.PMBSlitDoor.IsClosed],Converter={StaticResource BoolToBool}}" PMCDoorIsOpen="{Binding RtDataValues[TM.PMCSlitDoor.IsClosed],Converter={StaticResource BoolToBool}}" PMDDoorIsOpen="{Binding RtDataValues[TM.PMDSlitDoor.IsClosed],Converter={StaticResource BoolToBool}}" LLATDoorIsOpen="{Binding RtDataValues[TM.LLATSlitDoor.IsClosed],Converter={StaticResource BoolToBool}}" LLBTDoorIsOpen="{Binding RtDataValues[TM.LLBTSlitDoor.IsClosed],Converter={StaticResource BoolToBool}}" LLAEDoorIsOpen="{Binding RtDataValues[TM.LLAESlitDoor.IsClosed],Converter={StaticResource BoolToBool}}" LLBEDoorIsOpen="{Binding RtDataValues[TM.LLBESlitDoor.IsClosed],Converter={StaticResource BoolToBool}}"
- TMIsOnline="{Binding RtDataValues[TM.IsOnline]}" LLAIsOnline="{Binding RtDataValues[LLA.IsOnline]}" LLBIsOnline="{Binding RtDataValues[LLB.IsOnline]}"
- LLAWafer="{Binding LLAWafer}" LLBWafer="{Binding LLBWafer}" IsEnabled="{Binding RtDataValues[TM.IsOnline],Converter={StaticResource BoolToBool}}"/>
- <ctrls:XinSongRobot Width="95" Height="95" Canvas.Left="446" Canvas.Top="505" Blade1RobotXAction="{Binding Blade1NiceXinSongWaferRobotXAction}" Blade2RobotXAction="{Binding Blade2NiceXinSongWaferRobotXAction}" BladeRobotTAction="{Binding BladeNiceXinSongWaferRobotTAction}" Blade1RobotWafer="{Binding TMBladeAWafer}" Blade2RobotWafer="{Binding TMBladeBWafer}" Opacity="{Binding RtDataValues[TM.IsOnline],Converter={StaticResource IsOnlineToOpacityConverter}}" IsEnabled="False"/>
- <TextBlock Canvas.Left="430" Canvas.Top="605" FontSize="20" Width="180" Block.TextAlignment="Center" Opacity="{Binding RtDataValues[TM.IsOnline],Converter={StaticResource IsOnlineToOpacityConverter}}">
- <TextBlock.Text>
- <MultiBinding StringFormat="{}TM({0:F1}{1})">
- <Binding Path="RtDataValues[TM.TMProcessGauge.Value]"/>
- <Binding Path="PressureType"/>
- </MultiBinding>
- </TextBlock.Text>
- </TextBlock>
- <ctrls:NiceTMChamber x:Name="pmaChamber" ModuleName="PMA" RotateTransformValue="-90" Width="162" Height="162" Canvas.Left="225" Canvas.Top="607" RobotWafer="{Binding PMAWafer}" Opacity="{Binding RtDataValues[PMA.IsOnline],Converter={StaticResource IsOnlineToOpacityConverter}}" IsEnabled="{Binding RtDataValues[PMA.IsOnline],Converter={StaticResource BoolToBool}}" PressureValue="{Binding RtDataValues[PMA.CalculationPressure]}" Unit="{Binding PressureType}" ChamberType="{Binding PMAChamberType}"/>
- <ctrls:NiceTMChamber x:Name="pmbChamber" ModuleName="PMB" RotateTransformValue="-30" Width="162" Height="162" Canvas.Left="305" Canvas.Top="307" RobotWafer="{Binding PMBWafer}" Opacity="{Binding RtDataValues[PMB.IsOnline],Converter={StaticResource IsOnlineToOpacityConverter}}" IsEnabled="{Binding RtDataValues[PMB.IsOnline],Converter={StaticResource BoolToBool}}" PressureValue="{Binding RtDataValues[PMB.CalculationPressure]}" Unit="{Binding PressureType}" ChamberType="{Binding PMBChamberType}"/>
- <ctrls:NiceTMChamber x:Name="pmcChamber" ModuleName="PMC" RotateTransformValue="30" Width="162" Height="162" Canvas.Left="608" Canvas.Top="227" RobotWafer="{Binding PMCWafer}" Opacity="{Binding RtDataValues[PMC.IsOnline],Converter={StaticResource IsOnlineToOpacityConverter}}" IsEnabled="{Binding RtDataValues[PMC.IsOnline],Converter={StaticResource BoolToBool}}" PressureValue="{Binding RtDataValues[PMC.CalculationPressure]}" Unit="{Binding PressureType}" ChamberType="{Binding PMCChamberType}"/>
- <ctrls:NiceTMChamber x:Name="pmdChamber" ModuleName="PMD" RotateTransformValue="90" Width="162" Height="162" Canvas.Left="826" Canvas.Top="443" RobotWafer="{Binding PMDWafer}" Opacity="{Binding RtDataValues[PMD.IsOnline],Converter={StaticResource IsOnlineToOpacityConverter}}" IsEnabled="{Binding RtDataValues[PMD.IsOnline],Converter={StaticResource BoolToBool}}" PressureValue="{Binding RtDataValues[PMD.CalculationPressure]}" Unit="{Binding PressureType}" ChamberType="{Binding PMDChamberType}"/>
- <userControls:NiceEFEM Canvas.Left="220" Canvas.Top="795" Width="600" Height="410"
- Aligner1Wafer="{Binding Aligner1Wafer}" RobotAWaferInfo="{Binding EFEMBladeAWafer}" RobotBWaferInfo="{Binding EFEMBladeBWafer}"
- Blade1RobotXAction="{Binding Blade1NiceGuangChuanWaferRobotXAction}" Blade2RobotXAction="{Binding Blade2NiceGuangChuanWaferRobotXAction}" BladeRobotTAction="{Binding BladeNiceGuangChuanWaferRobotTAction}"
- LP1Presented="{Binding RtDataValues[LP1.CassettePlaced]}" LP2Presented="{Binding RtDataValues[LP2.CassettePlaced]}" LP3Presented="{Binding RtDataValues[LP3.CassettePlaced]}" LP1Loaded="{Binding RtDataValues[LP1.IsLoaded]}" LP2Loaded="{Binding RtDataValues[LP2.IsLoaded]}" LP3Loaded="{Binding RtDataValues[LP3.IsLoaded]}"
- Opacity="{Binding RtDataValues[EFEM.IsOnline],Converter={StaticResource IsOnlineToOpacityConverter}}" IsEnabled="{Binding RtDataValues[EFEM.IsOnline],Converter={StaticResource BoolToBool}}"/>
- </Canvas>
- </Canvas>
- </Viewbox>
- </Canvas>
- <!--<TextBlock Canvas.Top="465" Canvas.Left="230" Text="LLA" Visibility="{Binding LLAIsInstalled,Converter={StaticResource bool2VisibilityConverter}}"></TextBlock>
- <TextBlock Canvas.Top="465" Canvas.Left="910" Text="LLB" Visibility="{Binding LLBIsInstalled,Converter={StaticResource bool2VisibilityConverter}}"></TextBlock>-->
- <userControls:EFEMFrontView UnitData="{Binding TMModuleInfo}" Title="TM Robot" Canvas.Top="530" Canvas.Left="100" IsEnabled="{Binding RtDataValues[TM.IsOnline],Converter={StaticResource BoolToBool}}" SlotWidth="74"/>
- <userControls:FOUPFrontView UnitData="{Binding LLAModuleInfo}" VerticalAlignment="Top" Canvas.Top="450" Canvas.Left="120" Visibility="{Binding LLAIsInstalled,Converter={StaticResource bool2VisibilityConverter}}" ShowTitle="True" IsEnabled="{Binding RtDataValues[LLA.IsOnline],Converter={StaticResource BoolToBool}}" SlotWidth="76"/>
- <userControls:FOUPFrontView UnitData="{Binding LLBModuleInfo}" VerticalAlignment="Top" Canvas.Top="450" Canvas.Left="840" Visibility="{Binding LLBIsInstalled,Converter={StaticResource bool2VisibilityConverter}}" ShowTitle="True" IsEnabled="{Binding RtDataValues[LLB.IsOnline],Converter={StaticResource BoolToBool}}" SlotWidth="76"/>
- <userControls:EFEMFrontView UnitData="{Binding EFEMModuleInfo}" Title="Efem Robot" Canvas.Top="530" Canvas.Left="840" IsEnabled="{Binding RtDataValues[EFEM.IsOnline],Converter={StaticResource BoolToBool}}" SlotWidth="74"/>
- <Canvas Canvas.Top="-40" Canvas.Left="30">
- <userControls:TextBlockWithLabel Canvas.Left="254" Canvas.Top="422" LabelValue="{Binding PressureType, StringFormat=CM5({0})}" TextBoxValue="{Binding RtDataValues[TM.LLAPressureGauge.Value],StringFormat='F1'}"/>
- <Ellipse Width="15" Height="15" Canvas.Left="360" Canvas.Top="426" Fill="{Binding RtDataValues[TM.IoSensor.LLAATMSwitch.Value],Converter={StaticResource boolToColor}}" Stroke="Silver" StrokeThickness="0"></Ellipse>
- <Ellipse Width="15" Height="15" Canvas.Left="360" Canvas.Top="446" Fill="{Binding RtDataValues[TM.IoSensor.LLAVacSwitch.Value],Converter={StaticResource boolToColor}}" Stroke="Silver" StrokeThickness="0"></Ellipse>
- <TextBlock Text="ATM" Canvas.Left="330" Canvas.Top="426"/>
- <TextBlock Text="VAC" Canvas.Left="330" Canvas.Top="446"/>
- </Canvas>
- <Canvas Canvas.Top="-40" Canvas.Left="-125">
- <userControls:TextBlockWithLabel Canvas.Left="870" Canvas.Top="422" LabelValue="{Binding PressureType, StringFormat=CM4({0})}" TextBoxValue="{Binding RtDataValues[TM.LLBPressureGauge.Value],StringFormat='F1'}"/>
- <Ellipse Width="15" Height="15" Canvas.Left="820" Canvas.Top="426" Fill="{Binding RtDataValues[TM.IoSensor.LLBATMSwitch.Value],Converter={StaticResource boolToColor}}" Stroke="Silver" StrokeThickness="0"></Ellipse>
- <Ellipse Width="15" Height="15" Canvas.Left="820" Canvas.Top="446" Fill="{Binding RtDataValues[TM.IoSensor.LLBVacSwitch.Value],Converter={StaticResource boolToColor}}" Stroke="Silver" StrokeThickness="0"></Ellipse>
- <TextBlock Text="ATM" Canvas.Left="840" Canvas.Top="426"/>
- <TextBlock Text="VAC" Canvas.Left="840" Canvas.Top="446"/>
- </Canvas>
- <TextBlock Canvas.Left="310" Canvas.Top="436" FontSize="14">
- <TextBlock.Text>
- <MultiBinding StringFormat="{}CoolingTime:{0}s">
- <Binding Path="RtDataValues[LLA.CoolingTime]"/>
- </MultiBinding>
- </TextBlock.Text>
- </TextBlock>
- <TextBlock Canvas.Left="690" Canvas.Top="436" FontSize="14">
- <TextBlock.Text>
- <MultiBinding StringFormat="{}CoolingTime:{0}s">
- <Binding Path="RtDataValues[LLB.CoolingTime]"/>
- </MultiBinding>
- </TextBlock.Text>
- </TextBlock>
- </Canvas>
- </Canvas>
- <Canvas Grid.Column="1" Background="#C7D2DF">
- <TabPanel Margin="14 10 0 0">
- <StackPanel>
- <Border BorderThickness="0,0,0,0" BorderBrush="#076DB6" Canvas.Left="10" Width="810" Margin="0 2 0 0" Background="#FAFAFA" HorizontalAlignment="Center" VerticalAlignment="Center" Height="35">
- <StackPanel Orientation="Horizontal" Margin="26,0,0,0" VerticalAlignment="Center">
- <Button Width="105" Height="26" Content="Home" Command="{Binding HomeAllCommand}" Margin="5,0,0,0" IsEnabled="{Binding RtDataValues[System.IsAutoMode],Converter={StaticResource BoolToBool}}" FontSize="15"/>
- <Button Width="105" Height="26" Content="Return Wafer" Command="{Binding ReturnAllWaferCommand}" IsEnabled="{Binding RtDataValues[System.IsAutoMode],Converter={StaticResource BoolToBool}}" Margin="30,0,0,0" FontSize="15"/>
- <Button Width="105" Height="26" Content="Abort" Command="{Binding AbortAllCommand}" IsEnabled="{Binding RtDataValues[System.IsBusy]}" Margin="30 0 0 0" FontSize="15"/>
- <Button Width="105" Height="26" Content="{Binding RouteState}" Command="{Binding ResumeAllJobCommand}" IsEnabled="{Binding RtDataValues[System.IsAutoMode]}" Margin="30 0 0 0" FontSize="15"/>
- <RadioButton Content="Manual" FontSize="14" Width="105" Height="26" Margin="30 0 5 0" Style="{StaticResource Button_RadioButton}" Command="{Binding EnableManualCommand}" IsChecked="{Binding RtDataValues[System.IsAutoMode],Converter={StaticResource BoolToBool}}" />
- <RadioButton Content="Auto" FontSize="14" Width="105" Height="26" Margin="0 0 0 0" Style="{StaticResource Button_RadioButton}" Command="{Binding EnableAutoCommand}" IsChecked="{Binding RtDataValues[System.IsAutoMode]}"/>
- </StackPanel>
- </Border>
- <StackPanel Orientation="Horizontal" Margin="0 5 0 0">
- <StackPanel Margin="2">
- <TextBox Background="{StaticResource titleColor}" Text="LP1" Width="Auto" Height="30" HorizontalContentAlignment="Center" VerticalContentAlignment="Center" IsReadOnly="True" Foreground="White" FontSize="16"/>
- <local:KeplerWaferAssociationUnit WAInfo="{Binding LP1WaferAssociation}" ButtonIsEnable="{Binding ButtonIsEnableLP1}" CarrierId="{Binding RtDataValues[LP1.CarrierId]}">
- <local:KeplerWaferAssociationUnit.CycleInfo>
- <MultiBinding StringFormat="{}{0}/{1} Wafer Count: {2}">
- <Binding Path="RtDataValues[LP1.CycleSetPoint]"></Binding>
- <Binding Path="RtDataValues[LP1.CycledCount]"></Binding>
- <Binding Path="RtDataValues[LP1.CycledWafer]"></Binding>
- </MultiBinding>
- </local:KeplerWaferAssociationUnit.CycleInfo>
- </local:KeplerWaferAssociationUnit>
- <StackPanel Orientation="Horizontal" HorizontalAlignment="Center" IsEnabled="{Binding ButtonIsEnableLP1}">
- <Button Content="Load" HorizontalAlignment="Center" Margin="0,15,0,0" Width="85" Height="26" Command="{Binding LoadWaferCommand}" CommandParameter="LP1" IsEnabled="{Binding RtDataValues[LP1.IsLoaded],Converter={StaticResource BoolToBool}}" FontSize="14"/>
- <Button Content="UnLoad" HorizontalAlignment="Center" Margin="10,15,0,0" Width="85" Height="26" Command="{Binding UnLoadWaferCommand}" CommandParameter="LP1" IsEnabled="{Binding RtDataValues[LP1.IsLoaded]}" FontSize="14"/>
- </StackPanel>
- </StackPanel>
- <StackPanel Margin="2">
- <TextBox Background="{StaticResource titleColor}" Text="LP2" Width="Auto" Height="30" HorizontalContentAlignment="Center" VerticalContentAlignment="Center" IsReadOnly="True" Foreground="White" FontSize="16"/>
- <local:KeplerWaferAssociationUnit WAInfo="{Binding LP2WaferAssociation}" ButtonIsEnable="{Binding ButtonIsEnableLP2}" CarrierId="{Binding RtDataValues[LP2.CarrierId]}">
- <local:KeplerWaferAssociationUnit.CycleInfo>
- <MultiBinding StringFormat="{}{0}/{1} Wafer Count: {2}">
- <Binding Path="RtDataValues[LP2.CycleSetPoint]"></Binding>
- <Binding Path="RtDataValues[LP2.CycledCount]"></Binding>
- <Binding Path="RtDataValues[LP2.CycledWafer]"></Binding>
- </MultiBinding>
- </local:KeplerWaferAssociationUnit.CycleInfo>
- </local:KeplerWaferAssociationUnit>
- <StackPanel Orientation="Horizontal" HorizontalAlignment="Center" IsEnabled="{Binding ButtonIsEnableLP2}">
- <Button Content="Load" HorizontalAlignment="Center" Margin="0,15,0,0" Width="85" Height="25" Command="{Binding LoadWaferCommand}" CommandParameter="LP2" IsEnabled="{Binding RtDataValues[LP2.IsLoaded],Converter={StaticResource BoolToBool}}" FontSize="14"/>
- <Button Content="UnLoad" HorizontalAlignment="Center" Margin="10,15,0,0" Width="85" Height="25" Command="{Binding UnLoadWaferCommand}" CommandParameter="LP2" IsEnabled="{Binding RtDataValues[LP2.IsLoaded]}" FontSize="14"/>
- </StackPanel>
- </StackPanel>
- <StackPanel Margin="2">
- <TextBox Background="{StaticResource titleColor}" Text="LP3" Width="Auto" Height="30" HorizontalContentAlignment="Center" VerticalContentAlignment="Center" IsReadOnly="True" Foreground="White" FontSize="16"/>
- <local:KeplerWaferAssociationUnit WAInfo="{Binding LP3WaferAssociation}" ButtonIsEnable="{Binding ButtonIsEnableLP3}" CarrierId="{Binding RtDataValues[LP3.CarrierId]}">
- <local:KeplerWaferAssociationUnit.CycleInfo>
- <MultiBinding StringFormat="{}{0}/{1} Wafer Count: {2}">
- <Binding Path="RtDataValues[LP3.CycleSetPoint]"></Binding>
- <Binding Path="RtDataValues[LP3.CycledCount]"></Binding>
- <Binding Path="RtDataValues[LP3.CycledWafer]"></Binding>
- </MultiBinding>
- </local:KeplerWaferAssociationUnit.CycleInfo>
- </local:KeplerWaferAssociationUnit>
- <StackPanel Orientation="Horizontal" HorizontalAlignment="Center" IsEnabled="{Binding ButtonIsEnableLP3}">
- <Button Content="Load" HorizontalAlignment="Center" Margin="0,15,0,0" Width="85" Height="25" Command="{Binding LoadWaferCommand}" CommandParameter="LP3" IsEnabled="{Binding RtDataValues[LP3.IsLoaded],Converter={StaticResource BoolToBool}}" FontSize="14"/>
- <Button Content="UnLoad" HorizontalAlignment="Center" Margin="10,15,0,0" Width="85" Height="25" Command="{Binding UnLoadWaferCommand}" CommandParameter="LP3" IsEnabled="{Binding RtDataValues[LP3.IsLoaded]}" FontSize="14"/>
- </StackPanel>
- </StackPanel>
- </StackPanel>
- </StackPanel>
-
- </TabPanel>
- </Canvas>
- </Grid>
- </UserControl>
|