Переглянути джерело

捆扎机信号、码垛区确认信号问题修改

Administrator 2 роки тому
батько
коміт
567ff09cb7

BIN
DLL/PLC.Siemens.dll


+ 18 - 5
Projects/永冠/WCS.Service/Works/Robots/RobotWork.cs

@@ -97,20 +97,33 @@ 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 + "不存在");
 
-            if (Ltc.Do(target, target => target.Data.PH_STATUS == false)) throw new Exception($"目标位置[{target}]无光电信号");
-
-            if (Ltc.Do(target, C2153, (target, C2153) => target.Data.GOODSCODE != C2153.Data.GOODSCODE)) //单号不符
+            //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}]托盘未到位");
+
+            if (Ltc.Do(target, C2153, (target, C2153) => target.Data.GOODSCODE != C2153.Data.GOODSCODE) && target.Data3.Qty != target.Data.GOODSSIZE) //单号不符
             {
                 if ((Ltc.Do(target, C2153, (target, C2153) => target.Data.GOODSTYPE != 0 && C2153.Data.GOODSTYPE != 0 && target.Data.GOODSTYPE != C2153.Data.GOODSTYPE))) //托盘类型不符
                 {
                     GeneralHelper.DischargeOfTray(target);
-                    LogHelper.AddWCS_EXCEPTION($"2153:{C2153.Data.TASKNUM}与{target.Entity.CODE}单号不符,托盘有货,自动排出");
+                    LogHelper.AddWCS_EXCEPTION($"2153:{C2153.Data.TASKNUM}与{target.Entity.CODE}单号不符,托盘有货,自动排出106");
                     return;
                 }
                 if (target.Data3.Qty > 0) //有托盘
                 {
                     GeneralHelper.DischargeOfTray(target);
-                    LogHelper.AddWCS_EXCEPTION($"2153:{C2153.Data.TASKNUM}与{target.Entity.CODE}单号不符,托盘有货,自动排出");
+                    LogHelper.AddWCS_EXCEPTION($"2153:{C2153.Data.TASKNUM}与{target.Entity.CODE}单号不符,托盘有货,自动排出112");
                     return;
                 }
                 if (target.Data3.Qty == 0) //无托盘

+ 11 - 0
Projects/永冠/WCS.Service/Works/SC/SCWork.cs

@@ -101,6 +101,17 @@ namespace WCS.Service.Works
                         target.Data2.GOODSTYPE = task.PALLETTYPE;
                         target.Data2.GOODSEND = short.Parse(task.ADDRNEXT);
                     }
+
+                    else if (task.TYPE == TaskType.移库)
+                    {
+                        if (task.STATUS == TaskStatus.堆垛机执行)
+                        {
+                            task.STATUS = TaskStatus.已完成;
+                            task.UPDATETIME = DateTime.Now;
+                            db.Default.SaveChanges();
+                            Uploader.Upload(db);
+                        }
+                    }
                     else throw new Exception($"[{deviceCode}]任务类型错误");
 
                     dev.Data2.FinishedACK = 1;

+ 14 - 10
Projects/永冠/WCS.Service/Works/Stations/组盘位.cs

@@ -23,7 +23,7 @@ namespace WCS.Service.Works.Stations
             if (dev.Data.RES4 && dev.Data3.Qty > 0)
             {
                 GeneralHelper.DischargeOfTray(dev);
-                LogHelper.AddWCS_EXCEPTION($"{dev.Entity.CODE}单号不符,托盘有货,自动排出");
+                LogHelper.AddWCS_EXCEPTION($"{dev.Entity.CODE}单号不符,托盘有货,自动排出26");
                 return;
             }
 
@@ -127,7 +127,7 @@ namespace WCS.Service.Works.Stations
                         switch (dev.Data3.MaxQty)
                         {
                             case 2:
-                                task.HEIGHT = 0;
+                                task.HEIGHT = 6;
                                 break;
 
                             case 4:
@@ -162,15 +162,19 @@ namespace WCS.Service.Works.Stations
                         }
                     }
                     //else
-                    if (!move && task != null)
+                    //if (!move && task != null)
+                    //{
+                    //    if (Ltc.Do(dev, task, (v, task) => v.Data.GOODSCODE != task.DOCID))
+                    //    {//托盘类型不匹配,挪走
+                    //        move = true;                    
+                    //    }
+                    //}
+
+                    if (move)
                     {
-                        if (Ltc.Do(dev, task, (v, task) => v.Data.GOODSCODE != task.DOCID))
-                        {//托盘类型不匹配,挪走
-                            move = true;
-                        }
-                    }
-
-                    if (move) GeneralHelper.DischargeOfTray(dev);
+                        GeneralHelper.DischargeOfTray(dev);
+                        LogHelper.AddWCS_EXCEPTION($"{dev.Entity.CODE}强制排出175");
+                    }                   
                 }
             }
         }