Sfoglia il codice sorgente

RGV小车只会被赶到自己的下一个取货点

林豪 左 3 anni fa
parent
commit
139f00778e
1 ha cambiato i file con 12 aggiunte e 14 eliminazioni
  1. 12 14
      Projects/永冠OPP/WCS.Service/Works/RGV/RGVWorks.cs

+ 12 - 14
Projects/永冠OPP/WCS.Service/Works/RGV/RGVWorks.cs

@@ -162,25 +162,23 @@ namespace WCS.Service.Works.RGV
                         //自己是否阻挡了该小车
                         if (obj.StopedByMe(afterStation))
                         {
-                            //取小车的目标位置值
-                            var destStation = Device.Find($"G{afterStation.Data2.DestPosition_1}").Create<StationDeviceGroup>();
-                            //取被挡住小车的目标位置的下一个取货点
-                            var beforeSickStation = Device.Where(v => v.Is(DF.涂布RGV取货设备组) && v.CODE != destStation.Entity.CODE)
+                            //找到当前所在站台的下一个取货点
+                            var beforeStation = Device.Where(v => v.Is(DF.涂布RGV取货设备组) && v.CODE != pickStation.Entity.CODE)
                                           .Select(v => v.Create<StationDeviceGroup>())
-                                          .OrderBy(v => destStation.Distance(v))
+                                          .OrderBy(v => pickStation.Distance(v))
                                           .FirstOrDefault();
 
-                            if (beforeSickStation.Entity.CODE == pickStation.Entity.CODE)
-                            {
-                                //取被挡住小车的目标位置的下一个取货点
-                                beforeSickStation = Device.Where(v => v.Is(DF.涂布RGV取货设备组) && v.CODE != beforeSickStation.Entity.CODE)
-                                             .Select(v => v.Create<StationDeviceGroup>())
-                                             .OrderBy(v => beforeSickStation.Distance(v))
-                                             .FirstOrDefault();
-                            }
+                            //if (beforeStation.Entity.CODE == pickStation.Entity.CODE)
+                            //{
+                            //    //取被挡住小车的目标位置的下一个取货点
+                            //    beforeStation = Device.Where(v => v.Is(DF.涂布RGV取货设备组) && v.CODE != beforeStation.Entity.CODE)
+                            //                 .Select(v => v.Create<StationDeviceGroup>())
+                            //                 .OrderBy(v => beforeStation.Distance(v))
+                            //                 .FirstOrDefault();
+                            //}
 
                             //写入移动任务
-                            obj.Move(beforeSickStation);
+                            obj.Move(beforeStation);
                             return;
                         }
                     }