林豪 左 2 年之前
父节点
当前提交
2d9a2e44b6
共有 29 个文件被更改,包括 122 次插入75 次删除
  1. 2 2
      WCS.Entity.Protocol/Station/Station520.cs
  2. 2 2
      WCS.Entity.Protocol/Station/Station521.cs
  3. 3 3
      WCS.Entity.Protocol/Station/Station523.cs
  4. 1 1
      WCS.Entity.Protocol/Station/Station90.cs
  5. 4 4
      WCS.Entity.Protocol/Station/Station91.cs
  6. 4 4
      WCS.WorkEngineering/Extensions/StationExtension.cs
  7. 1 1
      WCS.WorkEngineering/Protocol/DataStructure/StationData.cs
  8. 11 0
      WCS.WorkEngineering/Protocol/Station/IStation520.cs
  9. 11 0
      WCS.WorkEngineering/Protocol/Station/IStation521.cs
  10. 11 0
      WCS.WorkEngineering/Protocol/Station/IStation523.cs
  11. 8 0
      WCS.WorkEngineering/Protocol/Station/IStation90.cs
  12. 11 0
      WCS.WorkEngineering/Protocol/Station/IStation91.cs
  13. 6 7
      WCS.WorkEngineering/Protocol/Station/StationEnum.cs
  14. 2 2
      WCS.WorkEngineering/Protocol/Station/WCS_Station520.cs
  15. 2 2
      WCS.WorkEngineering/Protocol/Station/WCS_Station521.cs
  16. 3 3
      WCS.WorkEngineering/Protocol/Station/WCS_Station523.cs
  17. 1 1
      WCS.WorkEngineering/Protocol/Station/WCS_Station90.cs
  18. 2 2
      WCS.WorkEngineering/Protocol/Station/WCS_Station91.cs
  19. 17 21
      WCS.WorkEngineering/Systems/AgvSystems.cs
  20. 1 1
      WCS.WorkEngineering/Systems/DataCollectionSysyem.cs
  21. 1 1
      WCS.WorkEngineering/Systems/DeviceWriteSystem.cs
  22. 1 1
      WCS.WorkEngineering/Systems/GetDeviceSystem.cs
  23. 7 9
      WCS.WorkEngineering/Systems/SrmSystems.cs
  24. 2 2
      WCS.WorkEngineering/Systems/一楼入库工位处理系统.cs
  25. 2 1
      WCS.WorkEngineering/Systems/一楼出库工位处理系统.cs
  26. 1 1
      WCS.WorkEngineering/Systems/二楼入库工位处理系统.cs
  27. 2 1
      WCS.WorkEngineering/Systems/二楼出库工位处理系统.cs
  28. 2 2
      WCS.WorkEngineering/WebApi/Controllers/AgvController.cs
  29. 1 1
      WCS.WorkEngineering/WorkStart.cs

+ 2 - 2
WCS.Entity.Protocol/Station/IStation520.cs → WCS.Entity.Protocol/Station/Station520.cs

@@ -5,7 +5,7 @@ namespace WCS.Entity.Protocol.Station
     /// <summary>
     /// DB520
     /// </summary>
-    public interface IStation520 : IProtocol
+    public interface Station520<mode> : IProtocol
     {
         /// <summary>
         ///  任务号
@@ -29,7 +29,7 @@ namespace WCS.Entity.Protocol.Station
         /// 运行模式
         /// </summary>
         [Description("任务类型")]
-        ModeEunm Mode { get; set; }
+        mode Mode { get; set; }
 
         /// <summary>
         /// 指令类型 1

+ 2 - 2
WCS.Entity.Protocol/Station/IStation521.cs → WCS.Entity.Protocol/Station/Station521.cs

@@ -5,7 +5,7 @@ namespace WCS.Entity.Protocol.Station
     /// <summary>
     /// 输送机交互信号 读
     /// </summary>
-    public interface IStation521 : IProtocol
+    public interface Station521<mode> : IProtocol
     {
         /// <summary>
         ///  任务号
@@ -29,7 +29,7 @@ namespace WCS.Entity.Protocol.Station
         /// 运行模式
         /// </summary>
         [Description("运行模式")]
-        ModeEunm Mode { get; set; }
+        mode Mode { get; set; }
 
         /// <summary>
         /// 指令回复

+ 3 - 3
WCS.Entity.Protocol/Station/IStation523.cs → WCS.Entity.Protocol/Station/Station523.cs

@@ -5,13 +5,13 @@ namespace WCS.Entity.Protocol.Station
     /// <summary>
     /// 输送机状态读取协议
     /// </summary>
-    public interface IStation523 : IProtocol
+    public interface Station523<alarm, status> : IProtocol
     {
         /// <summary>
         /// 警报
         /// </summary>
         [Description("警报")]
-        AlarmEunm Alarm { get; set; }
+        alarm Alarm { get; set; }
 
         /// <summary>
         /// 备用
@@ -23,7 +23,7 @@ namespace WCS.Entity.Protocol.Station
         /// 状态
         /// </summary>
         [Description("状态")]
-        StatusEunm Status { get; set; }
+        status Status { get; set; }
 
         /// <summary>
         /// 运行时间

+ 1 - 1
WCS.Entity.Protocol/Station/IStation90.cs → WCS.Entity.Protocol/Station/Station90.cs

@@ -4,7 +4,7 @@ using System.Text;
 
 namespace WCS.Entity.Protocol.Station
 {
-    public interface IStation90 : IProtocol
+    public interface Station90 : IProtocol
     {
     }
 }

+ 4 - 4
WCS.Entity.Protocol/Station/IStation91.cs → WCS.Entity.Protocol/Station/Station91.cs

@@ -3,18 +3,19 @@
     /// <summary>
     /// 外检读取信息
     /// </summary>
-    public interface IStation91 : IProtocol
+    public interface Station91<shapeAlarm> : IProtocol
     {
         /// <summary>
         /// 外形检测故障
         /// </summary>
-        ShapeAlarmEunm ShapeAlarm { get; set; }
+        shapeAlarm ShapeAlarm { get; set; }
 
         /// <summary>
         /// 重量
         /// </summary>
-       
+
         float Weight { get; set; }
+
         /// <summary>
         /// 长度
         /// </summary>
@@ -24,6 +25,5 @@
         /// 高度
         /// </summary>
         float Width { get; set; }
-
     }
 }

+ 4 - 4
WCS.WorkEngineering/Extensions/StationExtension.cs

@@ -1,7 +1,7 @@
 using ServiceCenter.Logs;
 using ServiceCenter.Redis;
 using WCS.Core;
-using WCS.Entity.Protocol.Station;
+using WCS.WorkEngineering.Protocol.Station;
 
 namespace WCS.WorkEngineering.Extensions
 {
@@ -29,9 +29,9 @@ namespace WCS.WorkEngineering.Extensions
         public void 入库站点是否满足执行条件()
         {
             if (Data.VoucherNo != Data2.VoucherNo) throw new KnownException($"凭证号不一致,DB520:{Data.VoucherNo}-DB521:{Data2.VoucherNo}", LogLevelEnum.High);
-            if (Data3.Status.HasFlag(StatusEunm.Run)) throw new KnownException("设备运行中", LogLevelEnum.Low);
-            if (Data3.Status.HasFlag(StatusEunm.PH_Status) && Data2.Request == 0) throw new KnownException("有光电无请求", LogLevelEnum.Mid);
-            if (!Data3.Status.HasFlag(StatusEunm.PH_Status) && Data2.Request == 1) throw new KnownException("无光电有请求", LogLevelEnum.Mid);
+            if (Data3.Status.HasFlag(StationStatus.Run)) throw new KnownException("设备运行中", LogLevelEnum.Low);
+            if (Data3.Status.HasFlag(StationStatus.PH_Status) && Data2.Request == 0) throw new KnownException("有光电无请求", LogLevelEnum.Mid);
+            if (!Data3.Status.HasFlag(StationStatus.PH_Status) && Data2.Request == 1) throw new KnownException("无光电有请求", LogLevelEnum.Mid);
         }
     }
 }

+ 1 - 1
WCS.WorkEngineering/Protocol/DataStructure/StationData.cs

@@ -1,6 +1,6 @@
 using System.Runtime.Serialization;
-using WCS.Entity.Protocol.Station;
 using WCS.WorkEngineering.Protocol.BCR;
+using WCS.WorkEngineering.Protocol.Station;
 
 namespace WCS.Entity.Protocol.DataStructure
 {

+ 11 - 0
WCS.WorkEngineering/Protocol/Station/IStation520.cs

@@ -0,0 +1,11 @@
+using WCS.Entity.Protocol.Station;
+
+namespace WCS.WorkEngineering.Protocol.Station
+{
+    /// <summary>
+    /// DB520
+    /// </summary>
+    public interface IStation520 : Station520<StationMode>
+    {
+    }
+}

+ 11 - 0
WCS.WorkEngineering/Protocol/Station/IStation521.cs

@@ -0,0 +1,11 @@
+using WCS.Entity.Protocol.Station;
+
+namespace WCS.WorkEngineering.Protocol.Station
+{
+    /// <summary>
+    /// 输送机交互信号 读
+    /// </summary>
+    public interface IStation521 : Station521<StationMode>
+    {
+    }
+}

+ 11 - 0
WCS.WorkEngineering/Protocol/Station/IStation523.cs

@@ -0,0 +1,11 @@
+using WCS.Entity.Protocol.Station;
+
+namespace WCS.WorkEngineering.Protocol.Station
+{
+    /// <summary>
+    /// 输送机状态读取协议
+    /// </summary>
+    public interface IStation523 : Station523<StationAlarm, StationStatus>
+    {
+    }
+}

+ 8 - 0
WCS.WorkEngineering/Protocol/Station/IStation90.cs

@@ -0,0 +1,8 @@
+using WCS.Entity.Protocol.Station;
+
+namespace WCS.WorkEngineering.Protocol.Station
+{
+    public interface IStation90 : Station90
+    {
+    }
+}

+ 11 - 0
WCS.WorkEngineering/Protocol/Station/IStation91.cs

@@ -0,0 +1,11 @@
+using WCS.Entity.Protocol.Station;
+
+namespace WCS.WorkEngineering.Protocol.Station
+{
+    /// <summary>
+    /// 外检读取信息
+    /// </summary>
+    public interface IStation91 : Station91<StationShapeAlarm>
+    {
+    }
+}

+ 6 - 7
WCS.Entity.Protocol/Station/StationEnum.cs → WCS.WorkEngineering/Protocol/Station/StationEnum.cs

@@ -1,12 +1,11 @@
-using System;
-using System.ComponentModel;
+using System.ComponentModel;
 
-namespace WCS.Entity.Protocol.Station
+namespace WCS.WorkEngineering.Protocol.Station
 {
     /// <summary>
     /// 输送机模式
     /// </summary>
-    public enum ModeEunm : short
+    public enum StationMode : short
     {
         /// <summary>
         /// 自动
@@ -31,7 +30,7 @@ namespace WCS.Entity.Protocol.Station
     /// 输送机警报
     /// </summary>
     [Flags]
-    public enum AlarmEunm : ushort
+    public enum StationAlarm : ushort
     {
     }
 
@@ -39,7 +38,7 @@ namespace WCS.Entity.Protocol.Station
     /// 输送机状态
     /// </summary>
     [Flags]
-    public enum StatusEunm : UInt32
+    public enum StationStatus : uint
     {
         /// <summary>
         /// 自动
@@ -142,7 +141,7 @@ namespace WCS.Entity.Protocol.Station
     /// 外形故障
     /// </summary>
     [Flags]
-    public enum ShapeAlarmEunm : ushort
+    public enum StationShapeAlarm : ushort
     {
         /// <summary>
         /// 外形/条码等货物故障

+ 2 - 2
WCS.Entity.Protocol/Station/WCS_Station520.cs → WCS.WorkEngineering/Protocol/Station/WCS_Station520.cs

@@ -1,6 +1,6 @@
 using System.Runtime.Serialization;
 
-namespace WCS.Entity.Protocol.Station
+namespace WCS.WorkEngineering.Protocol.Station
 {
     /// <summary>
     ///  520
@@ -22,7 +22,7 @@ namespace WCS.Entity.Protocol.Station
 
         /// <inheritdoc/>
         [DataMember(Order = 3)]
-        public ModeEunm Mode { get; set; }
+        public StationMode Mode { get; set; }
 
         /// <inheritdoc/>
         [DataMember(Order = 4)]

+ 2 - 2
WCS.Entity.Protocol/Station/WCS_Station521.cs → WCS.WorkEngineering/Protocol/Station/WCS_Station521.cs

@@ -1,6 +1,6 @@
 using System.Runtime.Serialization;
 
-namespace WCS.Entity.Protocol.Station
+namespace WCS.WorkEngineering.Protocol.Station
 {
     /// <summary>
     ///  521
@@ -22,7 +22,7 @@ namespace WCS.Entity.Protocol.Station
 
         /// <inheritdoc/>
         [DataMember(Order = 3)]
-        public ModeEunm Mode { get; set; }
+        public StationMode Mode { get; set; }
 
         /// <inheritdoc/>
         [DataMember(Order = 4)]

+ 3 - 3
WCS.Entity.Protocol/Station/WCS_Station523.cs → WCS.WorkEngineering/Protocol/Station/WCS_Station523.cs

@@ -1,6 +1,6 @@
 using System.Runtime.Serialization;
 
-namespace WCS.Entity.Protocol.Station
+namespace WCS.WorkEngineering.Protocol.Station
 {
     /// <summary>
     ///  523
@@ -10,7 +10,7 @@ namespace WCS.Entity.Protocol.Station
     {
         /// <inheritdoc/>
         [DataMember(Order = 0)]
-        public AlarmEunm Alarm { get; set; }
+        public StationAlarm Alarm { get; set; }
 
         /// <inheritdoc/>
         [DataMember(Order = 1)]
@@ -18,7 +18,7 @@ namespace WCS.Entity.Protocol.Station
 
         /// <inheritdoc/>
         [DataMember(Order = 2)]
-        public StatusEunm Status { get; set; }
+        public StationStatus Status { get; set; }
 
         /// <inheritdoc/>
         [DataMember(Order = 3)]

+ 1 - 1
WCS.Entity.Protocol/Station/WCS_Station90.cs → WCS.WorkEngineering/Protocol/Station/WCS_Station90.cs

@@ -3,7 +3,7 @@ using System.Collections.Generic;
 using System.Runtime.Serialization;
 using System.Text;
 
-namespace WCS.Entity.Protocol.Station
+namespace WCS.WorkEngineering.Protocol.Station
 {
     /// <summary>
     ///  90

+ 2 - 2
WCS.Entity.Protocol/Station/WCS_Station91.cs → WCS.WorkEngineering/Protocol/Station/WCS_Station91.cs

@@ -1,6 +1,6 @@
 using System.Runtime.Serialization;
 
-namespace WCS.Entity.Protocol.Station
+namespace WCS.WorkEngineering.Protocol.Station
 {
     /// <summary>
     ///  91
@@ -10,7 +10,7 @@ namespace WCS.Entity.Protocol.Station
     {
         /// <inheritdoc/>
         [DataMember(Order = 0)]
-        public ShapeAlarmEunm ShapeAlarm { get; set; }
+        public StationShapeAlarm ShapeAlarm { get; set; }
 
         /// <inheritdoc/>
         [DataMember(Order = 1)]

+ 17 - 21
WCS.WorkEngineering/Systems/AgvSystems.cs

@@ -5,10 +5,9 @@ using ServiceCenter.SqlSugars;
 using System.ComponentModel;
 using WCS.Core;
 using WCS.Entity;
-using WCS.Entity.Protocol.Station;
 using WCS.WorkEngineering.Extensions;
-using WCS.WorkEngineering.Protocol.RGV;
 using WCS.WorkEngineering.Protocol.SRM;
+using WCS.WorkEngineering.Protocol.Station;
 using WCS.WorkEngineering.WebApi.Controllers;
 using WCS.WorkEngineering.Worlds;
 using DeviceFlags = WCS.WorkEngineering.Extensions.DeviceFlags;
@@ -39,12 +38,10 @@ namespace WCS.WorkEngineering.Systems
         {
             if (obj.Entity.HasFlag(DeviceFlags.出库))
             {
-
                 List<WCS_AgvTaskInfo> agvTaskInfos = new List<WCS_AgvTaskInfo>();
                 //获取所有未结束的叫料及背负式补空AGV任务
                 SqlSugarHelper.Do(db =>
                 {
-
                     agvTaskInfos = db.Default.Queryable<WCS_AgvTaskInfo>().Where(v => (v.TaskType == AGVTaskType.CallMaterial || v.TaskType == AGVTaskType.CallForMaterial || v.TaskType == AGVTaskType.ForkliftFilling))
                                                                          .Where(v => v.Status < AGVTaskStatus.MissionCompleted)
                                                                          .SplitTable(tabs => tabs.Take(2)).OrderBy(v => v.AddTime).ToList();
@@ -104,7 +101,6 @@ namespace WCS.WorkEngineering.Systems
                         }
                     }
 
-
                     foreach (var item in taskInfos)
                     {
                         WmsApi.CompleteTask(item.ID);
@@ -117,7 +113,6 @@ namespace WCS.WorkEngineering.Systems
                 //获取所有未结束的入库AGV任务
                 SqlSugarHelper.Do(db =>
                 {
-
                     agvTaskInfos = db.Default.Queryable<WCS_AgvTaskInfo>().Where(v => v.Status < AGVTaskStatus.MissionCompleted && v.TaskType == AGVTaskType.EnterDepot).SplitTable(tabs => tabs.Take(2)).OrderBy(v => v.EditTime).ToList();
                 });
 
@@ -133,7 +128,9 @@ namespace WCS.WorkEngineering.Systems
                                 //找到对应WCS任务
                                 var task = db.Default.Queryable<WCS_TaskInfo>().First(v => v.AgvTaskID == agv.ID);
                                 if (task == null) throw new Exception($"AGV任务{agv.ID}未找到对应WCS任务");
+
                                 #region 开始跟据AGV状态做出处理
+
                                 //巷道分配
                                 if (agv.AgvStatus == AGVTaskStatus.RequestOrPermission1 && agv.Status != AGVTaskStatus.Complete1)
                                 {
@@ -151,9 +148,9 @@ namespace WCS.WorkEngineering.Systems
                                         //一楼三个入库口
                                         stations = devs.Where(v => v.Entity.Code is "1011" or "1013" or "1015").ToList();
                                         //筛选出可用站台
-                                        stations = stations.Where(v => v.Data.VoucherNo == v.Data2.VoucherNo && v.Data3.Status.HasFlag(StatusEunm.Auto))
-                                                           .Where(v => !v.Data3.Status.HasFlag(StatusEunm.PH_Status) && !v.Data3.Status.HasFlag(StatusEunm.OT_Status))
-                                                           .Where(v => !v.Data3.Status.HasFlag(StatusEunm.Run)).ToList(); // 筛选出可用站台
+                                        stations = stations.Where(v => v.Data.VoucherNo == v.Data2.VoucherNo && v.Data3.Status.HasFlag(StationStatus.Auto))
+                                                           .Where(v => !v.Data3.Status.HasFlag(StationStatus.PH_Status) && !v.Data3.Status.HasFlag(StationStatus.OT_Status))
+                                                           .Where(v => !v.Data3.Status.HasFlag(StationStatus.Run)).ToList(); // 筛选出可用站台
                                         this.ExRecord(obj.Entity.Code, $"AGV任务{agv.ID},可用放货站台", stations.Select(v => v.Entity.Code).ToList());
                                         //可用堆垛机
                                         srm = stations.Select(v => v.Entity.Sources).SelectMany(v => v).Where(v => v.IsTunnel()) //上一个地址是巷道的
@@ -168,9 +165,9 @@ namespace WCS.WorkEngineering.Systems
                                         //二楼三个入库口
                                         stations = devs.Where(v => v.Entity.Code is "1021" or "1023" or "1025").ToList();
                                         //筛选出可用站台
-                                        stations = stations.Where(v => v.Data.VoucherNo == v.Data2.VoucherNo && v.Data3.Status.HasFlag(StatusEunm.Auto))
-                                                           .Where(v => !v.Data3.Status.HasFlag(StatusEunm.PH_Status) && !v.Data3.Status.HasFlag(StatusEunm.OT_Status))
-                                                           .Where(v => !v.Data3.Status.HasFlag(StatusEunm.Run)).ToList(); // 筛选出可用站台
+                                        stations = stations.Where(v => v.Data.VoucherNo == v.Data2.VoucherNo && v.Data3.Status.HasFlag(StationStatus.Auto))
+                                                           .Where(v => !v.Data3.Status.HasFlag(StationStatus.PH_Status) && !v.Data3.Status.HasFlag(StationStatus.OT_Status))
+                                                           .Where(v => !v.Data3.Status.HasFlag(StationStatus.Run)).ToList(); // 筛选出可用站台
                                         this.ExRecord(obj.Entity.Code, $"AGV任务{agv.ID},可用放货站台", stations.Select(v => v.Entity.Code).ToList());
                                         //可用堆垛机
                                         srm = stations.Select(v => v.Entity.Sources).SelectMany(v => v).Where(v => v.IsTunnel()) //上一个地址是巷道的
@@ -179,7 +176,6 @@ namespace WCS.WorkEngineering.Systems
                                                       .Where(v => v != null && !v.Data2.Status.HasFlag(SrmStatus.Alarm) && v.Data2.AutoStatus == SrmAutoStatus.Automatic) //筛选出可用堆垛机
                                                       .Where(v => tunnelNo.Contains(v.Entity.Code)) //筛选出巷道优先级最高的堆垛机
                                                       .MinBy(v => tunnelNo.IndexOf(v.Entity.Code));//按照巷道优先级排序
-
                                     }
                                     if (srm == null) throw new Exception($"agv任务{agv.ID}无可用堆垛机");
 
@@ -206,7 +202,6 @@ namespace WCS.WorkEngineering.Systems
                                         throw new Exception(msg);
                                     }
 
-                                                                       
                                     //更新AGV任务状态
                                     agv.Status = AGVTaskStatus.Complete1;
                                     agv.Position = flag == true ? "1025" : nextPos.Entity.Code;
@@ -219,12 +214,13 @@ namespace WCS.WorkEngineering.Systems
                                         task.Tunnel = "3";
                                         task.AddrNext = "1025";
                                     }
-                                    else {
+                                    else
+                                    {
                                         task.Device = srm.Entity.Code;
                                         task.Tunnel = task.Device.GetLastDigit().ToString();
                                         task.AddrNext = agv.Position;
-                                    }                                   
-                                    db.Default.Updateable(task).ExecuteCommand();                                    
+                                    }
+                                    db.Default.Updateable(task).ExecuteCommand();
                                     task.AddWCS_TASK_DTL(db, "AGV巷道分配点", nextPos.Entity.Code, $"任务分配至堆垛机:{srm.Entity.Code}");
                                     this.ExRecord(obj.Entity.Code, $"AGV任务{agv.ID}分配至堆垛机:{srm.Entity.Code}");
                                     //调继续执行任务接口
@@ -237,10 +233,10 @@ namespace WCS.WorkEngineering.Systems
                                     var dev = devs.Find(v => v.Entity.Code == agv.Position);
 
                                     if (dev.Data.VoucherNo != dev.Data2.VoucherNo) throw new Exception($"AGV请求放货,但{dev.Entity.Code}凭证号不一致");
-                                    if (!dev.Data3.Status.HasFlag(StatusEunm.Auto)) throw new Exception($"AGV请求放货,但{dev.Entity.Code}不在自动状态");
-                                    if (dev.Data3.Status.HasFlag(StatusEunm.PH_Status)) throw new Exception($"AGV请求放货,但{dev.Entity.Code}光电有货");
-                                    if (dev.Data3.Status.HasFlag(StatusEunm.OT_Status)) throw new Exception($"AGV请求放货,但{dev.Entity.Code}任务有货");
-                                    if (dev.Data3.Status.HasFlag(StatusEunm.Run)) throw new Exception($"AGV请求放货,但{dev.Entity.Code}在运行状态");
+                                    if (!dev.Data3.Status.HasFlag(StationStatus.Auto)) throw new Exception($"AGV请求放货,但{dev.Entity.Code}不在自动状态");
+                                    if (dev.Data3.Status.HasFlag(StationStatus.PH_Status)) throw new Exception($"AGV请求放货,但{dev.Entity.Code}光电有货");
+                                    if (dev.Data3.Status.HasFlag(StationStatus.OT_Status)) throw new Exception($"AGV请求放货,但{dev.Entity.Code}任务有货");
+                                    if (dev.Data3.Status.HasFlag(StationStatus.Run)) throw new Exception($"AGV请求放货,但{dev.Entity.Code}在运行状态");
                                     agv.Status = AGVTaskStatus.Complete2;
                                     db.Default.Updateable(agv).SplitTable().ExecuteCommand();
 

+ 1 - 1
WCS.WorkEngineering/Systems/DataCollectionSysyem.cs

@@ -5,11 +5,11 @@ using System.ComponentModel;
 using WCS.Core;
 using WCS.Entity.Protocol.DataStructure;
 using WCS.Entity.Protocol.SRM;
-using WCS.Entity.Protocol.Station;
 using WCS.Service.Worlds;
 using WCS.WorkEngineering.Extensions;
 using WCS.WorkEngineering.Protocol.BCR;
 using WCS.WorkEngineering.Protocol.SRM;
+using WCS.WorkEngineering.Protocol.Station;
 
 namespace WCS.Service.Systems
 {

+ 1 - 1
WCS.WorkEngineering/Systems/DeviceWriteSystem.cs

@@ -1,7 +1,7 @@
 using WCS.Core;
-using WCS.Entity.Protocol.Station;
 using WCS.WorkEngineering.Extensions;
 using WCS.WorkEngineering.Protocol.SRM;
+using WCS.WorkEngineering.Protocol.Station;
 using WCS.WorkEngineering.Worlds;
 
 namespace WCS.WorkEngineering.Systems

+ 1 - 1
WCS.WorkEngineering/Systems/GetDeviceSystem.cs

@@ -1,8 +1,8 @@
 using WCS.Core;
-using WCS.Entity.Protocol.Station;
 using WCS.WorkEngineering.Extensions;
 using WCS.WorkEngineering.Protocol.BCR;
 using WCS.WorkEngineering.Protocol.SRM;
+using WCS.WorkEngineering.Protocol.Station;
 using WCS.WorkEngineering.Worlds;
 
 namespace WCS.WorkEngineering.Systems

+ 7 - 9
WCS.WorkEngineering/Systems/SrmSystems.cs

@@ -5,14 +5,12 @@ using ServiceCenter.SqlSugars;
 using System.ComponentModel;
 using WCS.Core;
 using WCS.Entity;
-using WCS.Entity.Protocol.Station;
 using WCS.WorkEngineering.Extensions;
-using WCS.WorkEngineering.Protocol.RGV;
 using WCS.WorkEngineering.Protocol.SRM;
+using WCS.WorkEngineering.Protocol.Station;
 using WCS.WorkEngineering.WebApi.Controllers;
 using WCS.WorkEngineering.WebApi.Models.AGV.Response;
 using WCS.WorkEngineering.Worlds;
-using DeviceFlags = WCS.WorkEngineering.Extensions.DeviceFlags;
 using KnownException = ServiceCenter.Logs.KnownException;
 using TaskStatus = WCS.Entity.TaskStatus;
 
@@ -253,7 +251,7 @@ namespace WCS.WorkEngineering.Systems
                 if (!arrIn.Any()) throw new KnownException($"堆垛机{obj.Entity.Code}无取货路径点", LogLevelEnum.High);
 
                 //获取有货的设备
-                arrIn = arrIn.Where(v => v.Data.TaskNumber > 0 && v.Data3.Status.HasFlag(StatusEunm.PH_Status) && !v.Data3.Status.HasFlag(StatusEunm.Run)).ToList();
+                arrIn = arrIn.Where(v => v.Data.TaskNumber > 0 && v.Data3.Status.HasFlag(StationStatus.PH_Status) && !v.Data3.Status.HasFlag(StationStatus.Run)).ToList();
                 if (!arrIn.Any()) throw new KnownException($"[{obj.Entity.Code}]等待入库任务输送到位", LogLevelEnum.Mid);
                 WCS_TaskInfo taskInfo = null;
                 Station station = null;
@@ -311,11 +309,11 @@ namespace WCS.WorkEngineering.Systems
                 if (!arrOut.Any()) throw new KnownException($"堆垛机{obj.Entity.Code}无放货路径点", LogLevelEnum.High);
 
                 //获取可以放货的设备集合
-                arrOut = arrOut.Where(v => !v.Data3.Status.HasFlag(StatusEunm.PH_Status) //无光电
-                                                && !v.Data3.Status.HasFlag(StatusEunm.Run) //未运行
-                                                && !v.Data3.Status.HasFlag(StatusEunm.OT_Status) //无任务
-                                                && !v.Data3.Status.HasFlag(StatusEunm.UnassignedTask) //未分配任务
-                                                && v.Data3.Status.HasFlag(StatusEunm.Auto)).ToList(); //自动
+                arrOut = arrOut.Where(v => !v.Data3.Status.HasFlag(StationStatus.PH_Status) //无光电
+                                                && !v.Data3.Status.HasFlag(StationStatus.Run) //未运行
+                                                && !v.Data3.Status.HasFlag(StationStatus.OT_Status) //无任务
+                                                && !v.Data3.Status.HasFlag(StationStatus.UnassignedTask) //未分配任务
+                                                && v.Data3.Status.HasFlag(StationStatus.Auto)).ToList(); //自动
 
                 if (!arrOut.Any()) throw new KnownException($"[{obj.Entity.Code}]等待出库任务输送到位", LogLevelEnum.Mid);
 

+ 2 - 2
WCS.WorkEngineering/Systems/一楼入库工位处理系统.cs

@@ -3,9 +3,9 @@ using ServiceCenter.SqlSugars;
 using System.ComponentModel;
 using WCS.Core;
 using WCS.Entity;
-using WCS.Entity.Protocol.Station;
 using WCS.WorkEngineering.Extensions;
 using WCS.WorkEngineering.Protocol.BCR;
+using WCS.WorkEngineering.Protocol.Station;
 using WCS.WorkEngineering.WebApi.Controllers;
 using WCS.WorkEngineering.Worlds;
 using DeviceFlags = WCS.WorkEngineering.Extensions.DeviceFlags;
@@ -51,7 +51,7 @@ namespace WCS.WorkEngineering.Systems
                         else throw new KnownException($"任务:{taskInfo.ID}不是AGV执行状态,请检查异常原因", LogLevelEnum.High);
                     }
 
-                    if (!obj.Data3.Status.HasFlag(StatusEunm.ManualStorage)) //不是手动入库
+                    if (!obj.Data3.Status.HasFlag(StationStatus.ManualStorage)) //不是手动入库
                     {
                         //判断AGV任务目标地址是否是当前地址
                         var agv = db.Queryable<WCS_AgvTaskInfo>().SplitTable(v => v.Take(2)).First(v => v.ID == taskInfo.AgvTaskID) ?? throw new KnownException($"任务{taskInfo.ID}未找到对应AGV任务", LogLevelEnum.Mid);

+ 2 - 1
WCS.WorkEngineering/Systems/一楼出库工位处理系统.cs

@@ -5,6 +5,7 @@ using System.ComponentModel;
 using WCS.Core;
 using WCS.Entity;
 using WCS.WorkEngineering.Extensions;
+using WCS.WorkEngineering.Protocol.Station;
 using WCS.WorkEngineering.WebApi.Controllers;
 using WCS.WorkEngineering.Worlds;
 using DeviceFlags = WCS.WorkEngineering.Extensions.DeviceFlags;
@@ -32,7 +33,7 @@ namespace WCS.WorkEngineering.Systems
                     throw new KnownException($"[{obj.Entity.Code}]--触发并发管控", LogLevelEnum.High);
                 }
                 RedisHub.Default.Set(key, obj.Entity.Code);
-                if (!obj.Data3.Status.HasFlag(Entity.Protocol.Station.StatusEunm.PH_Status) && !obj.Data3.Status.HasFlag(Entity.Protocol.Station.StatusEunm.OT_Status))
+                if (!obj.Data3.Status.HasFlag(StationStatus.PH_Status) && !obj.Data3.Status.HasFlag(StationStatus.OT_Status))
                 {
                     bool result = true; //是否需要申请出库任务,默认需要
                     SqlSugarHelper.Do(db =>

+ 1 - 1
WCS.WorkEngineering/Systems/二楼入库工位处理系统.cs

@@ -4,9 +4,9 @@ using ServiceCenter.SqlSugars;
 using System.ComponentModel;
 using WCS.Core;
 using WCS.Entity;
-using WCS.Entity.Protocol.Station;
 using WCS.WorkEngineering.Extensions;
 using WCS.WorkEngineering.Protocol.BCR;
+using WCS.WorkEngineering.Protocol.Station;
 using WCS.WorkEngineering.WebApi.Controllers;
 using WCS.WorkEngineering.Worlds;
 using DeviceFlags = WCS.WorkEngineering.Extensions.DeviceFlags;

+ 2 - 1
WCS.WorkEngineering/Systems/二楼出库工位处理系统.cs

@@ -4,6 +4,7 @@ using System.ComponentModel;
 using WCS.Core;
 using WCS.Entity;
 using WCS.WorkEngineering.Extensions;
+using WCS.WorkEngineering.Protocol.Station;
 using WCS.WorkEngineering.WebApi.Controllers;
 using WCS.WorkEngineering.Worlds;
 using DeviceFlags = WCS.WorkEngineering.Extensions.DeviceFlags;
@@ -23,7 +24,7 @@ namespace WCS.WorkEngineering.Systems
 
         public override void Do(Station obj)
         {
-            if (!obj.Data3.Status.HasFlag(Entity.Protocol.Station.StatusEunm.PH_Status)) throw new KnownException("无光电", LogLevelEnum.Low);
+            if (!obj.Data3.Status.HasFlag(StationStatus.PH_Status)) throw new KnownException("无光电", LogLevelEnum.Low);
             SqlSugarHelper.Do(db =>
             {
                 var task = db.Default.Queryable<WCS_TaskInfo>().First(v => v.ID == obj.Data.TaskNumber && v.Status == Entity.TaskStatus.ConveyorExecution) ?? throw new KnownException("无可执行任务", LogLevelEnum.Mid);               

+ 2 - 2
WCS.WorkEngineering/WebApi/Controllers/AgvController.cs

@@ -8,8 +8,8 @@ using ServiceCenter.Redis;
 using ServiceCenter.SqlSugars;
 using WCS.Core;
 using WCS.Entity;
-using WCS.Entity.Protocol.Station;
 using WCS.WorkEngineering.Extensions;
+using WCS.WorkEngineering.Protocol.Station;
 using WCS.WorkEngineering.Systems;
 using WCS.WorkEngineering.WebApi.Models.AGV;
 using WCS.WorkEngineering.WebApi.Models.AGV.Request;
@@ -97,7 +97,7 @@ namespace WCS.WorkEngineering.WebApi.Controllers
                         var obj = World.GetSystemInstance<GetDeviceSystem>().Invoke("输送机") as List<Station>;
 
                         // 检测三个站台是否有货
-                        obj = obj.Where(v => v.Entity.Code is "1012" or "1014" or "1016").Where(v => v.Data3.Status.HasFlag(StatusEunm.PH_Status)).ToList();
+                        obj = obj.Where(v => v.Entity.Code is "1012" or "1014" or "1016").Where(v => v.Data3.Status.HasFlag(StationStatus.PH_Status)).ToList();
                         if (!obj.Any())
                         {
                             agvFill.ResCode = Models.WMS.Response.ResponseStatusCodeEnum.DataSaveErr;

+ 1 - 1
WCS.WorkEngineering/WorkStart.cs

@@ -1,11 +1,11 @@
 using PlcSiemens.Core.Extension;
 using ServiceCenter;
 using WCS.Core;
-using WCS.Entity.Protocol.Station;
 using WCS.WorkEngineering.Extensions;
 using WCS.WorkEngineering.Protocol.BCR;
 using WCS.WorkEngineering.Protocol.RGV;
 using WCS.WorkEngineering.Protocol.SRM;
+using WCS.WorkEngineering.Protocol.Station;
 using WCS.WorkEngineering.Protocol.Truss;
 using DeviceFlags = WCS.WorkEngineering.Extensions.DeviceFlags;