瀏覽代碼

1. 增加Home R轴功能
2. 增加Read R轴位置功能
3. 增加Load时在原点为无需R轴缩回功能

zhouhr 2 月之前
父節點
當前提交
e768504afc

+ 2 - 0
FrameworkLocal/RTEquipmentLibrary/LogicUnits/ITransferTarget.cs

@@ -56,6 +56,7 @@ namespace MECF.Framework.RT.EquipmentLibrary.LogicUnits
     {
         bool LeftCassetteArrive  { get; }
         bool RightCassetteArrive { get; }
+        int  RPosition { get; }
 
         bool IsConnected { get; }
         RState Status { get; }
@@ -79,5 +80,6 @@ namespace MECF.Framework.RT.EquipmentLibrary.LogicUnits
         bool UseCassetteInterlock();
         bool RaxisPI();
         bool RaxisPO();
+        bool ReadR();
     }
 }

+ 4 - 0
FrameworkLocal/RTModuleLibrary/VceModules/VceModuleBase.cs

@@ -16,6 +16,9 @@ namespace MECF.Framework.RT.ModuleLibrary.VceModules
         Idle,//空闲
         Error,//错误
         Homing,//home操作 对应HM
+        HomingAxisInInit,
+        HomingAxisInIdle,
+        HomingAxisInError,
         DoorOpenning,//开门操作 对应DC
         DoorClosing,//关门操作 对应DO
         Loading,//取cassette操作 包括开门关门 对应LOAD,
@@ -41,6 +44,7 @@ namespace MECF.Framework.RT.ModuleLibrary.VceModules
     public enum VceMSG
     {
         Home,
+        HomeAxis,
         Error,
         DoorOpen,
         DoorClose,

+ 14 - 14
JetVirgoPM/Config/Recipe/JetVirgoPM/Process/RecipeFormatPlus.xml

@@ -56,26 +56,26 @@
         <Step ModuleName="RF1" DeviceType="RF" DisplayName="RF1 Time" ControlName="Rf1.SetPowerOnTime" InputType="NumInput" Min="0" Max="100000" Description="RF1 Power On Time" />
         <Step ModuleName="RF1" DeviceType="RF" DisplayName="Source RF1 Power" ControlName="Rf1.SetPower" InputType="NumInput" Min="0" Max="1000" Description="Source RF1 Power value" />
         <Step ModuleName="RF1" DeviceType="RF" DisplayName="Bias RF1 Power" ControlName="BiasRf1.SetPower" InputType="NumInput" Min="0" Max="1000" Description="Bias RF1 Power value" />
-        <Step ModuleName="RF1" DeviceType="RF" DisplayName="Bias RF1 Mode" ControlName="BiasRf1.SetMatchProcessMode" InputType="ReadOnlySelection" Description="RF1 Match Mode">
+        <Step ModuleName="RF1" DeviceType="RF" DisplayName="Bias RF1 Mode" ControlName="BiasRf1Match.SetMatchProcessMode" InputType="ReadOnlySelection" Description="RF1 Match Mode">
           <Item DisplayName="Preset Mode"  ControlName="Preset" />
           <Item DisplayName="Hold Mode" ControlName="Hold" />
         </Step>
 
-        <Step ModuleName="RF1" DeviceType="RF" DisplayName="Bias RF1 Match C1"   ControlName="BiasRf1.SetMatchPositionC1" InputType="NumInput" Min="0" Max="100" Description="Set RF1 match position C1 value" />
-        <Step ModuleName="RF1" DeviceType="RF" DisplayName="Bias RF1 Match C2"   ControlName="BiasRf1.SetMatchPositionC2" InputType="NumInput" Min="0" Max="100" Description="Set RF1 match position C2 value" />
+        <Step ModuleName="RF1" DeviceType="RF" DisplayName="Bias RF1 Match C1"   ControlName="BiasRf1Match.SetMatchPositionC1" InputType="NumInput" Min="0" Max="100" Description="Set RF1 match position C1 value" />
+        <Step ModuleName="RF1" DeviceType="RF" DisplayName="Bias RF1 Match C2"   ControlName="BiasRf1Match.SetMatchPositionC2" InputType="NumInput" Min="0" Max="100" Description="Set RF1 match position C2 value" />
 
       </Group>
       <Group DisplayName="RF2">
         <Step ModuleName="RF2" DeviceType="RF" DisplayName="RF2 Time" ControlName="Rf2.SetPowerOnTime" InputType="NumInput" Min="0" Max="100000" Description="RF2 Power On Time" />
         <Step ModuleName="RF2" DeviceType="RF" DisplayName="Source RF2 Power" ControlName="Rf2.SetPower" InputType="NumInput" Min="0" Max="1000" Description="Source RF2 Power value" />
         <Step ModuleName="RF2" DeviceType="RF" DisplayName="Bias RF2 Power" ControlName="BiasRf2.SetPower" InputType="NumInput" Min="0" Max="1000" Description="Bias RF2 Power value" />
-        <Step ModuleName="RF2" DeviceType="RF" DisplayName="Bias RF2 Mode" ControlName="BiasRf2.SetMatchProcessMode" InputType="ReadOnlySelection" Description="RF2 Match Mode">
+        <Step ModuleName="RF2" DeviceType="RF" DisplayName="Bias RF2 Mode" ControlName="BiasRf2Match.SetMatchProcessMode" InputType="ReadOnlySelection" Description="RF2 Match Mode">
           <Item DisplayName="Preset Mode"  ControlName="Preset" />
           <Item DisplayName="Hold Mode" ControlName="Hold" />
         </Step>
 
-        <Step ModuleName="RF2" DeviceType="RF" DisplayName="Bias RF2 Match C1"   ControlName="BiasRf2.SetMatchPositionC1" InputType="NumInput" Min="0" Max="100" Description="Set RF2 match position C1 value" />
-        <Step ModuleName="RF2" DeviceType="RF" DisplayName="Bias RF2 Match C2"   ControlName="BiasRf2.SetMatchPositionC2" InputType="NumInput" Min="0" Max="100" Description="Set RF2 match position C2 value" />
+        <Step ModuleName="RF2" DeviceType="RF" DisplayName="Bias RF2 Match C1"   ControlName="BiasRf2Match.SetMatchPositionC1" InputType="NumInput" Min="0" Max="100" Description="Set RF2 match position C1 value" />
+        <Step ModuleName="RF2" DeviceType="RF" DisplayName="Bias RF2 Match C2"   ControlName="BiasRf2Match.SetMatchPositionC2" InputType="NumInput" Min="0" Max="100" Description="Set RF2 match position C2 value" />
 
       </Group>
     </Catalog>
@@ -151,8 +151,8 @@
       <Pressure PressureControl.SetTVMode="TVPressureCtrl" PressureControl.SetTVPosition="0" PressureControl.SetTVPressure="50" PressureControl.SetBoostPressure="100" PressureControl.SetChamberPressure="100" />
       <Pin1 LiftPin1.SetState="Position1"/>
       <Pin2 LiftPin2.SetState="Position1"/>
-      <RF1 Rf1.SetPowerOnTime ="0" Rf1.SetMode ="ContinuousWaveMode" Match1.SetMatchProcessMode="PresetMode" Rf1.SetPower="0" BiasRf1.SetPower="0" BiasRf1.SetMatchProcessMode="Preset" BiasRf1.SetMatchPositionC1="50" BiasRf1.SetMatchPositionC2="50" Rf1.SetPulsingDuty="0" Rf1.SetPulsingFrequency="0" Match1.SetMatchPositionC1="50" Match1.SetMatchPositionC2="50" />
-      <RF2 Rf2.SetPowerOnTime ="0" Rf2.SetMode ="ContinuousWaveMode" Match2.SetMatchProcessMode="PresetMode" Rf2.SetPower="0" BiasRf2.SetPower="0" BiasRf2.SetMatchProcessMode="Preset" BiasRf2.SetMatchPositionC1="50" BiasRf2.SetMatchPositionC2="50" Rf2.SetPulsingDuty="0" Rf2.SetPulsingFrequency="0" Match2.SetMatchPositionC1="50" Match2.SetMatchPositionC2="50" />
+      <RF1 Rf1.SetPowerOnTime ="0" Rf1.SetMode ="ContinuousWaveMode" Match1.SetMatchProcessMode="PresetMode" Rf1.SetPower="0" BiasRf1.SetPower="0" BiasRf1Match.SetMatchProcessMode="Preset" BiasRf1Match.SetMatchPositionC1="50" BiasRf1Match.SetMatchPositionC2="50" Rf1.SetPulsingDuty="0" Rf1.SetPulsingFrequency="0" Match1.SetMatchPositionC1="50" Match1.SetMatchPositionC2="50" />
+      <RF2 Rf2.SetPowerOnTime ="0" Rf2.SetMode ="ContinuousWaveMode" Match2.SetMatchProcessMode="PresetMode" Rf2.SetPower="0" BiasRf2.SetPower="0" BiasRf2Match.SetMatchProcessMode="Preset" BiasRf2Match.SetMatchPositionC1="50" BiasRf2Match.SetMatchPositionC2="50" Rf2.SetPulsingDuty="0" Rf2.SetPulsingFrequency="0" Match2.SetMatchPositionC1="50" Match2.SetMatchPositionC2="50" />
       <Mfc MfcGas1 ="0" MfcGas2="0" MfcGas3="0" MfcGas4="0" MfcGas5="0"  MfcGas6="0"/>
       <EndPoint  EPD.SetConfig=""/>
       <SoftTolerance MfcGas1.SoftTolerance ="5" MfcGas2.SoftTolerance="5" MfcGas3.SoftTolerance="5" MfcGas4.SoftTolerance="5" MfcGas5.SoftTolerance="5" MfcGas6.SoftTolerance="5"  PressureControl.SoftTolerance="0" Rf1.SoftTolerance="5"  Rf2.SoftTolerance="5" BiasRf1.SoftTolerance="5"  BiasRf2.SoftTolerance="5" />
@@ -210,9 +210,9 @@
                       <xs:attribute name="Rf1.SetPulsingDuty" type="xs:double" use="optional" />
                       <xs:attribute name="Rf1.SetPower" type="xs:double" use="required" />
                       <xs:attribute name="BiasRf1.SetPower" type="xs:double" use="required" />
-                      <xs:attribute name="BiasRf1.SetMatchProcessMode" type="xs:string" use="required" />
-                      <xs:attribute name="BiasRf1.SetMatchPositionC1" type="xs:double" use="required" />
-                      <xs:attribute name="BiasRf1.SetMatchPositionC2" type="xs:double" use="required" />
+                      <xs:attribute name="BiasRf1Match.SetMatchProcessMode" type="xs:string" use="required" />
+                      <xs:attribute name="BiasRf1Match.SetMatchPositionC1" type="xs:double" use="required" />
+                      <xs:attribute name="BiasRf1Match.SetMatchPositionC2" type="xs:double" use="required" />
                       <xs:attribute name="Match1.SetMatchProcessMode" type="xs:string" use="required" />
                       <xs:attribute name="Match1.SetMatchPositionC1" type="xs:double" use="required" />
                       <xs:attribute name="Match1.SetMatchPositionC2" type="xs:double" use="required" />
@@ -226,9 +226,9 @@
                       <xs:attribute name="Rf2.SetPulsingDuty" type="xs:double" use="optional" />
                       <xs:attribute name="Rf2.SetPower" type="xs:double" use="required" />
                       <xs:attribute name="BiasRf2.SetPower" type="xs:double" use="required" />
-                      <xs:attribute name="BiasRf2.SetMatchProcessMode" type="xs:string" use="required" />
-                      <xs:attribute name="BiasRf2.SetMatchPositionC1" type="xs:double" use="required" />
-                      <xs:attribute name="BiasRf2.SetMatchPositionC2" type="xs:double" use="required" />
+                      <xs:attribute name="BiasRf2Match.SetMatchProcessMode" type="xs:string" use="required" />
+                      <xs:attribute name="BiasRf2Match.SetMatchPositionC1" type="xs:double" use="required" />
+                      <xs:attribute name="BiasRf2Match.SetMatchPositionC2" type="xs:double" use="required" />
                       <xs:attribute name="Match2.SetMatchProcessMode" type="xs:string" use="required" />
                       <xs:attribute name="Match2.SetMatchPositionC1" type="xs:double" use="required" />
                       <xs:attribute name="Match2.SetMatchPositionC2" type="xs:double" use="required" />

+ 8 - 8
Mars/EfemDualRT/Config/System.sccfg

@@ -192,7 +192,7 @@
   </configs>
 
   <configs name="VCEA">
-    <config default="false" name="IsPlus"  description="Is Plus VCE" max="0" min="0" paramter="" tag="" unit="" type="Bool"  />
+    <config default="true" name="IsPlus"  description="Is Plus VCE" max="0" min="0" paramter="" tag="" unit="" type="Bool"  />
     <config default="COM105" name="Port" nameView="Port" description="" max="" min="0" paramter="" tag="" unit="" type="String" />
     <config default="30" name="MotionTimeout" nameView="" description="" max="60" min="0" paramter="" tag="" unit="s" type="Integer" />
     <config default="400" name="PumpBasePressure" nameView="Pump Base Pressure" description="Pump抽真空底压" max="2000" min="0" paramter="" tag="" unit="mTorr" type="Double" />
@@ -224,7 +224,7 @@
     </configs>
   </configs>
   <configs name="VCEB">
-    <config default="false" name="IsPlus"  description="Is Plus VCE" max="0" min="0" paramter="" tag="" unit="" type="Bool"  />
+    <config default="true" name="IsPlus"  description="Is Plus VCE" max="0" min="0" paramter="" tag="" unit="" type="Bool"  />
     <config default="COM103" name="Port" nameView="Port" description="" max="" min="0" paramter="" tag="" unit="" type="String" />
     <config default="30" name="MotionTimeout" nameView="" description="" max="60" min="0" paramter="" tag="" unit="s" type="Integer" />
     <config default="400" name="PumpBasePressure" nameView="Pump Base Pressure" description="Pump抽真空底压" max="2000" min="0" paramter="" tag="" unit="mTorr" type="Double" />
@@ -1035,7 +1035,7 @@
       <config default="3" name="Position3Value" nameView="Position3 Value" description="" max="20" min="0" paramter="" tag="" unit="mm" type="Double" />
       <config default="4" name="Position4Value" nameView="Position4 Value" description="" max="20" min="0" paramter="" tag="" unit="mm" type="Double" />
       <config default="5" name="SpeedValue"     nameView="Speed Value"     description="" max="20" min="0" paramter="" tag="" unit="mm/s" type="Double" />
-      <config default="5" name="MotionTimeOut"  nameView="Motion Time Out" description="" max="60" min="0" paramter="" tag="" unit="s"  type="Integer" />
+      <config default="30" name="MotionTimeOut"  nameView="Motion Time Out" description="" max="120" min="0" paramter="" tag="" unit="s"  type="Integer" />
     </configs>
     <configs name="LiftPin2" nameView="LiftPin2">
       <config default="1" name="Position1Value" nameView="Position1 Value" description="" max="20" min="0" paramter="" tag="" unit="mm" type="Double" />
@@ -1043,7 +1043,7 @@
       <config default="3" name="Position3Value" nameView="Position3 Value" description="" max="20" min="0" paramter="" tag="" unit="mm" type="Double" />
       <config default="4" name="Position4Value" nameView="Position4 Value" description="" max="20" min="0" paramter="" tag="" unit="mm" type="Double" />
       <config default="5" name="SpeedValue"     nameView="Speed Value"     description="" max="20" min="0" paramter="" tag="" unit="mm" type="Double" />
-      <config default="5" name="MotionTimeOut"  nameView="Motion Time Out" description="" max="60" min="0" paramter="" tag="" unit="s"  type="Integer" />
+      <config default="30" name="MotionTimeOut"  nameView="Motion Time Out" description="" max="120" min="0" paramter="" tag="" unit="s"  type="Integer" />
     </configs>
   </configs>
   <configs name="PMB">
@@ -1470,7 +1470,7 @@
       <config default="3" name="Position3Value" nameView="Position3 Value" description="" max="20" min="0" paramter="" tag="" unit="mm" type="Double" />
       <config default="4" name="Position4Value" nameView="Position4 Value" description="" max="20" min="0" paramter="" tag="" unit="mm" type="Double" />
       <config default="5" name="SpeedValue"     nameView="Speed Value"     description="" max="20" min="0" paramter="" tag="" unit="mm" type="Double" />
-      <config default="5" name="MotionTimeOut"  nameView="Motion Time Out" description="" max="60" min="0" paramter="" tag="" unit="s"  type="Integer" />
+      <config default="30" name="MotionTimeOut"  nameView="Motion Time Out" description="" max="120" min="0" paramter="" tag="" unit="s"  type="Integer" />
     </configs>
     <configs name="LiftPin2" nameView="LiftPin2">
       <config default="1" name="Position1Value" nameView="Position1 Value" description="" max="20" min="0" paramter="" tag="" unit="mm" type="Double" />
@@ -1478,7 +1478,7 @@
       <config default="3" name="Position3Value" nameView="Position3 Value" description="" max="20" min="0" paramter="" tag="" unit="mm" type="Double" />
       <config default="4" name="Position4Value" nameView="Position4 Value" description="" max="20" min="0" paramter="" tag="" unit="mm" type="Double" />
       <config default="5" name="SpeedValue"     nameView="Speed Value"     description="" max="20" min="0" paramter="" tag="" unit="mm" type="Double" />
-      <config default="5" name="MotionTimeOut"  nameView="Motion Time Out" description="" max="60" min="0" paramter="" tag="" unit="s"  type="Integer" />
+      <config default="30" name="MotionTimeOut"  nameView="Motion Time Out" description="" max="120" min="0" paramter="" tag="" unit="s"  type="Integer" />
     </configs>
   </configs>
   <configs name="PMC">
@@ -1858,7 +1858,7 @@
       <config default="3" name="Position3Value" nameView="Position3 Value" description="" max="20" min="0" paramter="" tag="" unit="mm" type="Double" />
       <config default="4" name="Position4Value" nameView="Position4 Value" description="" max="20" min="0" paramter="" tag="" unit="mm" type="Double" />
       <config default="5" name="SpeedValue"     nameView="Speed Value"     description="" max="20" min="0" paramter="" tag="" unit="mm" type="Double" />
-      <config default="5" name="MotionTimeOut"  nameView="Motion Time Out" description="" max="120" min="0" paramter="" tag="" unit="s"  type="Integer" />
+      <config default="30" name="MotionTimeOut"  nameView="Motion Time Out" description="" max="120" min="0" paramter="" tag="" unit="s"  type="Integer" />
     </configs>
     <configs name="LiftPin2" nameView="LiftPin2">
       <config default="1" name="Position1Value" nameView="Position1 Value" description="" max="20" min="0" paramter="" tag="" unit="mm" type="Double" />
@@ -1866,7 +1866,7 @@
       <config default="3" name="Position3Value" nameView="Position3 Value" description="" max="20" min="0" paramter="" tag="" unit="mm" type="Double" />
       <config default="4" name="Position4Value" nameView="Position4 Value" description="" max="20" min="0" paramter="" tag="" unit="mm" type="Double" />
       <config default="5" name="SpeedValue"     nameView="Speed Value"     description="" max="20" min="0" paramter="" tag="" unit="mm" type="Double" />
-      <config default="5" name="MotionTimeOut"  nameView="Motion Time Out" description="" max="120" min="0" paramter="" tag="" unit="s"  type="Integer" />
+      <config default="30" name="MotionTimeOut"  nameView="Motion Time Out" description="" max="120" min="0" paramter="" tag="" unit="s"  type="Integer" />
     </configs>
   </configs>
 </root>

+ 4 - 2
Mars/JetMainframe/VCEs/LoadRoutine.cs

@@ -40,6 +40,7 @@ namespace JetMainframe.VCEs
         int _waitCassette;
         MFPumpRoutine pumpRoutine;
         ModuleName _module;
+        bool IsPlus = false ;
 
         public LoadRoutine(ModuleName module, IVCE vce) : base(module.ToString())
         {
@@ -47,6 +48,7 @@ namespace JetMainframe.VCEs
             _vce = vce;
             _tm = DEVICE.GetDevice<HongHuTM>("TM");
             pumpRoutine = new MFPumpRoutine(_tm, module);
+            IsPlus = SC.GetValue<bool>($"{Module}.IsPlus");
         }
 
         public RState Start(params object[] objs)
@@ -137,7 +139,7 @@ namespace JetMainframe.VCEs
         //private bool 
         private bool ReadR()
         {
-            if (SC.GetValue<bool>($"{Module}.IsPlus"))
+            if (IsPlus)
                 return _vce.ReadR();
 
             return true;
@@ -145,7 +147,7 @@ namespace JetMainframe.VCEs
 
         private bool RHandPushIn()
         {
-            if(SC.GetValue<bool>($"{Module}.IsPlus") && _vce.RPosition != 0)
+            if(IsPlus && _vce.RPosition != 0)
                 return _vce.RaxisPI();
 
             return true;