lixiang преди 2 години
родител
ревизия
ee80e1676c

BIN
Venus/Framework/Output/MECF.Framework/MECF.Framework.Common.dll


BIN
Venus/Framework/Output/MECF.Framework/MECF.Framework.Common.pdb


BIN
Venus/Framework/Output/MECF.Framework/MECF.Framework.RT.Core.dll


BIN
Venus/Framework/Output/MECF.Framework/MECF.Framework.RT.Core.pdb


BIN
Venus/Framework/Output/MECF.Framework/MECF.Framework.UI.Core.dll


BIN
Venus/Framework/Output/MECF.Framework/MECF.Framework.UI.Core.pdb


BIN
Venus/Framework/Output/MECF.Framework/Venus_Core.dll


BIN
Venus/Framework/Output/MECF.Framework/Venus_Core.pdb


BIN
Venus/Framework/Output/MECF.Framework/en-US/MECF.Framework.Common.resources.dll


BIN
Venus/Framework/Output/MECF.Framework/zh-CN/MECF.Framework.Common.resources.dll


+ 19 - 0
Venus/Venus_Core/Recipe.cs

@@ -53,6 +53,13 @@ namespace Venus_Core
 
     public class RecipeHead: INotifyPropertyChanged
     {
+        private string m_name;
+        public string Name
+        {
+            get { return m_name; }
+            set { m_name = value; InvokePropertyChanged("Name"); }
+        }
+
         private string _Version = "Test";
         public string Version
         {
@@ -97,6 +104,18 @@ namespace Venus_Core
             get { return m_Barcode;}
             set { m_Barcode = value; InvokePropertyChanged("Barcode"); }
         }
+        private string m_BasePressure;
+        public string BasePressure
+        {
+            get { return m_BasePressure;}
+            set { m_BasePressure = value; InvokePropertyChanged("BasePressure"); }
+        }
+        private string m_ChillerTemp;
+        public string ChillerTemp
+        {
+            get { return m_ChillerTemp;}
+            set { m_ChillerTemp = value; InvokePropertyChanged("ChillerTemp"); }
+        }
 
         public event PropertyChangedEventHandler PropertyChanged;
 

+ 1 - 1
Venus/Venus_RT/Modules/PMs/PMProcessRoutine.cs

@@ -122,7 +122,7 @@ namespace Venus_RT.Modules.PMs
                     ChuckRecipeName = recipeName;
                     _qeRecipes.Enqueue(recipe);
                     break;
-                case RecipeType.Dechuck:
+                case RecipeType.DeChuck:
                     DechuckRecipeNamae = recipeName;
                     _qeRecipes.Enqueue(recipe);
                     break;

+ 121 - 0
Venus/Venus_RT/Modules/PMs/ProcessUnitDefine.cs

@@ -0,0 +1,121 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace Venus_Core
+{
+    /// <summary>
+    /// 设计概述:
+    /// 本设计主要目的,为了满足复杂的刻蚀工艺需求(各个工艺参数之间相互关联), 和应对未来不断新增的工艺需求(新的设备、
+    ///     新的工艺、新的材料等等), 同时又能对现存的Recipe保持最大的兼容
+    /// 
+    /// 1. 将Process 的每道工艺分解为1个至多个逻辑工艺单元, 每个逻辑工艺单元通过 Class Name 和RT的工艺算法绑定, 
+    ///     同时也和 GUI Recipe Editor 的页面布局绑定。
+    ///     
+    /// 2. 一个逻辑单元功能调试好, 并且有在客户端使用后, 此逻辑单元想关联的 RT Process 代码和GUI 界面代码, 
+    ///     不允许再修改, 只能增加新的Class 来实现新的工艺需求
+    ///     
+    /// 3. 通过配置文件里面定义 ProcessUnit Class Name列表, 来定义当前机台支持的工艺功能, 也就是说如果Recipe文件里面保函了
+    ///     配置文件里面没有列出的工艺单元, 表明本机台不支持此Recipe, 并报警提示用户
+    /// </summary>
+ 
+
+    public partial class PressureUnitByPressureMode : ProcessUnitBase
+    {
+        public string UnitName { get; set; } = "PressureUnitByPressureMode";
+        public bool EnableRamp { get; set; }
+        public int StartPressure { get; set; }
+        public int TargetPressure { get; set; }
+        public int ValvePositionPreset { get; set; }
+        public int HoldTime { get; set; }
+    }
+
+    public class PressureUnitByValveMode : ProcessUnitBase
+    {
+        public string UnitName { get; set; } = "PressureUnitByValveMode";
+
+        public bool EnableRamp { get; set; }
+        public int StartPosition { get; set; }
+        public int TargetPosition { get; set; }
+        public int HoldTime { get; set; }
+
+    }
+
+    public class TCPUnit : ProcessUnitBase
+    {
+        public string UnitName { get; set; } = "TCPUnit";
+
+        public bool EnableRamp { get; set; }
+        public int RFPower { get; set; }
+        public int StartPower { get; set; }
+        public int TargetPower { get; set; }
+        public int HoldTime { get; set; }
+        public int TuneCapPreset { get; set; }
+        public int LoadCapPreset { get; set; }
+        public int MaxReflectedPower { get; set; }
+    }
+
+
+    public class BiasUnit : ProcessUnitBase
+    {
+        public string UnitName { get; set; } = "BiasUnit";
+
+        public int BiasRFPower { get; set; }
+        public bool EnableRamp { get; set; }
+        public int StartBiasRFPower { get; set; }
+        public int TargetBiasRFPower { get; set; }
+        public int BiasRFHoldTime { get; set; }
+        public int BiasTuneCapPreset { get; set; }
+        public int BiasLoadCapPreset { get; set; }
+        public int BiasMaxReflectedPower { get; set; }
+        public GeneratorMode BiasGeneratorMode { get; set; }
+        public int PulseRateFreq { get; set; }
+        public int PulseDutyCycle { get; set; }
+
+    }
+
+    public class GasControlUnit : ProcessUnitBase
+    {
+        public string UnitName { get; set; } = "GasControlUnit";
+
+        public bool EnableRamp { get; set; }
+        public int Gas1 { get; set; }
+        public int Gas1Target { get; set; }
+        public int Gas2 { get; set; }
+        public int Gas2Target { get; set; }
+        public int Gas3 { get; set; }
+        public int Gas3Target { get; set; }
+        public int Gas4 { get; set; }
+        public int Gas4Target { get; set; }
+        public int Gas5 { get; set; }
+        public int Gas5Target { get; set; }
+        public int Gas6 { get; set; }
+        public int Gas6Target { get; set; }
+        public int Gas7 { get; set; }
+        public int Gas7Target { get; set; }
+        public int Gas8 { get; set; }
+        public int Gas8Target { get; set; }
+        public int FlowRatie { get; set; }
+    }
+
+    public class ESCHVUnit : ProcessUnitBase
+    {
+        public string UnitName { get; set; } = "ESCHVUnit";
+
+        public int BacksideHelum { get; set; }
+        public int MaxHeFlow { get; set; }
+        public int MinHeFlow { get; set; }
+        public int ESCClampValtage { get; set; }
+        public int Temperature { get; set; }
+    }
+
+    public class ProcessKitUnit : ProcessUnitBase
+    {
+        public string UnitName { get; set; } = "ProcessKitUnit";
+
+        public MovementPosition LiftPinPostion { get; set; }
+        public MovementPosition WeprBasrPinPosition { get; set; }
+    }
+}

+ 1 - 1
Venus/Venus_RT/Venus_RT.csproj

@@ -150,7 +150,7 @@
     <Compile Include="Modules\PMs\PMProcessRoutine.cs" />
     <Compile Include="Modules\PMs\PMPurgeRoutine.cs" />
     <Compile Include="Modules\PMs\PMRoutineBase.cs" />
-    <Compile Include="Modules\PMs\ProcessDefine.cs" />
+    <Compile Include="Modules\PMs\ProcessUnitDefine.cs" />
     <Compile Include="Modules\PMs\PumpDownRoutine.cs" />
     <Compile Include="Modules\PMs\StartDryPumpRoutine.cs" />
     <Compile Include="Modules\PMs\StartTurboPumpRoutine.cs" />