Administrator há 3 anos atrás
pai
commit
976dd60e8a
2 ficheiros alterados com 22 adições e 11 exclusões
  1. BIN
      DLL/PLC.Siemens.dll
  2. 22 11
      Projects/永冠/WCS.Service/Works/RGV/RGVWork.cs

BIN
DLL/PLC.Siemens.dll


+ 22 - 11
Projects/永冠/WCS.Service/Works/RGV/RGVWork.cs

@@ -140,7 +140,7 @@ namespace WCS.Service.Works
             //判断小车是否有工位有光电,小车空闲自动且有光电代表需要执行放货任务
             if (dev.Data.PH_Status_1 || dev.Data.PH_Status_2)
             {
-                if (dev.Data.PH_Status_1) //工位一需要放货
+                if (dev.Data.PH_Status_1 && dev.Data.TaskType_1 != DRGVTaskType.放货) //工位一需要放货
                 {
                     if (dev.Data.TaskID_1 < 10000) throw new Exception("有光电无任务号");
                     string next = "";
@@ -148,7 +148,7 @@ namespace WCS.Service.Works
                     DB.Do(db =>
                     {
                         var task = db.Default.Set<WCS_TASK>().FirstOrDefault(v => v.ID == dev.Data.TaskID_1) ?? throw new Exception($"WCS不存在任务{dev.Data.TaskID_1}");
-                        var next = dev.Entity.GetNext(task.ADDRTO).CODE;
+                        //var next = dev.Entity.GetNext(task.ADDRTO).CODE;
                     });
                     //TODO:放货站点有货检查
                     dev.Data2.TaskID_1 = dev.Data.TaskID_1;
@@ -158,7 +158,7 @@ namespace WCS.Service.Works
                     dev.Data2.Trigger_1 = 1;
                     
                 }
-                else if (dev.Data.PH_Status_2)//工位二需要放货
+                else if (dev.Data.PH_Status_2 && dev.Data.TaskType_2 != DRGVTaskType.放货 )//工位二需要放货
                 {
                     if (dev.Data.TaskID_2 < 10000) throw new Exception("有光电无任务号");
 
@@ -167,7 +167,7 @@ namespace WCS.Service.Works
                     DB.Do(db =>
                     {
                         var task = db.Default.Set<WCS_TASK>().FirstOrDefault(v => v.ID == dev.Data.TaskID_2) ?? throw new Exception($"WCS不存在任务{dev.Data.TaskID_2}");
-                        var next = dev.Entity.GetNext(task.ADDRTO).CODE;
+                        //var next = dev.Entity.GetNext(task.ADDRTO).CODE;
                     });
                     //TODO:放货站点有货检查
                     dev.Data2.TaskID_2 = dev.Data.TaskID_2;
@@ -203,8 +203,8 @@ namespace WCS.Service.Works
             if (dev.Data.RES is 3035 or 3036) validPickupPoint = validPickupPoints.FirstOrDefault(v => v.Entity.CODE is "3035" or "3036");
             else if (dev.Data.RES is 3041 or 3040) validPickupPoint = validPickupPoints.FirstOrDefault(v => v.Entity.CODE is "3041" or "3040");
             else if (dev.Data.RES is 3047 or 3048) validPickupPoint = validPickupPoints.FirstOrDefault(v => v.Entity.CODE is "3047" or "3048");
-            else if (dev.Data.RES is 2390 or 2108 or 2359) validPickupPoint = validPickupPoints.FirstOrDefault(v => v.Entity.CODE is "2390" or "2108");
-            else if(dev.Data.RES is 2114 or 2359) validPickupPoint = validPickupPoints.FirstOrDefault(v => v.Entity.CODE is "2114");
+            //else if (dev.Data.RES is 2108 or 2359) validPickupPoint = validPickupPoints.FirstOrDefault(v => v.Entity.CODE is "2108" or "2114");
+            else if(dev.Data.RES is 2114 or 2359 or 2108) validPickupPoint = validPickupPoints.FirstOrDefault(v => v.Entity.CODE is "2114" or "2108");
             //当前站点没有需要取货的
             if (validPickupPoint == null) validPickupPoint = validPickupPoints.OrderBy(v => v.UpdateTime).FirstOrDefault() ?? throw new Exception("没有站台需要取货");
 
@@ -219,11 +219,22 @@ namespace WCS.Service.Works
             }
             else if (validPickupPoint.Entity.CODE is "2114") //二工位取货点
             {
-                dev.Data2.TaskID_2 = dev.Data.TaskID_2;
-                dev.Data2.TaskType_2 = Convert.ToInt16(DRGVTaskType.取货);
-                dev.Data2.StartPosition_1 = Convert.ToInt16(next1.CODE);
-                dev.Data2.DestPosition_1 = Convert.ToInt16(validPickupPoint.Entity.CODE);
-                dev.Data2.Trigger_2 = 1;
+                if (dev.Data.RES is 2114)
+                {
+                    dev.Data2.TaskID_2 = validPickupPoint.Data.TASKNUM;
+                    dev.Data2.TaskType_2 = Convert.ToInt16(DRGVTaskType.取货);
+                    dev.Data2.StartPosition_2 = Convert.ToInt16(next1.CODE);
+                    dev.Data2.DestPosition_2 = Convert.ToInt16(validPickupPoint.Entity.CODE);
+                    dev.Data2.Trigger_2 = 1;
+                }
+                else
+                {
+                    dev.Data2.TaskID_2 = 100;
+                    dev.Data2.TaskType_2 = 3;
+                    dev.Data2.StartPosition_2 = dev.Data.RES;
+                    dev.Data2.DestPosition_2 = Convert.ToInt16(validPickupPoint.Entity.CODE);
+                    dev.Data2.Trigger_2 = 1;
+                }
             }
 
             #endregion 取货任务