Browse Source

revise filp/noflip to down/upper

chenzk 1 day ago
parent
commit
4807c5bf6d

+ 2 - 2
Framework/Common/CommonData/SorterDefines/TransferInfo.cs

@@ -40,8 +40,8 @@ namespace Aitex.Sorter.Common
 
     public enum Flip
     {
-        NoFlip=0,
-        Flip=1
+        Upper=0,
+        Down=1
     }
 
 

+ 2 - 2
PunkHPX8_MainPages/ViewModels/EfemViewModel.cs

@@ -788,7 +788,7 @@ namespace PunkHPX8_MainPages.ViewModels
             Queue<MoveItem> moveItems = new Queue<MoveItem>();
             var moduleName = (ModuleName)Enum.Parse(typeof(ModuleName), PickSelectedModule.ToString(), true);
             var selectedHand = (Hand)Enum.Parse(typeof(Hand), PickSelectedBlade.ToString(), true);
-            MoveItem moveItem = new MoveItem(moduleName, PickSoltItemsSource[PickSoltSelectedIndex]-1, ModuleName.EfemRobot, 0, selectedHand, Flip.NoFlip);
+            MoveItem moveItem = new MoveItem(moduleName, PickSoltItemsSource[PickSoltSelectedIndex]-1, ModuleName.EfemRobot, 0, selectedHand, Flip.Upper);
             moveItems.Enqueue(moveItem);
             InvokeClient.Instance.Service.DoOperation($"{ModuleName.EfemRobot}.{EfemOperation.Pick}", moveItems);
         }
@@ -797,7 +797,7 @@ namespace PunkHPX8_MainPages.ViewModels
             Queue<MoveItem> moveItems = new Queue<MoveItem>();
             var moduleName = (ModuleName)Enum.Parse(typeof(ModuleName), PlaceSelectedModule.ToString(), true);
             var selectedHand = (Hand)Enum.Parse(typeof(Hand), PlaceSelectedBlade.ToString(), true);
-            MoveItem moveItem = new MoveItem(ModuleName.EfemRobot, 0, moduleName, PlaceSoltItemsSource[PlaceSoltSelectedIndex]-1, selectedHand,Flip.NoFlip);
+            MoveItem moveItem = new MoveItem(ModuleName.EfemRobot, 0, moduleName, PlaceSoltItemsSource[PlaceSoltSelectedIndex]-1, selectedHand,Flip.Upper);
             moveItems.Enqueue(moveItem);
             InvokeClient.Instance.Service.DoOperation($"{ModuleName.EfemRobot}.{EfemOperation.Place}", moveItems);
         }

+ 24 - 11
PunkHPX8_MainPages/ViewModels/RobotCycleViewModel.cs

@@ -93,7 +93,8 @@ namespace PunkHPX8_MainPages.ViewModels
             public ModuleName ModuleName { get; set; }
             public string Parameter { get; set; }
             public Hand RobotHand { get; set; }
-            public Flip RobotFlip { get; set; }
+            public Flip PickRobotFlip { get; set; }
+            public Flip PlaceRobotFlip { get; set; }
         }
 
         private ObservableCollection<PositionItem> _positions = new ObservableCollection<PositionItem>();
@@ -114,7 +115,7 @@ namespace PunkHPX8_MainPages.ViewModels
         };
         public ObservableCollection<string> FlipTypes { get; } = new ObservableCollection<string>
         {
-                "NoFlip", "Flip"
+                "Upper", "Down"
         };
 
         private string _selectedPositionType;
@@ -152,11 +153,18 @@ namespace PunkHPX8_MainPages.ViewModels
             set { SetProperty(ref _robotHand, value); }
         }
 
-        private Flip _robotFlip;
-        public Flip RobotFlip
+        private Flip _pickRobotFlip;
+        public Flip PickRobotFlip
         {
-            get { return _robotFlip; }
-            set { SetProperty(ref _robotFlip, value); }
+            get { return _pickRobotFlip; }
+            set { SetProperty(ref _pickRobotFlip, value); }
+        }
+
+        private Flip _placeRobotFlip;
+        public Flip PlaceRobotFlip
+        {
+            get { return _placeRobotFlip; }
+            set { SetProperty(ref _placeRobotFlip, value); }
         }
 
         #region 命令
@@ -187,7 +195,8 @@ namespace PunkHPX8_MainPages.ViewModels
             RemoveCommand = new DelegateCommand<object>(RemovePosition);
             SelectedPositionType = PositionTypes.FirstOrDefault();
             RobotHand = Hand.Blade1;
-            RobotFlip = Flip.NoFlip;
+            PickRobotFlip = Flip.Upper;
+            PlaceRobotFlip = Flip.Upper;
         }
 
         private void UpdateAvailableSelections()
@@ -224,7 +233,8 @@ namespace PunkHPX8_MainPages.ViewModels
             }
             SelectedSelection = AvailableSelections.FirstOrDefault();
             RobotHand = Hand.Blade1;
-            RobotFlip = Flip.NoFlip;
+            PickRobotFlip = Flip.Upper;
+            PlaceRobotFlip = Flip.Upper;
         }
 
         private void AddPosition(object obj)
@@ -237,7 +247,8 @@ namespace PunkHPX8_MainPages.ViewModels
                     ModuleName = SelectedSelection,
                     Parameter = Parameter,
                     RobotHand = RobotHand,
-                    RobotFlip = RobotFlip
+                    PickRobotFlip = PickRobotFlip,
+                    PlaceRobotFlip = PlaceRobotFlip
                 });
             }
             else
@@ -247,7 +258,8 @@ namespace PunkHPX8_MainPages.ViewModels
                     ModuleType = SelectedPositionType,
                     ModuleName = SelectedSelection,
                     RobotHand = RobotHand,
-                    RobotFlip = RobotFlip
+                    PickRobotFlip = PickRobotFlip,
+                    PlaceRobotFlip = PlaceRobotFlip
                 });
             }
             
@@ -295,7 +307,8 @@ namespace PunkHPX8_MainPages.ViewModels
                 RobotCycleParameter robotCycleParameter = new RobotCycleParameter();
                 robotCycleParameter.ModuleName = parameter.ModuleName;
                 robotCycleParameter.RobotArm = parameter.RobotHand;
-                robotCycleParameter.PickRobotFlip = parameter.RobotFlip;
+                robotCycleParameter.PickRobotFlip = parameter.PickRobotFlip;
+                robotCycleParameter.PlaceRobotFlip = parameter.PlaceRobotFlip;
                 robotCycleParameter.Parameter = parameter.Parameter;
                 parameters.Add(robotCycleParameter);
             }

+ 9 - 5
PunkHPX8_MainPages/Views/RobotCycleView.xaml

@@ -29,7 +29,8 @@
                             <GridViewColumn Header="ModuleName" Width="120" DisplayMemberBinding="{Binding ModuleName}"/>
                             <GridViewColumn Header="Paramater" Width="120" DisplayMemberBinding="{Binding Parameter}"/>
                             <GridViewColumn Header="RobotHand" Width="120" DisplayMemberBinding="{Binding RobotHand}"/>
-                            <GridViewColumn Header="Flip" Width="120" DisplayMemberBinding="{Binding RobotFlip}"/>
+                            <GridViewColumn Header="PickDirection" Width="120" DisplayMemberBinding="{Binding PickRobotFlip}"/>
+                            <GridViewColumn Header="PlaceDirection" Width="120" DisplayMemberBinding="{Binding PlaceRobotFlip}"/>
                             <!-- 新增的操作按钮列 -->
                             <GridViewColumn Header="Operation" Width="220">
                                 <GridViewColumn.CellTemplate>
@@ -70,6 +71,7 @@
                         <ColumnDefinition Width="120"/>
                         <ColumnDefinition Width="120"/>
                         <ColumnDefinition Width="120"/>
+                        <ColumnDefinition Width="120"/>
                         <ColumnDefinition Width="60"/>
                         <ColumnDefinition Width="Auto"/>
                     </Grid.ColumnDefinitions>
@@ -88,13 +90,15 @@
                     <TextBox Grid.Column="2" Grid.Row="0" Margin="5,5,5,5" IsEnabled="{Binding IsInputParameterEnable}"
                          Text="{Binding Parameter,Mode=TwoWay}"/>
                     <ComboBox Grid.Column="3" Grid.Row="0" Margin="5,5,5,5" 
-                    ItemsSource="{Binding HandsTypes}" 
+                    ItemsSource="{Binding HandsTypes}"   
                     SelectedItem="{Binding RobotHand,Mode=TwoWay}"/>
                     <ComboBox Grid.Column="4" Grid.Row="0" Margin="5,5,5,5" 
                     ItemsSource="{Binding FlipTypes}" 
-                    SelectedItem="{Binding RobotFlip,Mode=TwoWay}"/>
-
-                    <Button Grid.Column="5" Grid.Row="0" Margin="5,5,5,5" 
+                    SelectedItem="{Binding PickRobotFlip,Mode=TwoWay}"/>
+                    <ComboBox Grid.Column="5" Grid.Row="0" Margin="5,5,5,5" 
+                    ItemsSource="{Binding FlipTypes}" 
+                    SelectedItem="{Binding PlaceRobotFlip,Mode=TwoWay}"/>
+                    <Button Grid.Column="6" Grid.Row="0" Margin="5,5,5,5" 
                         Content="Add" Command="{Binding AddPositionCommand}"/>
                     <TextBlock Grid.Column="0" Grid.Row="1" Text="Input CycleTimes:" Margin="5,5,5,5"/>
                     <TextBox Grid.Column="1" Grid.Row="1" Margin="5,5,5,5" HorizontalAlignment="Center" Width="50" HorizontalContentAlignment="Center"

+ 2 - 2
PunkHPX8_RT/Devices/EFEM/JetEfem.cs

@@ -386,7 +386,7 @@ namespace PunkHPX8_RT.Devices.EFEM
             return _socket.Write(_currentMsg.ToString());
         }
 
-        public override bool Pick(ModuleName station, int slot, Hand hand,Flip flip= Flip.NoFlip)
+        public override bool Pick(ModuleName station, int slot, Hand hand,Flip flip= Flip.Upper)
         {
             if (!CheckEfemStatus())
                 return false;
@@ -409,7 +409,7 @@ namespace PunkHPX8_RT.Devices.EFEM
             return _socket.Write(_currentMsg.ToString());
         }
 
-        public override bool Place(ModuleName station, int slot, Hand hand, Flip flip = Flip.NoFlip)
+        public override bool Place(ModuleName station, int slot, Hand hand, Flip flip = Flip.Upper)
         {
             if (!CheckEfemStatus())
                 return false;

+ 2 - 2
PunkHPX8_RT/Devices/EFEM/SunWayEfem.cs

@@ -391,7 +391,7 @@ namespace PunkHPX8_RT.Devices.EFEM
             LOG.WriteLog(eEvent.ERR_EFEM_COMMON_FAILED, Module.ToString(), $"System cannot support RequestMapResult");
             return false;
         }
-        public override bool Pick(ModuleName station, int slot, Hand hand, Flip flip = Flip.NoFlip)
+        public override bool Pick(ModuleName station, int slot, Hand hand, Flip flip = Flip.Upper)
         {
             //判断机台是否准备就绪
             if (!_isComm)
@@ -432,7 +432,7 @@ namespace PunkHPX8_RT.Devices.EFEM
             return _socket.Write(_currentMsg.ToString());
         }
 
-        public override bool Place(ModuleName station, int slot, Hand hand,Flip flip=Flip.NoFlip)
+        public override bool Place(ModuleName station, int slot, Hand hand,Flip flip=Flip.Upper)
         {
             //判断机台是否准备就绪
             if (!_isComm)

+ 2 - 2
PunkHPX8_RT/Devices/EFEM/SunWayRobot.cs

@@ -426,7 +426,7 @@ namespace PunkHPX8_RT.Devices.EFEM
                 return false;
             }
             int stationNumber= _moduleStationNumberDictionary[strModuleWaferSize]; 
-            string strFlip = flip == Flip.Flip ? " Flip" : "";
+            string strFlip = flip == Flip.Down ? " Flip" : "";
             string cmd = $"PICK {stationNumber} SLOT {slot+1} ARM {_armString[hand]}{strFlip}\r";
             if(ModuleHelper.IsAligner(station)||ModuleHelper.IsSRD(station)||ModuleHelper.IsVPWCell(station) || ModuleHelper.IsPlatingCell(station))
             {
@@ -482,7 +482,7 @@ namespace PunkHPX8_RT.Devices.EFEM
             };
             _status = RState.Running;
             int stationNumber = _moduleStationNumberDictionary[strModuleWaferSize];
-            string strFlip = flip == Flip.Flip ? " Flip" : "";
+            string strFlip = flip == Flip.Down ? " Flip" : "";
             string cmd = $"PLACE {stationNumber} SLOT {slot+1} ARM {_armString[hand]}{strFlip}\r";
             if (ModuleHelper.IsSRD(station) || ModuleHelper.IsVPWCell(station) || ModuleHelper.IsPlatingCell(station))
             {

+ 3 - 3
PunkHPX8_RT/Modules/ManualTransfer.cs

@@ -30,8 +30,8 @@ namespace PunkHPX8_RT.Modules
         SchedulerEfemRobot _efemRobot = (SchedulerEfemRobot)SchedulerManager.Instance.GetScheduler(ModuleName.EfemRobot);
 
         private Queue<MoveItem> _moveTaskQueue = new Queue<MoveItem>();
-        private MoveItem _move_item = new MoveItem(ModuleName.System, 0, ModuleName.System, 0, Hand.None, Flip.NoFlip);
-        private MoveItem _current_item = new MoveItem(ModuleName.System, 0, ModuleName.System, 0, Hand.None, Flip.NoFlip);
+        private MoveItem _move_item = new MoveItem(ModuleName.System, 0, ModuleName.System, 0, Hand.None, Flip.Upper);
+        private MoveItem _current_item = new MoveItem(ModuleName.System, 0, ModuleName.System, 0, Hand.None, Flip.Upper);
 
         private Guid _wafer_id;
         private R_TRIG _wafer_arrive_trig = new R_TRIG();
@@ -299,7 +299,7 @@ namespace PunkHPX8_RT.Modules
             var wafer = WaferManager.Instance.GetWafer(mod, nSlot);
             if (!wafer.IsEmpty)
             {
-                _returnTaskQueue.Enqueue(new MoveItem(mod, nSlot, (ModuleName)wafer.OriginStation, wafer.OriginSlot, Hand.Blade1, Flip.NoFlip));
+                _returnTaskQueue.Enqueue(new MoveItem(mod, nSlot, (ModuleName)wafer.OriginStation, wafer.OriginSlot, Hand.Blade1, Flip.Upper));
             }
         }
     }

+ 4 - 4
PunkHPX8_RT/Modules/SRD/SRDAWCCycleRoutine.cs

@@ -227,7 +227,7 @@ namespace PunkHPX8_RT.Modules.SRD
         private bool PickFromSRD()
         {
             Queue<MoveItem> moveItems = new Queue<MoveItem>();
-            MoveItem moveItem = new MoveItem(_srdModuleName, 0, ModuleName.EfemRobot, 0, Hand.Blade1, Flip.NoFlip);
+            MoveItem moveItem = new MoveItem(_srdModuleName, 0, ModuleName.EfemRobot, 0, Hand.Blade1, Flip.Upper);
             moveItems.Enqueue(moveItem);
             return _efemEntity.CheckToPostMessage<EfemEntity.STATE, EfemEntity.MSG>(eEvent.ERR_EFEM_COMMON_FAILED, "EFEM", (int)EfemEntity.MSG.Pick, moveItems);           
         }
@@ -238,7 +238,7 @@ namespace PunkHPX8_RT.Modules.SRD
         private bool PlacetoSRD()
         {
             Queue<MoveItem> moveItems = new Queue<MoveItem>();
-            MoveItem moveItem = new MoveItem(ModuleName.EfemRobot, 0, _srdModuleName, 0, Hand.Blade1,Flip.NoFlip);
+            MoveItem moveItem = new MoveItem(ModuleName.EfemRobot, 0, _srdModuleName, 0, Hand.Blade1,Flip.Upper);
             moveItems.Enqueue(moveItem);
             return _efemEntity.CheckToPostMessage<EfemEntity.STATE, EfemEntity.MSG>(eEvent.ERR_EFEM_COMMON_FAILED, "EFEM", (int)EfemEntity.MSG.Place, moveItems);
         }
@@ -249,7 +249,7 @@ namespace PunkHPX8_RT.Modules.SRD
         private bool PickfromAligner()
         {
             Queue<MoveItem> moveItems = new Queue<MoveItem>();
-            MoveItem moveItem = new MoveItem(ModuleName.Aligner1, 0, ModuleName.EfemRobot, 0, Hand.Blade1, Flip.NoFlip);
+            MoveItem moveItem = new MoveItem(ModuleName.Aligner1, 0, ModuleName.EfemRobot, 0, Hand.Blade1, Flip.Upper);
             moveItems.Enqueue(moveItem);
             return _efemEntity.CheckToPostMessage<EfemEntity.STATE, EfemEntity.MSG>(eEvent.ERR_EFEM_COMMON_FAILED, "EFEM", (int)EfemEntity.MSG.Pick, moveItems);
         }
@@ -260,7 +260,7 @@ namespace PunkHPX8_RT.Modules.SRD
         private bool PlacetoAligner()
         {
             Queue<MoveItem> moveItems = new Queue<MoveItem>();
-            MoveItem moveItem = new MoveItem(ModuleName.EfemRobot, 0, ModuleName.Aligner1, 0, Hand.Blade1,Flip.NoFlip);
+            MoveItem moveItem = new MoveItem(ModuleName.EfemRobot, 0, ModuleName.Aligner1, 0, Hand.Blade1,Flip.Upper);
             moveItems.Enqueue(moveItem);
             return _efemEntity.CheckToPostMessage<EfemEntity.STATE, EfemEntity.MSG>(eEvent.ERR_EFEM_COMMON_FAILED, "EFEM", (int)EfemEntity.MSG.Place, moveItems);
         }     

+ 2 - 2
PunkHPX8_RT/Schedulers/SchedulerSequenceManager.cs

@@ -99,7 +99,7 @@ namespace PunkHPX8_RT.Schedulers
             List<SchedulerSequence> schedulerSequences = new List<SchedulerSequence>();
             int index = 0;
             //DummyCassete至Aligner
-            MoveItem moveItem = new MoveItem((ModuleName)waferInfo.Station, waferInfo.Slot, ModuleName.Aligner1, 0, Aitex.Sorter.Common.Hand.Blade1,Aitex.Sorter.Common.Flip.NoFlip);
+            MoveItem moveItem = new MoveItem((ModuleName)waferInfo.Station, waferInfo.Slot, ModuleName.Aligner1, 0, Aitex.Sorter.Common.Hand.Blade1,Aitex.Sorter.Common.Flip.Upper);
             SchedulerSequence secondEfemRobotSequence = CreateEfemRobotSequence(moveItem, null,sequenceRecipe.SubstrateSize, ref index);
             schedulerSequences.Add(secondEfemRobotSequence);
             //Aligner
@@ -107,7 +107,7 @@ namespace PunkHPX8_RT.Schedulers
 
             schedulerSequences.Add(alignerSequence);
             //Aligner至Puf
-            MoveItem alignerToPufMoveItem = new MoveItem(ModuleName.Aligner1, 0, pufModule, 1, Aitex.Sorter.Common.Hand.Blade1,Aitex.Sorter.Common.Flip.NoFlip);
+            MoveItem alignerToPufMoveItem = new MoveItem(ModuleName.Aligner1, 0, pufModule, 1, Aitex.Sorter.Common.Hand.Blade1,Aitex.Sorter.Common.Flip.Upper);
             SchedulerSequence alignerToPufEfemRobotSequence = CreateEfemRobotSequence(alignerToPufMoveItem, null,sequenceRecipe.SubstrateSize, ref index);
             schedulerSequences.Add(alignerToPufEfemRobotSequence);
             SchedulerSequence pufSequence = CreatePufSequence(pufModule,sequenceRecipe, side,true, ref index);