Pārlūkot izejas kodu

rgv&&码垛区故障排出

Administrator 2 gadi atpakaļ
vecāks
revīzija
cc28773f96

+ 2 - 1
Projects/永冠/WCS.Service/ProtocolProxy.cs

@@ -101,7 +101,8 @@ namespace WCS.Service
         static ProtocolProxy()
         {
             MessagePackSerializer.DefaultOptions = StandardResolver.Options.WithCompression(MessagePackCompression.Lz4Block);
-            Redis = new RedisClient("212.64.66.35,password=Aa123456,database=11");
+            //Redis = new RedisClient("212.64.66.35,password=Aa123456,database=11");
+            Redis = new RedisClient("192.168.249.120,password=123456,database=10");
             WMS120Redis = new RedisClient("192.168.249.120,password=123456,database=0");
             Redis.Serialize = obj =>
             {

+ 9 - 5
Projects/永冠/WCS.Service/Works/RGV/RGVWork.cs

@@ -654,7 +654,7 @@ namespace WCS.Service.Works
                         dev.Data2.DestPosition_2 = 3060;
                         dev.Data2.Trigger_2 = 1;
                     }
-                    else if (station_3040.Data.PH_STATUS && station_3040.Data.GOODSEND == 3040 && station_3040.Data.TASKNUM > 10000 && isOK && noPhstatus)
+                    else if (station_3040.Data.PH_STATUS  && station_3040.Data.TASKNUM > 10000 && isOK && noPhstatus)
                     {
                         short outTemp = 3060;
                         var arr = Device.Find("3006", "3060", "3001", "3005", "3004").Select(v => v.Device<IStation521, IStation520>()).ToArray();
@@ -832,10 +832,14 @@ namespace WCS.Service.Works
 
                 var validPickupPoint = validPickupPoints.OrderBy(v => v.UpdateTime).FirstOrDefault() ?? throw new Exception("没有站台需要取货");
 
-                dev.Data2.TaskID = validPickupPoint.Data.TASKNUM;
-                dev.Data2.StartPosition = Convert.ToInt16(validPickupPoint.Entity.CODE);
-                dev.Data2.DestPosition = validPickupPoint.Data.GOODSEND;
-                dev.Data2.Trigger = 1;
+                if (validPickupPoint.Data.GOODSEND != 3005)
+                {
+                    dev.Data2.TaskID = validPickupPoint.Data.TASKNUM;
+                    dev.Data2.StartPosition = Convert.ToInt16(validPickupPoint.Entity.CODE);
+                    dev.Data2.DestPosition = validPickupPoint.Data.GOODSEND;
+                    dev.Data2.Trigger = 1;
+                }
+                
             }
             else if (SystemConfigHelpers.GetDeviceIsUsed("RGV7") && dev.Entity.CODE == "RGV7")
             {

+ 24 - 15
Projects/永冠/WCS.Service/Works/Robots/RobotWork.cs

@@ -38,6 +38,8 @@ namespace WCS.Service.Works.Robots
                 var fTaskId = dev.Data.FinishedTask;
 
                 var fTarget = dev.Entity.ROUTES.Where(v => v.NEXT.ProductLine() == dev.Data.Target).Select(v => v.NEXT.Device<IStation521>()).FirstOrDefault();
+
+                var fTarget1 = dev.Entity.ROUTES.Where(v => v.NEXT.ProductLine() == dev.Data.Target).Select(v => v.NEXT.Device<IStation521,IStation520,IRobotStation>()).FirstOrDefault();
                 if (fTarget == null)
                 {
                     var msg = "目标位置" + dev.Data.Target + "有误";
@@ -51,6 +53,8 @@ namespace WCS.Service.Works.Robots
                     var taskPallet = db.Default.Set<WCS_TASK>().Find(fTarget.Data.TASKNUM);
                     if (taskPallet == null)
                         throw new Exception("空托盘任务号" + fTarget.Data.TASKNUM + "不存在");
+                    if(taskPallet.TYPE == TaskType.入库)
+                        throw new Exception("托盘" + taskPallet.BARCODE  + "已有入库任务,请检查条码是否重复");
                     var container = taskPallet.BARCODE;
 
                     task.STATUS = WCS.Entity.TaskStatus.已完成;
@@ -63,7 +67,12 @@ namespace WCS.Service.Works.Robots
 
                     var res = WMS.AutoBuildUpGroupStock(container, task.BARCODE, dev.Entity.CODE);
                     if (Ltc.Do(res, v => v.ResType == false))
-                        throw new Exception(res.ResMessage);
+                    {
+                        //throw new Exception(res.ResMessage);
+                        
+                        GeneralHelper.DischargeOfTray(fTarget1);
+                        LogHelper.AddWCS_EXCEPTION($"{dev.Entity.CODE}强制排出,原因:{res.ResMessage}");
+                    }
                     dev.Data.FinishedTask = 0;
                 });
                 return;
@@ -97,20 +106,20 @@ namespace WCS.Service.Works.Robots
             var target = dev.Entity.ROUTES.Where(v => v.NEXT.ProductLine() == workShop).Select(v => v.NEXT.Device<IStation521, IStation520, IRobotStation>()).FirstOrDefault();
             if (target == null) throw new Exception("机器人目标位置" + workShop + "不存在");
 
-            //string tType = "";
-            //if (C2153.Data.GOODSTYPE == 4)
-            //{
-            //    tType = "母";
-            //}
-            //else if (C2153.Data.GOODSTYPE == 3)
-            //{
-            //    tType = "T2";
-            //}
-            //else if (C2153.Data.GOODSTYPE == 1)
-            //{
-            //    tType = "T9";
-            //}
-            if (Ltc.Do(target, target => target.Data.PH_STATUS == false)) throw new Exception($"目标位置[{target}]托盘未到位");
+            string tType = "";
+            if (C2153.Data.GOODSTYPE == 4)
+            {
+                tType = "母";
+            }
+            else if (C2153.Data.GOODSTYPE == 3)
+            {
+                tType = "T2";
+            }
+            else if (C2153.Data.GOODSTYPE == 1)
+            {
+                tType = "T9";
+            }
+            if (Ltc.Do(target, target => target.Data.PH_STATUS == false)) throw new Exception($"目标位置[{target}]{tType}托盘未到位");
 
             if (Ltc.Do(target, C2153, (target, C2153) => target.Data.GOODSCODE != C2153.Data.GOODSCODE) && target.Data3.Qty != target.Data.GOODSSIZE) //单号不符
             {