Browse Source

修复配置文件不能修改bug
设计loadport ui

lixiang 1 year ago
parent
commit
a8582aeee2

+ 43 - 43
Venus/Venus_MainPages/ViewModels/OverKepler2300ViewModel.cs

@@ -104,7 +104,7 @@ namespace Venus_MainPages.ViewModels
 
         private AITPendulumValveData m_PendulumValveData;
 
-        private AITHVData m_ESCHVData;
+        //private AITHVData m_ESCHVData;
 
         private PMState m_PMCurrentState;
 
@@ -161,7 +161,7 @@ namespace Venus_MainPages.ViewModels
         private bool m_IsLidClosed;
 
         private float m_ChillerTemperature;
-        private float m_HVTemperature;
+        //private float m_HVTemperature;
 
 
         private int m_ESCHVOutputVoltage;
@@ -284,14 +284,14 @@ namespace Venus_MainPages.ViewModels
             }
         }
 
-        public AITHVData ESCHVData
-        {
-            get { return m_ESCHVData; }
-            set
-            {
-                SetProperty(ref m_ESCHVData, value);
-            }
-        }
+        //public AITHVData ESCHVData
+        //{
+        //    get { return m_ESCHVData; }
+        //    set
+        //    {
+        //        SetProperty(ref m_ESCHVData, value);
+        //    }
+        //}
         public int ESCHVOutputVoltage
         {
             get { return m_ESCHVOutputVoltage; }
@@ -308,14 +308,14 @@ namespace Venus_MainPages.ViewModels
                 SetProperty(ref m_ChillerTemperature, value);
             }
         }
-        public float HVTemperature
-        {
-            get { return m_HVTemperature; }
-            set
-            {
-                SetProperty(ref m_HVTemperature, value);
-            }
-        }
+        //public float HVTemperature
+        //{
+        //    get { return m_HVTemperature; }
+        //    set
+        //    {
+        //        SetProperty(ref m_HVTemperature, value);
+        //    }
+        //}
         public bool IsLidClosed
         {
             get { return m_IsLidClosed; }
@@ -951,9 +951,9 @@ namespace Venus_MainPages.ViewModels
         public DelegateCommand OpenButterflyValveViewCommand =>
             _OpenButterflyValveViewCommand ?? (_OpenButterflyValveViewCommand = new DelegateCommand(OnOpenButterflyValveView));
 
-        private DelegateCommand _HVCommand;
-        public DelegateCommand HVCommand =>
-            _HVCommand ?? (_HVCommand = new DelegateCommand(OnHV));
+        //private DelegateCommand _HVCommand;
+        //public DelegateCommand HVCommand =>
+        //    _HVCommand ?? (_HVCommand = new DelegateCommand(OnHV));
 
         private DelegateCommand _HVSetCommand;
         public DelegateCommand HVSetCommand =>
@@ -1309,26 +1309,26 @@ namespace Venus_MainPages.ViewModels
             CurrentModuleRecipes = GetFilesNames(Path.Combine(QueryDataClient.Instance.Service.GetData("GetRTPath").ToString(), "Recipes", ModuleName)).ToList();
         }
 
-        private async void OnHV()
-        {
-            if (ESCHVData.IsOn == true)
-            {
-                InvokeClient.Instance.Service.DoOperation($"{ModuleName}.SetESCHVIsOn", false);
-
-            }
-            else
-            {
-                await Task.Run(async () =>
-                {
-                    InvokeClient.Instance.Service.DoOperation($"{ModuleName}.SetESCHVIsOn", true);
-                    await Task.Delay(1000);
-                    InvokeClient.Instance.Service.DoOperation($"{ModuleName}.SetESCHV", ESCVoltage);
-
-                });
-            }
+        //private async void OnHV()
+        //{
+        //    if (ESCHVData.IsOn == true)
+        //    {
+        //        InvokeClient.Instance.Service.DoOperation($"{ModuleName}.SetESCHVIsOn", false);
+
+        //    }
+        //    else
+        //    {
+        //        await Task.Run(async () =>
+        //        {
+        //            InvokeClient.Instance.Service.DoOperation($"{ModuleName}.SetESCHVIsOn", true);
+        //            await Task.Delay(1000);
+        //            InvokeClient.Instance.Service.DoOperation($"{ModuleName}.SetESCHV", ESCVoltage);
+
+        //        });
+        //    }
            
             
-        }
+        //}
         private void OnHVSet()
         { 
             InvokeClient.Instance.Service.DoOperation($"{ModuleName}.SetESCHV", ESCVoltage);
@@ -1488,7 +1488,7 @@ namespace Venus_MainPages.ViewModels
             SRFData = CommonFunction.GetValue<AITRfData>(RtDataValues, $"{ModuleName}.{VenusDevice.Rf}.DeviceData");
             BRFData = CommonFunction.GetValue<AITRfData>(RtDataValues, $"{ModuleName}.{VenusDevice.BiasRf}.DeviceData");
             PendulumValveData = CommonFunction.GetValue<AITPendulumValveData>(RtDataValues, $"{ModuleName}.{VenusDevice.PendulumValve}.DeviceData");
-            ESCHVData= CommonFunction.GetValue<AITHVData>(RtDataValues, $"{ModuleName}.{VenusDevice.ESCHV}.DeviceData");
+            //ESCHVData= CommonFunction.GetValue<AITHVData>(RtDataValues, $"{ModuleName}.{VenusDevice.ESCHV}.DeviceData");
 
 
             ValveHeaterData = (AITHeaterData)RtDataValues[$"{ModuleName}.ValveHeater.DeviceData"];
@@ -1502,7 +1502,7 @@ namespace Venus_MainPages.ViewModels
 
             ChillerTemperature = float.Parse(RtDataValues[$"{ModuleName}.Chiller.Temp"].ToString());
 
-            HVTemperature = float.Parse(RtDataValues[$"{ModuleName}.{VenusDevice.ESCHV}.Temp"].ToString());
+            //HVTemperature = float.Parse(RtDataValues[$"{ModuleName}.{VenusDevice.ESCHV}.Temp"].ToString());
 
 
 
@@ -1632,14 +1632,14 @@ namespace Venus_MainPages.ViewModels
             m_RtDataKeys.Add($"{ModuleName}.{VenusDevice.BiasMatch}.C2");
 
             m_RtDataKeys.Add($"{ModuleName}.{VenusDevice.PendulumValve}.DeviceData");
-            m_RtDataKeys.Add($"{ModuleName}.{VenusDevice.ESCHV}.DeviceData");
+            //m_RtDataKeys.Add($"{ModuleName}.{VenusDevice.ESCHV}.DeviceData");
 
             m_RtDataKeys.Add($"{ModuleName}.TurboPumpRotationalSpeed");
 
             m_RtDataKeys.Add($"{ModuleName}.GetPVPosition");
 
             m_RtDataKeys.Add($"{ModuleName}.Chiller.Temp");
-            m_RtDataKeys.Add($"{ModuleName}.{VenusDevice.ESCHV}.Temp");
+            //m_RtDataKeys.Add($"{ModuleName}.{VenusDevice.ESCHV}.Temp");
 
             //m_RtDataKeys.Add($"{ModuleName}.ESCHV.OutputVoltage");
             //m_RtDataKeys.Add($"{ModuleName}.ESCHV.IsOn");

+ 7 - 7
Venus/Venus_MainPages/Views/EfemView.xaml

@@ -12,14 +12,14 @@
         <Canvas >
             <Viewbox Width="700" Height="700" Canvas.Top="100" Stretch="Fill">
                 <Canvas Width="1000" Height="1000">
-                    <!--<userControls:MainTM Width="300" Height="250" Canvas.Left="380" Canvas.Top="90"/>
+                    <userControls:MainTM Width="300" Height="250" Canvas.Left="380" Canvas.Top="90"/>
 
-                    <customControls:WaferRobotControl OriginT="PMA"    Canvas.Left="410" Canvas.Top="76"   Width="200" Height="300"   x:Name="robot"  RobotTAction="{Binding Robot1TAction}" RobotXAction="{Binding Robot1XAction}" RobotWafer="{Binding BladeAWafer}"/>
-                    <customControls:WaferRobotControl OriginT="PMD"    Canvas.Left="410" Canvas.Top="76"   Width="200" Height="300"   x:Name="robot2" RobotTAction="{Binding Robot2TAction}" RobotXAction="{Binding Robot2XAction}"  RobotWafer="{Binding BladeBWafer}"/>
+                    <!--<customControls:WaferRobotControl OriginT="PMA"    Canvas.Left="410" Canvas.Top="76"   Width="200" Height="300"   x:Name="robot"  RobotTAction="{Binding Robot1TAction}" RobotXAction="{Binding Robot1XAction}" RobotWafer="{Binding BladeAWafer}"/>
+                    <customControls:WaferRobotControl OriginT="PMD"    Canvas.Left="410" Canvas.Top="76"   Width="200" Height="300"   x:Name="robot2" RobotTAction="{Binding Robot2TAction}" RobotXAction="{Binding Robot2XAction}"  RobotWafer="{Binding BladeBWafer}"/>-->
 
 
                     <userControls:LoadLockLeft  Width="150" Height="150" Canvas.Top="310" Canvas.Left="358"  DoorIsOpen="{Binding RtDataValues[TM.LLATSlitDoor.IsClosed],Converter={StaticResource BoolToBool}}" Visibility="{Binding LLAIsInstalled,Converter={StaticResource bool2VisibilityConverter}}" RobotWafer="{Binding LLAWafer}"/>
-                    <userControls:LoadLockRight Width="150" Height="150" Canvas.Top="309" Canvas.Left="519"  DoorIsOpen="{Binding RtDataValues[TM.LLBTSlitDoor.IsClosed],Converter={StaticResource BoolToBool}}" Visibility="{Binding LLBIsInstalled,Converter={StaticResource bool2VisibilityConverter}}" RobotWafer="{Binding LLBWafer}"/>-->
+                    <userControls:LoadLockRight Width="150" Height="150" Canvas.Top="309" Canvas.Left="519"  DoorIsOpen="{Binding RtDataValues[TM.LLBTSlitDoor.IsClosed],Converter={StaticResource BoolToBool}}" Visibility="{Binding LLBIsInstalled,Converter={StaticResource bool2VisibilityConverter}}" RobotWafer="{Binding LLBWafer}"/>
 
 
                     <!--<userControls:TMChamber x:Name="PMA" Canvas.Top="302"  Canvas.Left="233" Width="140" Height="140" RotateTransformValue="-90"  DoorIsOpen="{Binding RtDataValues[PMA.IsSlitDoorClosed],Converter={StaticResource BoolToBool}}" RobotWafer="{Binding PMAWafer}" Visibility="{Binding PMAIsInstalled,Converter={StaticResource bool2VisibilityConverter}}"/>
@@ -27,10 +27,10 @@
                     <userControls:TMChamber x:Name="PMC" Canvas.Top="-38"  Canvas.Left="588" Width="140" Height="140" RotateTransformValue="30"   DoorIsOpen="{Binding RtDataValues[PMC.IsSlitDoorClosed],Converter={StaticResource BoolToBool}}" RobotWafer="{Binding PMCWafer}" />
                     <userControls:TMChamber x:Name="PMD" Canvas.Top="160"  Canvas.Left="788" Width="140" Height="140" RotateTransformValue="90"   DoorIsOpen="{Binding RtDataValues[PMD.IsSlitDoorClosed],Converter={StaticResource BoolToBool}}" RobotWafer="{Binding PMDWafer}" />-->
                     
-                    <userControls:EFEM Width="600" Height="300" Canvas.Left="200" Canvas.Top="462"/>
+                    <userControls:EFEM Width="600" Height="300" Canvas.Left="200" Canvas.Top="476"/>
 
-                    <customControls:WaferRobotControl OriginT="PMA"    Canvas.Left="400" Canvas.Top="460"   Width="200" Height="300"    RobotTAction="{Binding Robot1TAction}" RobotXAction="{Binding Robot1XAction}" RobotWafer="{Binding BladeAWafer}"/>
-                    <customControls:WaferRobotControl OriginT="PMD"    Canvas.Left="400" Canvas.Top="460"   Width="200" Height="300"    RobotTAction="{Binding Robot2TAction}" RobotXAction="{Binding Robot2XAction}"  RobotWafer="{Binding BladeBWafer}"/>
+                    <customControls:WaferRobotControl OriginT="PMA"    Canvas.Left="400" Canvas.Top="473"   Width="200" Height="300"    RobotTAction="{Binding Robot1TAction}" RobotXAction="{Binding Robot1XAction}" RobotWafer="{Binding BladeAWafer}"/>
+                    <customControls:WaferRobotControl OriginT="PMD"    Canvas.Left="400" Canvas.Top="473"   Width="200" Height="300"    RobotTAction="{Binding Robot2TAction}" RobotXAction="{Binding Robot2XAction}"  RobotWafer="{Binding BladeBWafer}"/>
                 </Canvas>
                
             </Viewbox>

+ 4 - 7
Venus/Venus_MainPages/Views/OperationOverView.xaml

@@ -40,17 +40,14 @@
                     <userControls:TMChamber x:Name="PMC" Canvas.Top="-38"  Canvas.Left="588" Width="140" Height="140" RotateTransformValue="30"   DoorIsOpen="{Binding RtDataValues[PMC.IsSlitDoorClosed],Converter={StaticResource BoolToBool}}" RobotWafer="{Binding PMCWafer}" PMVisibility="{Binding PMCIsInstalled,Converter={StaticResource bool2VisibilityConverter}}"/>
                     <userControls:TMChamber x:Name="PMD" Canvas.Top="160"  Canvas.Left="788" Width="140" Height="140" RotateTransformValue="90"   DoorIsOpen="{Binding RtDataValues[PMD.IsSlitDoorClosed],Converter={StaticResource BoolToBool}}" RobotWafer="{Binding PMDWafer}" PMVisibility="{Binding PMDIsInstalled,Converter={StaticResource bool2VisibilityConverter}}"/>
 
-                    <userControls:EFEM Width="600" Height="300" Canvas.Left="200" Canvas.Top="474"/>
+                    <userControls:EFEM Width="600" Height="300" Canvas.Left="200" Canvas.Top="480"/>
 
-                    <customControls:WaferRobotControl OriginT="PMA"    Canvas.Left="400" Canvas.Top="460"   Width="200" Height="300"    RobotTAction="{Binding Robot3TAction}" RobotXAction="{Binding Robot3XAction}"  RobotWafer="{Binding BladeCWafer}"/>
-                    <customControls:WaferRobotControl OriginT="PMD"    Canvas.Left="400" Canvas.Top="460"   Width="200" Height="300"    RobotTAction="{Binding Robot4TAction}" RobotXAction="{Binding Robot4XAction}"  RobotWafer="{Binding BladeDWafer}"/>
+                    <customControls:WaferRobotControl OriginT="PMA"    Canvas.Left="407" Canvas.Top="470"   Width="200" Height="300"    RobotTAction="{Binding Robot3TAction}" RobotXAction="{Binding Robot3XAction}"  RobotWafer="{Binding BladeCWafer}"/>
+                    <customControls:WaferRobotControl OriginT="PMD"    Canvas.Left="407" Canvas.Top="470"   Width="200" Height="300"    RobotTAction="{Binding Robot4TAction}" RobotXAction="{Binding Robot4XAction}"  RobotWafer="{Binding BladeDWafer}"/>
                 </Canvas>
 
             </Viewbox>
-            <ctrls:Foup Canvas.Top="638" Canvas.Left="150" Width="85" Height="145"/>
-            <ctrls:Foup Canvas.Top="638" Canvas.Left="310" Width="85" Height="145"/>
-
-            <ctrls:Foup Canvas.Top="638" Canvas.Left="460" Width="85" Height="145"/>
+            
         </Canvas>
 
         <Canvas Canvas.Left="-150">

+ 2 - 2
Venus/Venus_MainPages/Views/OverVenusView.xaml

@@ -616,8 +616,8 @@
             </Viewbox>-->
             <ctrls:ZhenValve Width="34" Height="34" Canvas.Top="585.5" Canvas.Left="1095"/>
             <ctrls:FlowPipe   Height="8"  Width="17"  Canvas.Left="1055"  Canvas.Top="659" RotateTransformValue="90" IsFlowing="{Binding PVHe2ValveIsOpen}"/>
-            <ctrls:FlowPipe   Height="8"  Width="66" Canvas.Left="1057"  Canvas.Top="680" IsFlowing="{Binding PVHe2ValveIsOpen}"/>
-            <ctrls:FlowPipe   Height="8"  Width="140" Canvas.Left="1120"  Canvas.Top="680" >
+            <ctrls:FlowPipe   Height="8"  Width="82" Canvas.Left="1058"  Canvas.Top="680" IsFlowing="{Binding PVHe2ValveIsOpen}"/>
+            <ctrls:FlowPipe   Height="8"  Width="120" Canvas.Left="1140"  Canvas.Top="680" >
                 <ctrls:FlowPipe.IsFlowing>
                     <MultiBinding Converter="{StaticResource toBoolMultiValueConverter2}">
                         <Binding Path="PVHe2ValveIsOpen"/>

+ 6 - 6
Venus/Venus_RT/Instances/ToolLoader.cs

@@ -46,7 +46,11 @@ namespace Venus_RT.Instances
 
             Singleton<ConfigManager>.Instance.Initialize();
 
-            Singleton<SystemConfigManager>.Instance.Initialize(PathManager.GetCfgDir() + "System.sccfg");
+            Singleton<DatabaseManager>.Instance.Initialize(
+              System.Configuration.ConfigurationManager.ConnectionStrings["PostgreSQL"].ConnectionString
+              , RtInstance.DatabaseName
+              , PathManager.GetCfgDir() + "DBModel.sql");
+
 
             Singleton<EventManager>.Instance.Initialize(PathManager.GetCfgDir() + "EventDefine.xml");
 
@@ -56,11 +60,7 @@ namespace Venus_RT.Instances
 
             RecipeFileManager.Instance.Initialize(new VenusRecipeFileContext(), new VenusSequenceFileContext(), true);
 
-
-            Singleton<DatabaseManager>.Instance.Initialize(
-               System.Configuration.ConfigurationManager.ConnectionStrings["PostgreSQL"].ConnectionString
-               , RtInstance.DatabaseName
-               , PathManager.GetCfgDir() + "DBModel.sql");
+            Singleton<SystemConfigManager>.Instance.Initialize(PathManager.GetCfgDir() + "System.sccfg");
 
             IoProviderManager.Instance.Initialize(PathManager.GetCfgDir() + "IoProviderConfig.xml");
 

+ 14 - 95
Venus/Venus_Themes/UserControls/EFEM.xaml

@@ -10,7 +10,7 @@
    
         <Border BorderThickness="0" BorderBrush="Gray">
             <Canvas  Width="1200" Height="600">
-                <Polygon Points="0,600 0,0 1200,0 1200,600 0,600"  Stroke="#FF000000" StrokeThickness="3" >
+                <Polygon Points="0,600 0,0 1200,0 1200,600 0,600"  Stroke="Gray" StrokeThickness="20" >
                     <Polygon.Fill>
                         <LinearGradientBrush StartPoint="0,0" EndPoint="1,1">
                             <GradientStop Color="Silver" Offset="0.0" />
@@ -30,19 +30,7 @@
                     </Ellipse.Fill>
                 </Ellipse>
 
-                <!--<Path  Stroke="White"  Canvas.Left="0"  Canvas.Top="40" StrokeThickness="2" Fill="Silver">
-                    <Path.Data>
-                        <GeometryGroup>
-                            <PathGeometry Figures="M 210,100 A 90,90 1 1 1 210,99.9"/>
-                            <PathGeometry Figures="M 200,100 A 80,80 1 1 1 200,99.9"/>
-                            <PathGeometry Figures="M 190,100 A 70,70 1 1 1 190,99.9" />
-                            <PathGeometry Figures="M 180,100 A 60,60 1 1 1 180,99.9" />
-                            <PathGeometry Figures="M 170,100 A 50,50 1 1 1 170,99.9" />
-                            <PathGeometry Figures="M 160,100 A 40,40 1 1 1 160,99.9" />
-                            <PathGeometry Figures="M 150,100 A 30,30 1 1 1 150,99.9" />
-                        </GeometryGroup>
-                    </Path.Data>
-                </Path>-->
+
                 <Viewbox Stretch="Uniform" Width="300" Height="300" Canvas.Left="-10"  Canvas.Top="-10">
 
                     <Canvas UseLayoutRounding="False"  Width="93.693" Height="112.5" HorizontalAlignment="Left" VerticalAlignment="Top">
@@ -71,96 +59,27 @@
                         </Canvas>
                     </Canvas>
                 </Viewbox>
-                <!--<Viewbox Stretch="Uniform" Width="300" Height="300" Canvas.Right="-10"  Canvas.Top="-10">
 
-                    <Canvas UseLayoutRounding="False"  Width="93.693" Height="112.5" HorizontalAlignment="Left" VerticalAlignment="Top">
-                        <Canvas  Width="72.522" Height="72.521" Canvas.Left="10.473" Canvas.Top="28.781">
-                            <Path Data="F1M10.473,65.041C10.473,85.068,26.708,101.302,46.734,101.302L46.734,101.302C66.761,101.302,82.995,85.068,82.995,65.041L82.995,65.041C82.995,45.015,66.761,28.781,46.734,28.781L46.734,28.781C26.708,28.781,10.473,45.015,10.473,65.041" Stretch="Fill" Width="72.522" Height="72.521" Canvas.Left="0" Canvas.Top="0">
-                                <Path.Fill>
-                                    <RadialGradientBrush Center="0.5,0.5" RadiusX="0.5" RadiusY="0.5" GradientOrigin="0.5,0.5">
-                                        <RadialGradientBrush.GradientStops>
-                                            <GradientStop Color="#FFE5E2DF" Offset="0" />
-                                            <GradientStop Color="#FFFFFFFF" Offset="0" />
-                                            <GradientStop Color="#FFADAEB0" Offset="0.52" />
-                                            <GradientStop Color="sc#1, 0.238698155, 0.250727534, 0.259264916" Offset="0.82" />
-                                            <GradientStop Color="#FF454F52" Offset="1" />
-                                        </RadialGradientBrush.GradientStops>
-                                    </RadialGradientBrush>
-                                </Path.Fill>
-                            </Path>
-                            <Path Data="M46.8477,55.6938C52.0087,55.6938 56.1937,59.8788 56.1937,65.0398 56.1937,70.2008 52.0087,74.3858 46.8477,74.3858 41.6857,74.3858 37.5007,70.2008 37.5007,65.0398 37.5007,59.8788 41.6857,55.6938 46.8477,55.6938z" Stretch="Fill" Stroke="White" StrokeThickness="0.25" Width="18.943" Height="18.942" Canvas.Left="26.903" Canvas.Top="26.788" />
-                        </Canvas>
-                        <Canvas  Width="5.857" Height="5.855" Canvas.Left="43.919" Canvas.Top="62.113">
-                            <Path Data="M46.8477,62.1133C48.4637,62.1133 49.7757,63.4243 49.7757,65.0413 49.7757,66.6583 48.4637,67.9683 46.8477,67.9683 45.2307,67.9683 43.9187,66.6583 43.9187,65.0413 43.9187,63.4243 45.2307,62.1133 46.8477,62.1133z" Stretch="Fill" Fill="LightBlue" Stroke="#FF4C4C4C" StrokeThickness="0.25" Width="6.107" Height="6.105" Canvas.Left="-0.125" Canvas.Top="-0.125" />
-                        </Canvas>
-                        <Canvas  Width="56.555" Height="56.556" Canvas.Left="18.57" Canvas.Top="36.762">
-                            <Path Data="M46.8477,46.3472C57.1717,46.3472 65.5407,54.7172 65.5407,65.0412 65.5407,75.3652 57.1717,83.7342 46.8477,83.7342 36.5227,83.7342 28.1537,75.3652 28.1537,65.0412 28.1537,54.7172 36.5227,46.3472 46.8477,46.3472z" Stretch="Fill" Stroke="White" StrokeThickness="0.25" Width="37.637" Height="37.637" Canvas.Left="9.459" Canvas.Top="9.46" />
-                            <Path Data="M46.8477,36.8872C62.3957,36.8872 74.9997,49.4912 74.9997,65.0402 74.9997,80.5882 62.3957,93.1932 46.8477,93.1932 31.2987,93.1932 18.6947,80.5882 18.6947,65.0402 18.6947,49.4912 31.2987,36.8872 46.8477,36.8872z" Stretch="Fill" Stroke="White" StrokeThickness="0.25" Width="56.555" Height="56.556" />
-                        </Canvas>
-                    </Canvas>
-                </Viewbox>
-                <Viewbox Stretch="Uniform" Width="300" Height="300" Canvas.Left="-10"  Canvas.Bottom="0">
+               
 
-                    <Canvas UseLayoutRounding="False"  Width="93.693" Height="112.5" HorizontalAlignment="Left" VerticalAlignment="Top">
-                        <Canvas  Width="72.522" Height="72.521" Canvas.Left="10.473" Canvas.Top="28.781">
-                            <Path Data="F1M10.473,65.041C10.473,85.068,26.708,101.302,46.734,101.302L46.734,101.302C66.761,101.302,82.995,85.068,82.995,65.041L82.995,65.041C82.995,45.015,66.761,28.781,46.734,28.781L46.734,28.781C26.708,28.781,10.473,45.015,10.473,65.041" Stretch="Fill" Width="72.522" Height="72.521" Canvas.Left="0" Canvas.Top="0">
-                                <Path.Fill>
-                                    <RadialGradientBrush Center="0.5,0.5" RadiusX="0.5" RadiusY="0.5" GradientOrigin="0.5,0.5">
-                                        <RadialGradientBrush.GradientStops>
-                                            <GradientStop Color="#FFE5E2DF" Offset="0" />
-                                            <GradientStop Color="#FFFFFFFF" Offset="0" />
-                                            <GradientStop Color="#FFADAEB0" Offset="0.52" />
-                                            <GradientStop Color="sc#1, 0.238698155, 0.250727534, 0.259264916" Offset="0.82" />
-                                            <GradientStop Color="#FF454F52" Offset="1" />
-                                        </RadialGradientBrush.GradientStops>
-                                    </RadialGradientBrush>
-                                </Path.Fill>
-                            </Path>
-                            <Path Data="M46.8477,55.6938C52.0087,55.6938 56.1937,59.8788 56.1937,65.0398 56.1937,70.2008 52.0087,74.3858 46.8477,74.3858 41.6857,74.3858 37.5007,70.2008 37.5007,65.0398 37.5007,59.8788 41.6857,55.6938 46.8477,55.6938z" Stretch="Fill" Stroke="White" StrokeThickness="0.25" Width="18.943" Height="18.942" Canvas.Left="26.903" Canvas.Top="26.788" />
-                        </Canvas>
-                        <Canvas  Width="5.857" Height="5.855" Canvas.Left="43.919" Canvas.Top="62.113">
-                            <Path Data="M46.8477,62.1133C48.4637,62.1133 49.7757,63.4243 49.7757,65.0413 49.7757,66.6583 48.4637,67.9683 46.8477,67.9683 45.2307,67.9683 43.9187,66.6583 43.9187,65.0413 43.9187,63.4243 45.2307,62.1133 46.8477,62.1133z" Stretch="Fill" Fill="LightBlue" Stroke="#FF4C4C4C" StrokeThickness="0.25" Width="6.107" Height="6.105" Canvas.Left="-0.125" Canvas.Top="-0.125" />
-                        </Canvas>
-                        <Canvas  Width="56.555" Height="56.556" Canvas.Left="18.57" Canvas.Top="36.762">
-                            <Path Data="M46.8477,46.3472C57.1717,46.3472 65.5407,54.7172 65.5407,65.0412 65.5407,75.3652 57.1717,83.7342 46.8477,83.7342 36.5227,83.7342 28.1537,75.3652 28.1537,65.0412 28.1537,54.7172 36.5227,46.3472 46.8477,46.3472z" Stretch="Fill" Stroke="White" StrokeThickness="0.25" Width="37.637" Height="37.637" Canvas.Left="9.459" Canvas.Top="9.46" />
-                            <Path Data="M46.8477,36.8872C62.3957,36.8872 74.9997,49.4912 74.9997,65.0402 74.9997,80.5882 62.3957,93.1932 46.8477,93.1932 31.2987,93.1932 18.6947,80.5882 18.6947,65.0402 18.6947,49.4912 31.2987,36.8872 46.8477,36.8872z" Stretch="Fill" Stroke="White" StrokeThickness="0.25" Width="56.555" Height="56.556" />
-                        </Canvas>
-                    </Canvas>
-                </Viewbox>
-                <Viewbox Stretch="Uniform" Width="300" Height="300" Canvas.Right="-10"  Canvas.Bottom="0">
 
-                    <Canvas UseLayoutRounding="False"  Width="93.693" Height="112.5" HorizontalAlignment="Left" VerticalAlignment="Top">
-                        <Canvas  Width="72.522" Height="72.521" Canvas.Left="10.473" Canvas.Top="28.781">
-                            <Path Data="F1M10.473,65.041C10.473,85.068,26.708,101.302,46.734,101.302L46.734,101.302C66.761,101.302,82.995,85.068,82.995,65.041L82.995,65.041C82.995,45.015,66.761,28.781,46.734,28.781L46.734,28.781C26.708,28.781,10.473,45.015,10.473,65.041" Stretch="Fill" Width="72.522" Height="72.521" Canvas.Left="0" Canvas.Top="0">
-                                <Path.Fill>
-                                    <RadialGradientBrush Center="0.5,0.5" RadiusX="0.5" RadiusY="0.5" GradientOrigin="0.5,0.5">
-                                        <RadialGradientBrush.GradientStops>
-                                            <GradientStop Color="#FFE5E2DF" Offset="0" />
-                                            <GradientStop Color="#FFFFFFFF" Offset="0" />
-                                            <GradientStop Color="#FFADAEB0" Offset="0.52" />
-                                            <GradientStop Color="sc#1, 0.238698155, 0.250727534, 0.259264916" Offset="0.82" />
-                                            <GradientStop Color="#FF454F52" Offset="1" />
-                                        </RadialGradientBrush.GradientStops>
-                                    </RadialGradientBrush>
-                                </Path.Fill>
-                            </Path>
-                            <Path Data="M46.8477,55.6938C52.0087,55.6938 56.1937,59.8788 56.1937,65.0398 56.1937,70.2008 52.0087,74.3858 46.8477,74.3858 41.6857,74.3858 37.5007,70.2008 37.5007,65.0398 37.5007,59.8788 41.6857,55.6938 46.8477,55.6938z" Stretch="Fill" Stroke="White" StrokeThickness="0.25" Width="18.943" Height="18.942" Canvas.Left="26.903" Canvas.Top="26.788" />
-                        </Canvas>
-                        <Canvas  Width="5.857" Height="5.855" Canvas.Left="43.919" Canvas.Top="62.113">
-                            <Path Data="M46.8477,62.1133C48.4637,62.1133 49.7757,63.4243 49.7757,65.0413 49.7757,66.6583 48.4637,67.9683 46.8477,67.9683 45.2307,67.9683 43.9187,66.6583 43.9187,65.0413 43.9187,63.4243 45.2307,62.1133 46.8477,62.1133z" Stretch="Fill" Fill="LightBlue" Stroke="#FF4C4C4C" StrokeThickness="0.25" Width="6.107" Height="6.105" Canvas.Left="-0.125" Canvas.Top="-0.125" />
-                        </Canvas>
-                        <Canvas  Width="56.555" Height="56.556" Canvas.Left="18.57" Canvas.Top="36.762">
-                            <Path Data="M46.8477,46.3472C57.1717,46.3472 65.5407,54.7172 65.5407,65.0412 65.5407,75.3652 57.1717,83.7342 46.8477,83.7342 36.5227,83.7342 28.1537,75.3652 28.1537,65.0412 28.1537,54.7172 36.5227,46.3472 46.8477,46.3472z" Stretch="Fill" Stroke="White" StrokeThickness="0.25" Width="37.637" Height="37.637" Canvas.Left="9.459" Canvas.Top="9.46" />
-                            <Path Data="M46.8477,36.8872C62.3957,36.8872 74.9997,49.4912 74.9997,65.0402 74.9997,80.5882 62.3957,93.1932 46.8477,93.1932 31.2987,93.1932 18.6947,80.5882 18.6947,65.0402 18.6947,49.4912 31.2987,36.8872 46.8477,36.8872z" Stretch="Fill" Stroke="White" StrokeThickness="0.25" Width="56.555" Height="56.556" />
-                        </Canvas>
-                    </Canvas>
-                </Viewbox>-->
+                <local:Loadport Canvas.Left="10"  Canvas.Top="610" Width="300" Height="300"/>
+                <local:Loadport Canvas.Left="450" Canvas.Top="610" Width="300" Height="300"/>
+                <local:Loadport Canvas.Left="880" Canvas.Top="610" Width="300" Height="300"/>
 
 
                 <TextBlock Text="Aligner1" FontSize="40" Canvas.Left="66"    Canvas.Top="5"/>
                 <!--<TextBlock Text="Aligner2" FontSize="40" Canvas.Left="990"  Canvas.Top="5"/>
                 <TextBlock Text="Cooling1" FontSize="40" Canvas.Left="66"    Canvas.Top="310"/>
                 <TextBlock Text="Aligner1" FontSize="40" Canvas.Left="990"  Canvas.Top="310"/>-->
+
+                <local:Foup Width="230" Height="450" Canvas.Left="44"  Canvas.Top="625" Visibility="Collapsed"/>
+                <local:Foup Width="230" Height="450" Canvas.Left="486" Canvas.Top="625" Visibility="Collapsed"/>
+                <local:Foup Width="230" Height="450" Canvas.Left="916" Canvas.Top="625" Visibility="Collapsed"/>
+
+                <TextBlock Text="LP1" Canvas.Left="120"  Canvas.Top="920" FontSize="55"/>
+                <TextBlock Text="LP2" Canvas.Left="560"  Canvas.Top="920" FontSize="55"/>
+                <TextBlock Text="LP3" Canvas.Left="990"  Canvas.Top="920" FontSize="55"/>
             </Canvas>
 
         </Border>

+ 9 - 9
Venus/Venus_Themes/UserControls/Foup.xaml

@@ -30,49 +30,49 @@
                         </GradientStopCollection>
                     </LinearGradientBrush.GradientStops>
                 </LinearGradientBrush>
-                <LinearGradientBrush xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" x:Key="linearGradient3877" MappingMode="RelativeToBoundingBox" StartPoint="0,0" EndPoint="1,1">
+                <LinearGradientBrush  x:Key="linearGradient3877" MappingMode="RelativeToBoundingBox" StartPoint="0,0" EndPoint="1,1">
                     <LinearGradientBrush.GradientStops>
                         <GradientStopCollection>
                             <GradientStop Color="#FFDF0000" Offset="0"/>
                         </GradientStopCollection>
                     </LinearGradientBrush.GradientStops>
                 </LinearGradientBrush>
-                <LinearGradientBrush xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" x:Key="linearGradient5381" MappingMode="Absolute" StartPoint="19,236" EndPoint="52,236">
+                <LinearGradientBrush  x:Key="linearGradient5381" MappingMode="Absolute" StartPoint="19,236" EndPoint="52,236">
                     <LinearGradientBrush.GradientStops>
                         <GradientStopCollection>
                             <GradientStop Color="#FF1A1A1A" Offset="0"/>
                         </GradientStopCollection>
                     </LinearGradientBrush.GradientStops>
                 </LinearGradientBrush>
-                <LinearGradientBrush xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" x:Key="linearGradient5387" MappingMode="Absolute" StartPoint="695,218" EndPoint="696,218">
+                <LinearGradientBrush x:Key="linearGradient5387" MappingMode="Absolute" StartPoint="695,218" EndPoint="696,218">
                     <LinearGradientBrush.GradientStops>
                         <GradientStopCollection>
                             <GradientStop Color="#FF1A1A1A" Offset="0"/>
                         </GradientStopCollection>
                     </LinearGradientBrush.GradientStops>
                 </LinearGradientBrush>
-                <LinearGradientBrush xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" x:Key="linearGradient5395" MappingMode="Absolute" StartPoint="717,268" EndPoint="719,268">
+                <LinearGradientBrush  x:Key="linearGradient5395" MappingMode="Absolute" StartPoint="717,268" EndPoint="719,268">
                     <LinearGradientBrush.GradientStops>
                         <GradientStopCollection>
                             <GradientStop Color="#FF1A1A1A" Offset="0"/>
                         </GradientStopCollection>
                     </LinearGradientBrush.GradientStops>
                 </LinearGradientBrush>
-                <LinearGradientBrush xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" x:Key="linearGradient5381-1" MappingMode="Absolute" StartPoint="19,236" EndPoint="52,236">
+                <LinearGradientBrush  x:Key="linearGradient5381-1" MappingMode="Absolute" StartPoint="19,236" EndPoint="52,236">
                     <LinearGradientBrush.GradientStops>
                         <GradientStopCollection>
                             <GradientStop Color="#FF1A1A1A" Offset="0"/>
                         </GradientStopCollection>
                     </LinearGradientBrush.GradientStops>
                 </LinearGradientBrush>
-                <LinearGradientBrush xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" x:Key="linearGradient5377-5" MappingMode="RelativeToBoundingBox" StartPoint="0,0" EndPoint="1,1">
+                <LinearGradientBrush x:Key="linearGradient5377-5" MappingMode="RelativeToBoundingBox" StartPoint="0,0" EndPoint="1,1">
                     <LinearGradientBrush.GradientStops>
                         <GradientStopCollection>
                             <GradientStop Color="#FF1A1A1A" Offset="0"/>
                         </GradientStopCollection>
                     </LinearGradientBrush.GradientStops>
                 </LinearGradientBrush>
-                <LinearGradientBrush xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" x:Key="linearGradient5419" MappingMode="Absolute" StartPoint="19,236" EndPoint="52,236">
+                <LinearGradientBrush  x:Key="linearGradient5419" MappingMode="Absolute" StartPoint="19,236" EndPoint="52,236">
                     <LinearGradientBrush.GradientStops>
                         <GradientStopCollection>
                             <GradientStop Color="#FF1A1A1A" Offset="0"/>
@@ -252,8 +252,8 @@
                         <PathGeometry Figures="m 696.59582 231.27017 c 0.0209 -29.02643 0.86167 -54.06974 1.86835 -55.6518 1.00668 -1.58207 6.19899 -3.69605 11.53848 -4.69775 l 9.70817 -1.82126 -1.64234 30.54399 c -0.90328 16.7992 -1.64233 42.66208 -1.64233 57.47307 l 0 26.92906 -9.93418 0 -9.93418 0 0.038 -52.77531 z" FillRule="NonZero"/>
                     </Path.Data>
                 </Path>
-                <Rectangle xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" Canvas.Left="30" Canvas.Top="183" Width="25" Height="119" Name="rect5436" Fill="#FF1A1A1A"/>
-                <Rectangle xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" Canvas.Left="695" Canvas.Top="186" Width="25" Height="119" Name="rect54363" Fill="#FF1A1A1A"/>
+                <Rectangle  Canvas.Left="30" Canvas.Top="183" Width="25" Height="119" Name="rect5436" Fill="#FF1A1A1A"/>
+                <Rectangle  Canvas.Left="695" Canvas.Top="186" Width="25" Height="119" Name="rect54363" Fill="#FF1A1A1A"/>
             </Canvas>
         </Canvas>
     </Viewbox>

+ 1 - 0
Venus/Venus_Themes/UserControls/LoadLockLeft.xaml

@@ -132,6 +132,7 @@
             <Rectangle  Fill="Silver" Width="162"   VerticalAlignment="Top"    Height="20"  Canvas.Top="200" Canvas.Left="-1" Visibility="{Binding ElementName=LeftLoadLock,Path=Door2IsVisibility}"/>
             <Rectangle  Fill="DimGray" Style="{StaticResource door2Animation}"  VerticalAlignment="Top"    Height="20"  Canvas.Top="200" Canvas.Left="-1" Visibility="{Binding ElementName=LeftLoadLock,Path=Door2IsVisibility}"/>
 
+            <TextBlock Text="LLA" FontSize="35" Canvas.Left="-70" Canvas.Top="50"/>
         </Canvas>
             
         

+ 2 - 0
Venus/Venus_Themes/UserControls/LoadLockRight.xaml

@@ -133,6 +133,8 @@
                     <RotateTransform Angle="180" CenterX="71" CenterY="10"/>
                 </Rectangle.RenderTransform>
             </Rectangle>
+            <TextBlock Text="LLB" FontSize="35" Canvas.Left="210" Canvas.Top="50"/>
+
         </Canvas>
     </Viewbox>
 </UserControl>

+ 51 - 0
Venus/Venus_Themes/UserControls/Loadport.xaml

@@ -0,0 +1,51 @@
+<UserControl x:Class="Venus_Themes.UserControls.Loadport"
+             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_Themes.UserControls"
+             mc:Ignorable="d" 
+             d:DesignHeight="450" d:DesignWidth="800">
+    <Viewbox Stretch="Uniform" Width="300" Height="300">
+        <Canvas UseLayoutRounding="False"  LayoutTransform="Identity" Width="109.461" Height="112.5" HorizontalAlignment="Left" VerticalAlignment="Top">
+            <Canvas  Width="109.459" Height="104.054" Canvas.Left="0.001" Canvas.Top="7.946">
+                <Path Data="F1M15.429,7.946L15.429,10.648C15.429,10.648,0.728,10.084,0.001,20.558L0.001,20.558 0.001,102.315C0.001,102.315,0,109.335,9.798,112L9.798,112 99.888,112C109.064,110,109.46,102.315,109.46,102.315L109.46,102.315 109.46,20.558C108.311,9.667,94.258,10.648,94.258,10.648L94.258,10.648 94.258,7.946z" Stretch="Fill" Width="109.459" Height="104.054" Canvas.Left="0" Canvas.Top="0">
+                    <Path.Fill>
+                        <LinearGradientBrush StartPoint="0,0.5" EndPoint="1,0.5">
+                            <LinearGradientBrush.GradientStops>
+                                <GradientStop Color="#FF5B5C5F" Offset="0" />
+                                <GradientStop Color="#FFECECED" Offset="0.5" />
+                                <GradientStop Color="#FF5B5C5F" Offset="1" />
+                            </LinearGradientBrush.GradientStops>
+                        </LinearGradientBrush>
+                    </Path.Fill>
+                </Path>
+                <Path Data="F1M20.384,7.946L20.384,10.648C20.384,10.648,6.87,10.751,6.87,20.108L6.87,20.108 6.87,91.279C6.87,91.279,8.564,100.626,15.429,100.626L15.429,100.626 93.92,100.626C100.398,100.626,102.591,91.279,102.591,91.279L102.591,91.279 102.591,20.108C102.591,11.55,89.077,10.648,89.077,10.648L89.077,10.648 89.077,7.946z" Stretch="Fill" Width="95.721" Height="92.68" Canvas.Left="6.869" Canvas.Top="0">
+                    <Path.Fill>
+                        <LinearGradientBrush StartPoint="0,0.5" EndPoint="1,0.5">
+                            <LinearGradientBrush.GradientStops>
+                                <GradientStop Color="#FFC7C8CA" Offset="0" />
+                                <GradientStop Color="#FFF3F4F4" Offset="0.5" />
+                                <GradientStop Color="#FFC7C8CA" Offset="1" />
+                            </LinearGradientBrush.GradientStops>
+                        </LinearGradientBrush>
+                    </Path.Fill>
+                </Path>
+            </Canvas>
+            <Canvas   Width="90.091" Height="8.446" Canvas.Left="9.798" Canvas.Top="-0.5">
+                <Path Data="M9.798,-0.5L99.889,-0.5 99.889,7.946 9.798,7.946z" Stretch="Fill" Width="90.091" Height="8.446" Canvas.Left="0" Canvas.Top="0">
+                    <Path.Fill>
+                        <LinearGradientBrush StartPoint="0,0.5" EndPoint="1,0.5">
+                            <LinearGradientBrush.GradientStops>
+                                <GradientStop Color="Green" Offset="0" />
+                                <GradientStop Color="WhiteSmoke" Offset="0.5" />
+                                <GradientStop Color="Green" Offset="1" />
+                            </LinearGradientBrush.GradientStops>
+                        </LinearGradientBrush>
+                    </Path.Fill>
+                </Path>
+            </Canvas>
+        </Canvas>
+    </Viewbox>
+
+</UserControl>

+ 28 - 0
Venus/Venus_Themes/UserControls/Loadport.xaml.cs

@@ -0,0 +1,28 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using System.Windows;
+using System.Windows.Controls;
+using System.Windows.Data;
+using System.Windows.Documents;
+using System.Windows.Input;
+using System.Windows.Media;
+using System.Windows.Media.Imaging;
+using System.Windows.Navigation;
+using System.Windows.Shapes;
+
+namespace Venus_Themes.UserControls
+{
+    /// <summary>
+    /// Loadport.xaml 的交互逻辑
+    /// </summary>
+    public partial class Loadport : UserControl
+    {
+        public Loadport()
+        {
+            InitializeComponent();
+        }
+    }
+}

+ 7 - 0
Venus/Venus_Themes/Venus_Themes.csproj

@@ -142,6 +142,9 @@
     <Compile Include="UserControls\LoadLockRight.xaml.cs">
       <DependentUpon>LoadLockRight.xaml</DependentUpon>
     </Compile>
+    <Compile Include="UserControls\Loadport.xaml.cs">
+      <DependentUpon>Loadport.xaml</DependentUpon>
+    </Compile>
     <Compile Include="UserControls\MainTM.xaml.cs">
       <DependentUpon>MainTM.xaml</DependentUpon>
     </Compile>
@@ -313,6 +316,10 @@
       <SubType>Designer</SubType>
       <Generator>MSBuild:Compile</Generator>
     </Page>
+    <Page Include="UserControls\Loadport.xaml">
+      <SubType>Designer</SubType>
+      <Generator>MSBuild:Compile</Generator>
+    </Page>
     <Page Include="UserControls\MainTM.xaml">
       <SubType>Designer</SubType>
       <Generator>MSBuild:Compile</Generator>