Administrator 3 rokov pred
rodič
commit
b1fe645fe2

+ 21 - 20
Projects/永冠OPP/WCS.Service/Extensions/DeviceExtension.cs

@@ -477,7 +477,8 @@ namespace WCS.Service.Extensions
         /// <returns></returns>
         public StationDeviceGroup BeforeStation()
         {
-            return LocationList.Where(v => v.Entity.Is(DF.涂布RGV取货设备组)).OrderBy(v => Distance(v)).FirstOrDefault();
+            var a = LocationList.Where(v => v.Entity.Is(DF.涂布RGV取货设备组) || v.Entity.Is(DF.BOPPRGV取货设备组));
+            return LocationList.Where(v => v.Entity.Is(DF.涂布RGV取货设备组) || v.Entity.Is(DF.BOPPRGV取货设备组)).OrderBy(v => Distance(v)).FirstOrDefault();
         }
 
         /// <summary>
@@ -510,13 +511,13 @@ namespace WCS.Service.Extensions
         /// <returns></returns>
         public StationDeviceGroup CurrentStation()
         {
-            return LocationList.Where(v => v.Entity.Is(DF.涂布RGV取货设备组) || v.Entity.Is(DF.涂布RGV放货设备组)).Where(v =>
-               {
-                   //RGV与站台距离误差为 正负50500
-                   var max = v.Position + 500;
-                   var min = v.Position - 500;
-                   return Data2.Position < max && Data2.Position > min;
-               }).FirstOrDefault();
+            return LocationList.Where(v => v.Entity.Is(DF.涂布RGV取货设备组) || v.Entity.Is(DF.涂布RGV放货设备组) || v.Entity.Is(DF.BOPPRGV取货设备组) || v.Entity.Is(DF.BOPPRGV放货设备组)).Where(v =>
+                {
+                    //RGV与站台距离误差为 正负50500
+                    var max = v.Position + 500;
+                    var min = v.Position - 500;
+                    return Data2.Position < max && Data2.Position > min;
+                }).FirstOrDefault();
         }
 
         /// <summary>
@@ -1009,18 +1010,18 @@ namespace WCS.Service.Extensions
                 new StationLocation("G9",1256875,"RGV3",1567770),
                 new StationLocation("G10",1313239,"RGV3",1567770),
                 new StationLocation("G11",1369970,"RGV3",1567770),
-                new StationLocation("G12",636770,"RGV1",3000000),
-                new StationLocation("G13",749520,"RGV1",3000000),
-                new StationLocation("G14",879930,"RGV1",3000000),
-                new StationLocation("G15",936310,"RGV1",3000000),
-                new StationLocation("G16",988000,"RGV1",3000000),
-                new StationLocation("G17",2335849,"RGV1",3000000),
-                new StationLocation("G18",2415849,"RGV1",3000000),
-                new StationLocation("G19",2495849,"RGV1",3000000),
-                new StationLocation("G20",2548012,"RGV1",3000000),
-                new StationLocation("G21",2606033,"RGV1",3000000),
-                new StationLocation("G22",2660833,"RGV1",3000000),
-                new StationLocation("G23",2715603,"RGV1",3000000),
+                new StationLocation("G12",636770,"RGV1",3719290),
+                new StationLocation("G13",749520,"RGV1",3719290),
+                new StationLocation("G14",879930,"RGV1",3719290),
+                new StationLocation("G15",936310,"RGV1",3719290),
+                new StationLocation("G16",988000,"RGV1",3719290),
+                new StationLocation("G17",2335849,"RGV1",3719290),
+                new StationLocation("G18",2410000,"RGV1",3719290),
+                new StationLocation("G19",2495849,"RGV1",3719290),
+                new StationLocation("G20",2548012,"RGV1",3719290),
+                new StationLocation("G21",2606033,"RGV1",3719290),
+                new StationLocation("G22",2660833,"RGV1",3719290),
+                new StationLocation("G23",2715603,"RGV1",3719290),
             });
         }
 

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

@@ -252,7 +252,7 @@ namespace WCS.Service.Works.RGV
                 if (pickStation != null)
                 {
                     //是否是取货站台
-                    if (pickStation.Entity.Is(DF.涂布RGV取货设备组))
+                    if (pickStation.Entity.Is(DF.BOPPRGV取货设备组))
                     {
                         // 筛选出有任务号和起始及目标地址的设备
                         var devs = pickStation.RGVGetTaskedDevice();

+ 4 - 1
Projects/永冠OPP/WCS.Service/Works/Station/BOPP入库.cs

@@ -141,7 +141,10 @@ namespace WCS.Service.Works.Station
                                           .ToList();
                         var putStation = Device.Where(v => v.IsConv() && v.ROUTES.Any(p => p.NEXT != null && allIn.Contains(p.NEXT.CODE))) //下一个目标地址包含取货点的设备
                                       .Select(v => v.Create<StationDevice>()) //取所有可以到达取货点设备的信息
-                                      .Where(v => !v.Data3.Status.HasFlag(StationStatus.运行状态位) && !v.Data2.Status.HasFlag(IstationStatus.光电状态) && v.Data2.Tasknum < 10000)//筛选出空闲的路径点,此处因输送机都是一个动力,因此可以先找路径点再找设备组
+                                       .Where(v => !v.Data3.Status.HasFlag(StationStatus.运行状态位)
+                                                   && !v.Data2.Status.HasFlag(IstationStatus.光电状态)
+                                                   && v.Data2.Tasknum < 10000
+                                                   && v.Data3.Status.HasFlag(StationStatus.自动))//筛选出空闲的路径点,此处因输送机都是一个动力,因此可以先找路径点再找设备组
                                       .Distinct()
                                       .FirstOrDefault();//去一次重
                         if (putStation == null) continue;

+ 5 - 1
Projects/永冠OPP/WCS.Service/Works/Station/涂布入库.cs

@@ -298,12 +298,16 @@ namespace WCS.Service.Works.Station
                             //获得RGV的交货点
                             var rgvDeliveryPoint = Device.Where(v => v.IsConv() && v.ROUTES.Any(p => p.NEXT != null && turntable.Contains(p.NEXT.CODE)))
                                           .Select(v => v.Create<StationDevice>()) //取所有可以到达取货点设备的信息
-                                          .Where(v => !v.Data3.Status.HasFlag(StationStatus.运行状态位) && !v.Data2.Status.HasFlag(IstationStatus.光电状态) && v.Data2.Tasknum < 10000)//筛选出空闲的路径点,此处因输送机都是一个动力,因此可以先找路径点再找设备组
+                                          .Where(v => !v.Data3.Status.HasFlag(StationStatus.运行状态位)
+                                                   && !v.Data2.Status.HasFlag(IstationStatus.光电状态)
+                                                   && v.Data2.Tasknum < 10000
+                                                   && v.Data3.Status.HasFlag(StationStatus.自动))//筛选出空闲的路径点,此处因输送机都是一个动力,因此可以先找路径点再找设备组
                                           .Distinct()
                                           .FirstOrDefault();//去一次重
                             if (rgvDeliveryPoint == null) continue;
 
                             var taskInStation = Device.Where(p => p.CODE.StartsWith("G") && p.DEVICEGROUP.Any(d => d.MEMBER == rgvDeliveryPoint.Entity)).OrderBy(p => p.CODE).FirstOrDefault();
+
                             //RGV是否有正在前往这个地址的任务
                             var rgvList = Device.Where(v => v.Is(DF.涂布RGV)).Select(v => v.Create<RGVDevice>());
                             if (rgvList.Any(v => (!v.Data2.SystemStatus.HasFlag(WCS.Entity.Protocol.RGV.RGVRunStatus.空闲) || !v.Data2.WorkMode.HasFlag(WCS.Entity.Protocol.RGV.RGVMode.自动))

+ 1 - 1
WCS.Core/Device.cs

@@ -174,5 +174,5 @@ public enum DF
     SRM涂布放货 = 1 << 12,
     涂布RGV取货站台 = 1 << 13,
     BOPPRGV取货设备组 = 1 << 14,
-    BOPPRGV放货设备组 = 1 << 14,
+    BOPPRGV放货设备组 = 1 << 15,
 }