林豪 左 1 year ago
parent
commit
514e222e1b

+ 2 - 0
WCS.WorkEngineering/Extensions/DeviceExtension.cs

@@ -1,4 +1,5 @@
 using PlcSiemens.Core.Extension;
+using ServiceCenter.Extensions;
 using ServiceCenter.Logs;
 using ServiceCenter.Redis;
 using WCS.Core;
@@ -164,6 +165,7 @@ namespace WCS.WorkEngineering.Extensions
             if (device.Data3.Status.HasFlag(StationStatus.PH_Status) && device.Data2.Request == 0) throw new KnownException("有光电无请求", LogLevelEnum.Mid);
             if (!device.Data3.Status.HasFlag(StationStatus.PH_Status) && device.Data2.Request == 1) throw new KnownException("无光电有请求", LogLevelEnum.Mid);
             if (!device.Data3.Status.HasFlag(StationStatus.OT_Status)) throw new KnownException("站台货物信息与实际占用不一致", LogLevelEnum.Low);
+            if (device.Data2.Request != 1.ToShort()) throw new KnownException("无请求", LogLevelEnum.Mid);
         }
 
         /// <summary>

+ 17 - 17
WCS.WorkEngineering/Systems/一楼扫码入库.cs

@@ -1,5 +1,4 @@
-using PlcSiemens.Core.Extension;
-using ServiceCenter.Logs;
+using ServiceCenter.Logs;
 using ServiceCenter.SqlSugars;
 using System.ComponentModel;
 using WCS.Core;
@@ -49,30 +48,31 @@ namespace WCS.WorkEngineering.Systems
                         {
                             PalletCode = barcode,
                             StartLoc = obj.Entity.Code,
-                            Height = obj.Data4.Length.ToInt()
+                            Height = 1
                         });
                         if (res.ResCode == WebApi.Models.WMS.Response.ResponseStatusCodeEnum.Sucess) return;
                     }
                     //找到对应的任务
-                    task = db.Queryable<WCS_TaskInfo>().First(v => v.BarCode == barcode);
-                    if (task.Status == Entity.TaskStatus.WaitingToExecute)
+                    var taskInfo = db.Queryable<WCS_TaskInfo>().First(v => v.BarCode == barcode);
+                    if (taskInfo.Status == Entity.TaskStatus.WaitingToExecute)
                     {
                         var tunnel = obj.Entity.Targets.Where(v => v.HasFlag(Extensions.DeviceFlags.巷道)).FirstOrDefault();
                         //开始对任务进行处理
-                        task.Status = Entity.TaskStatus.ConveyorExecution;
-                        task.StartTime = DateTime.Now;
-                        task.SrmStation = task.AddrFrom;
-                        task.LastInteractionPoint = obj.Entity.Code;
-                        task.Tunnel = tunnel.Code;
-                        task.Height = (short)obj.Data4.Length;
+                        taskInfo.Status = Entity.TaskStatus.ConveyorExecution;
+                        taskInfo.StartTime = DateTime.Now;
+                        taskInfo.SrmStation = taskInfo.AddrFrom;
+                        taskInfo.LastInteractionPoint = obj.Entity.Code;
+                        taskInfo.Tunnel = tunnel.Code;
+                        taskInfo.Height = 1;
                         switch (obj.Entity.Code)
                         {
-                            case "2532": task.Device = "SRM1"; break;
-                            case "2732": task.Device = "SRM2"; break;
+                            case "2532": taskInfo.Device = "SRM1"; break;
+                            case "2732": taskInfo.Device = "SRM2"; break;
                         };
-                        task.AddWCS_TASK_DTL(_db, obj.Entity.Code, "开始执行入库任务");
-                        db.Updateable(task).ExecuteCommand();
-                        task.updateRedisHash();
+                        taskInfo.AddWCS_TASK_DTL(_db, obj.Entity.Code, "开始执行入库任务");
+                        db.Updateable(taskInfo).ExecuteCommand();
+                        taskInfo.updateRedisHash();
+                        task = taskInfo;
                     }
                     else return;
                 });
@@ -83,7 +83,7 @@ namespace WCS.WorkEngineering.Systems
             }
             if (task == null) return;
 
-            World.Log($"任务处理:开始-DB520[{obj.Data.TaskNumber}]-[{obj.Data.VoucherNo}]-DB521[{obj.Data2.TaskNumber}]-[{obj.Data2.VoucherNo}]");
+            World.Log($"任务处理:开始-DB520[{obj.Data.TaskNumber}]-[{obj.Data.VoucherNo}]-DB521[{obj.Data2.TaskNumber}]-[{obj.Data2.VoucherNo}]-[{obj.Data2.Request}]");
             obj.Data.TaskNumber = task.ID;
             obj.Data.VoucherNo++;
             World.Log($"任务处理:结束-DB520[{obj.Data.TaskNumber}]-[{obj.Data.VoucherNo}]-DB521[{obj.Data2.TaskNumber}]-[{obj.Data2.VoucherNo}]");

+ 69 - 69
WCS.WorkEngineering/WorkStart.cs

@@ -80,70 +80,70 @@ namespace WCS.WorkEngineering
 
             #endregion 托盘线输送线
 
-            #region 满轮输送线
+            //#region 满轮输送线
 
-            #region DB523,所有线体都会有DB523
+            //#region DB523,所有线体都会有DB523
 
-            List<StationSegmentInfo> segmentInfo1 = new List<StationSegmentInfo>
-            {
-                new StationSegmentInfo(1, 100, "10.30.37.166"),
-                new StationSegmentInfo(401, 586, "10.30.37.166"),
-            };
+            //List<StationSegmentInfo> segmentInfo1 = new List<StationSegmentInfo>
+            //{
+            //    new StationSegmentInfo(1, 100, "10.30.37.166"),
+            //    new StationSegmentInfo(401, 586, "10.30.37.166"),
+            //};
 
-            foreach (var item in segmentInfo1)
-            {
-                for (int i = item.Start; i <= item.End; i++)
-                {
-                    var conv = new Device(i.ToString());
-                    conv.AddFlag(DeviceFlags.输送机);
-                    conv.AddProtocol<IStation523>((i - item.Start) * 12, 523, item.IP);
-                }
-            }
+            //foreach (var item in segmentInfo1)
+            //{
+            //    for (int i = item.Start; i <= item.End; i++)
+            //    {
+            //        var conv = new Device(i.ToString());
+            //        conv.AddFlag(DeviceFlags.输送机);
+            //        conv.AddProtocol<IStation523>((i - item.Start) * 12, 523, item.IP);
+            //    }
+            //}
 
-            #endregion DB523,所有线体都会有DB523
+            //#endregion DB523,所有线体都会有DB523
 
-            #region 520、521 交互线体会有520、521
+            //#region 520、521 交互线体会有520、521
 
-            //Item1表示线体号集合,Item2表示IP,Item3表示设备标识
-            var list = new List<Tuple<List<int>, string, DeviceFlags>>()
-            {
-                new Tuple<List<int>, string,DeviceFlags>(new List<int>(){1 },"10.30.37.166",DeviceFlags.满轮主线第一次扫码),
-                new Tuple<List<int>, string,DeviceFlags>(new List<int>(){22, 41, 61 },"10.30.37.166",DeviceFlags.主线分流点),
-                //new Tuple<List<int>, string,DeviceFlags>(new List<int>(){418, },"10.30.37.166",DeviceFlags.主线分流点)
-            };
+            ////Item1表示线体号集合,Item2表示IP,Item3表示设备标识
+            //var list = new List<Tuple<List<int>, string, DeviceFlags>>()
+            //{
+            //    new Tuple<List<int>, string,DeviceFlags>(new List<int>(){1 },"10.30.37.166",DeviceFlags.满轮主线第一次扫码),
+            //    new Tuple<List<int>, string,DeviceFlags>(new List<int>(){22, 41, 61 },"10.30.37.166",DeviceFlags.主线分流点),
+            //    //new Tuple<List<int>, string,DeviceFlags>(new List<int>(){418, },"10.30.37.166",DeviceFlags.主线分流点)
+            //};
 
-            foreach (var item in list)
-            {
-                for (int i = 0; i < item.Item1.Count; i++)
-                {
-                    var device = Device.All.FirstOrDefault(v => v.Code == item.Item1[i].ToString());
-                    device.AddFlag(item.Item3);
-                    device.AddProtocol<IStation520>(i * 14, 520, item.Item2);
-                    device.AddProtocol<IStation521>(i * 16, 521, item.Item2);
-                }
-            }
+            //foreach (var item in list)
+            //{
+            //    for (int i = 0; i < item.Item1.Count; i++)
+            //    {
+            //        var device = Device.All.FirstOrDefault(v => v.Code == item.Item1[i].ToString());
+            //        device.AddFlag(item.Item3);
+            //        device.AddProtocol<IStation520>(i * 14, 520, item.Item2);
+            //        device.AddProtocol<IStation521>(i * 16, 521, item.Item2);
+            //    }
+            //}
 
-            #endregion 520、521 交互线体会有520、521
+            //#endregion 520、521 交互线体会有520、521
 
-            #region 满轮扫码器
+            //#region 满轮扫码器
 
-            var list1 = new List<Tuple<List<int>, string>>()
-            {
-                new Tuple<List<int>, string>(new List<int>(){1 },"10.30.37.166"),
-                new Tuple<List<int>, string>(new List<int>(){22, 41, 61 },"10.30.37.166")
-            };
-            foreach (var item in list1)
-            {
-                for (int i = 0; i < item.Item1.Count; i++)
-                {
-                    var device = Device.All.FirstOrDefault(v => v.Code == item.Item1[i].ToString());
-                    device.AddProtocol<IBCR83>(i * 602, 83, item.Item2);
-                }
-            }
+            //var list1 = new List<Tuple<List<int>, string>>()
+            //{
+            //    new Tuple<List<int>, string>(new List<int>(){1 },"10.30.37.166"),
+            //    new Tuple<List<int>, string>(new List<int>(){22, 41, 61 },"10.30.37.166")
+            //};
+            //foreach (var item in list1)
+            //{
+            //    for (int i = 0; i < item.Item1.Count; i++)
+            //    {
+            //        var device = Device.All.FirstOrDefault(v => v.Code == item.Item1[i].ToString());
+            //        device.AddProtocol<IBCR83>(i * 602, 83, item.Item2);
+            //    }
+            //}
 
-            #endregion 满轮扫码器
+            //#endregion 满轮扫码器
 
-            #endregion 满轮输送线
+            //#endregion 满轮输送线
 
             #endregion 基本信息
 
@@ -212,25 +212,25 @@ namespace WCS.WorkEngineering
 
             #endregion 初始化RGV相关信息
 
-            #region 初始化桁架相关信息
+            //#region 初始化桁架相关信息
 
-            List<TrussSegmentInfo> TrussInfo = new List<TrussSegmentInfo>
-            {
-                //new TrussSegmentInfo( 1, "10.30.37.211"),
-            };
-
-            foreach (var item in TrussInfo)
-            {
-                var conv = new Device($"Truss{item.Code}");
-                conv.AddFlag(DeviceFlags.桁架);
-                conv.AddProtocol<ITruss520>(0, 520, item.IP);
-                conv.AddProtocol<ITruss521>(0, 521, item.IP);
-                conv.AddProtocol<ITruss523>(0, 523, item.IP);
-                conv.AddProtocol<ITruss530>(0, 530, item.IP);
-                conv.AddProtocol<ITruss531>(0, 531, item.IP);
-            }
+            //List<TrussSegmentInfo> TrussInfo = new List<TrussSegmentInfo>
+            //{
+            //    //new TrussSegmentInfo( 1, "10.30.37.211"),
+            //};
 
-            #endregion 初始化桁架相关信息
+            //foreach (var item in TrussInfo)
+            //{
+            //    var conv = new Device($"Truss{item.Code}");
+            //    conv.AddFlag(DeviceFlags.桁架);
+            //    conv.AddProtocol<ITruss520>(0, 520, item.IP);
+            //    conv.AddProtocol<ITruss521>(0, 521, item.IP);
+            //    conv.AddProtocol<ITruss523>(0, 523, item.IP);
+            //    conv.AddProtocol<ITruss530>(0, 530, item.IP);
+            //    conv.AddProtocol<ITruss531>(0, 531, item.IP);
+            //}
+
+            //#endregion 初始化桁架相关信息
 
             #region 初始化堆垛机相关信息