林豪 左 1 rok temu
rodzic
commit
11d93ba7f0

+ 2 - 5
ServiceCenter/ServiceCenter.csproj

@@ -20,11 +20,8 @@
     <PackageReference Include="PlcSiemens" Version="1.0.1" />
     <PackageReference Include="Swashbuckle.AspNetCore.SwaggerGen" Version="6.5.0" />
     <PackageReference Include="Swashbuckle.AspNetCore.SwaggerUI" Version="6.5.0" />
-  </ItemGroup>
-  
-  <ItemGroup>
-    <ProjectReference Include="..\WCS.Core\WCS.Core.csproj" />
-    <ProjectReference Include="..\WCS.Entity\WCS.Entity.csproj" />
+    <PackageReference Include="WCS.Core" Version="1.0.2.3" />
+    <PackageReference Include="WCS.Entity" Version="1.0.3.15" />
   </ItemGroup>
 
 </Project>

+ 43 - 7
WCS.Service/Worker.cs

@@ -1,14 +1,13 @@
+using MessagePack;
 using Newtonsoft.Json;
-using PlcSiemens.Core.Extension;
 using ServiceCenter;
+using ServiceCenter.Extensions;
 using ServiceCenter.Logs;
 using ServiceCenter.Redis;
 using ServiceCenter.SqlSugars;
 using SqlSugar;
 using System.Text;
-using ServiceCenter.Extensions;
 using WCS.Core;
-using WCS.Entity;
 using WCS.WorkEngineering;
 
 namespace WCS.Service
@@ -45,6 +44,47 @@ namespace WCS.Service
             if (stoppingToken.IsCancellationRequested)
                 return;
 
+            #region 初始化Redis连接
+
+            var redisConnectionStrings = RedisHub.Default.Check("RedisConnectionStrings") ?? throw new Exception("请在Redis中配置RedisConnectionStrings");
+            var configs = JsonConvert.DeserializeObject<List<DataBaseConnectionString>>(redisConnectionStrings);
+            if (configs != null)
+            {
+                if (configs.All(v => v.Key != "Monitor")) throw new Exception("请在RedisConnectionStrings中配置监控RedisDB库连接字符串");
+            }
+
+            foreach (var redisConnection in configs!)
+            {
+                RedisHub.CreateContext(redisConnection.ConnectionString, redisConnection.Key);
+                switch (redisConnection.Key)
+                {
+                    case "Monitor":
+                        RedisHub.SetMonitorContextType(redisConnection.Key);
+                        RedisHub.Monitor.Serialize = obj =>
+                        {
+                            var bytes = MessagePackSerializer.Serialize(obj);
+                            return bytes;
+                        };
+                        RedisHub.Monitor.DeserializeRaw = (bytes, type) =>
+                        {
+                            var obj = MessagePackSerializer.Deserialize(type, bytes);
+                            return obj;
+                        };
+                        break;
+
+                    case "DebugRedisUrl":
+                        RedisHub.SetDebugContextType(redisConnection.Key);
+                        Configs.DebugRedisUrl = redisConnection.ConnectionString;
+                        break;
+
+                    case "WMS":
+                        RedisHub.SetWMSContextType(redisConnection.Key);
+                        break;
+                }
+            }
+
+            #endregion 初始化Redis连接
+
             #region 启用日志
 
             //var logConfigText = RedisHub.Default.Check("LogConfigText") ?? throw new Exception("请在Redis中配置log4net相关内容");
@@ -88,12 +128,8 @@ namespace WCS.Service
 
             ServiceHub.DbConnectionStrings.InitDB();
 
-
-
             #endregion 初始化数据库连接
 
-
-
             #region 初始化设备信息
 
             WorkStart.InitializeDeviceInfo();

+ 2 - 2
业务工程/分拣库/WCS.Entity.Protocol/DataStructure/DeviceDataPack.cs

@@ -55,13 +55,13 @@ namespace WCS.Entity.Protocol.DataStructure
         /// <summary>
         ///  时间
         /// </summary>
-        [DataMember(Order = 6)]
+        [DataMember(Order = 5)]
         public DateTime Frame { get; set; }
 
         /// <summary>
         /// 回放最早时间
         /// </summary>
-        [DataMember(Order = 7)]
+        [DataMember(Order = 6)]
         public int PlaybackSeconds { get; set; }
     }
 }

+ 10 - 10
业务工程/分拣库/WCS.Entity.Protocol/Truss/WCS_Truss521.cs

@@ -71,34 +71,34 @@ namespace WCS.Entity.Protocol.Truss
         [DataMember(Order = 21)]
         public int Task2_4 { get; set; }
 
-        [DataMember(Order = 23)]
+        [DataMember(Order = 22)]
         public short Dest2_4 { get; set; }
 
-        [DataMember(Order = 24)]
+        [DataMember(Order = 23)]
         public int Task2_5 { get; set; }
 
-        [DataMember(Order = 25)]
+        [DataMember(Order = 24)]
         public short Dest2_5 { get; set; }
 
-        [DataMember(Order = 26)]
+        [DataMember(Order = 25)]
         public short TaskSum2 { get; set; }
 
-        [DataMember(Order = 27)]
+        [DataMember(Order = 26)]
         public TrussStatus Status { get; set; }
 
-        [DataMember(Order = 28)]
+        [DataMember(Order = 27)]
         public short CmdType { get; set; }
 
-        [DataMember(Order = 29)]
+        [DataMember(Order = 28)]
         public short VoucherNo { get; set; }
 
-        [DataMember(Order = 31)]
+        [DataMember(Order = 29)]
         public int PalletizingId { get; set; }
 
-        [DataMember(Order = 32)]
+        [DataMember(Order = 30)]
         public int PalletizingRowId1 { get; set; }
 
-        [DataMember(Order = 33)]
+        [DataMember(Order = 31)]
         public int PalletizingRowId2 { get; set; }
     }
 }

+ 5 - 44
业务工程/分拣库/WCS.WorkEngineering/ProtocolProxy.cs

@@ -16,46 +16,7 @@ namespace WCS.WorkEngineering
 
         public ProtocolProxy(Device dev, ProtocolInfo info, Type protocolType, World world) : base(dev, info, protocolType, world)
         {
-            #region 初始化Redis连接
-
-            var redisConnectionStrings = RedisHub.Default.Check("RedisConnectionStrings") ?? throw new Exception("请在Redis中配置RedisConnectionStrings");
-            var configs = JsonConvert.DeserializeObject<List<DataBaseConnectionString>>(redisConnectionStrings);
-            if (configs != null)
-            {
-                if (configs.All(v => v.Key != "Monitor")) throw new Exception("请在RedisConnectionStrings中配置监控RedisDB库连接字符串");
-            }
-
-            foreach (var redisConnection in configs!)
-            {
-                RedisHub.CreateContext(redisConnection.ConnectionString, redisConnection.Key);
-                switch (redisConnection.Key)
-                {
-                    case "Monitor":
-                        RedisHub.SetMonitorContextType(redisConnection.Key);
-                        RedisHub.Monitor.Serialize = obj =>
-                        {
-                            var bytes = MessagePackSerializer.Serialize(obj);
-                            return bytes;
-                        };
-                        RedisHub.Monitor.DeserializeRaw = (bytes, type) =>
-                        {
-                            var obj = MessagePackSerializer.Deserialize(type, bytes);
-                            return obj;
-                        };
-                        break;
-
-                    case "DebugRedisUrl":
-                        RedisHub.SetDebugContextType(redisConnection.Key);
-                        Configs.DebugRedisUrl = redisConnection.ConnectionString;
-                        break;
-
-                    case "WMS":
-                        RedisHub.SetWMSContextType(redisConnection.Key);
-                        break;
-                }
-            }
-
-            #endregion 初始化Redis连接
+           
         }
 
         protected override void DataChanged()
@@ -79,10 +40,10 @@ namespace WCS.WorkEngineering
                 {
                     if (!datas.ContainsKey(Device.Code)) datas[Device.Code] = new SRMData { Code = Device.Code };
                 }
-                else if (Device.Code.Contains("Truss"))
-                {
-                    if (!datas.ContainsKey(Device.Code)) datas[Device.Code] = new TrussData() { Code = Device.Code };
-                }
+                //else if (Device.Code.Contains("Truss"))
+                //{
+                //    if (!datas.ContainsKey(Device.Code)) datas[Device.Code] = new TrussData() { Code = Device.Code };
+                //}
                 else if (Device.Code.Contains("Robot"))
                 {
                     if (!datas.ContainsKey(Device.Code)) datas[Device.Code] = new RobotData() { Code = Device.Code };

+ 6 - 13
业务工程/分拣库/WCS.WorkEngineering/Systems/DataCollectionSysyem.cs

@@ -48,19 +48,12 @@ namespace WCS.WorkEngineering.Systems
                 pack.Frame = DateTime.Now;
                 foreach (var g in gs)
                 {
-                    try
-                    {
-                        var value = g.Select(v => v.Value).ToArray();
-                        var etype = g.Key;
-                        var type = typeof(DeviceDataCollection<>).MakeGenericType(etype);
-                        var coll = Activator.CreateInstance(type, DateTime.Now, value);
-                        var p = pack.GetType().GetProperties().First(v => v.PropertyType == type);
-                        p.SetValue(pack, coll);
-                    }
-                    catch (Exception e)
-                    {
-                        throw new KnownException($"数据采集错误:{e.StackTrace}", LogLevelEnum.Low);
-                    }
+                    var value = g.Select(v => v.Value).ToArray();
+                    var etype = g.Key;
+                    var type = typeof(DeviceDataCollection<>).MakeGenericType(etype);
+                    var coll = Activator.CreateInstance(type, DateTime.Now, value);
+                    var p = pack.GetType().GetProperties().First(v => v.PropertyType == type);
+                    p.SetValue(pack, coll);
                 }
 
                 RedisHub.Monitor.RPush("Packs", pack);

+ 2 - 5
业务工程/分拣库/WCS.WorkEngineering/WCS.WorkEngineering.csproj

@@ -22,12 +22,9 @@
   <ItemGroup>
     <PackageReference Include="MessagePack" Version="2.5.108" />
     <PackageReference Include="Microsoft.AspNetCore.Mvc.NewtonsoftJson" Version="7.0.5" />
+    <PackageReference Include="ServiceCenter" Version="1.0.5.3" />
+    <PackageReference Include="WCS.Entity.Protocol" Version="1.0.4.4" />
     <PackageReference Include="wms.sqlsugar" Version="1.0.0.4" />
   </ItemGroup>
 
-  <ItemGroup>
-    <ProjectReference Include="..\..\..\ServiceCenter\ServiceCenter.csproj" />
-    <ProjectReference Include="..\WCS.Entity.Protocol\WCS.Entity.Protocol.csproj" />
-  </ItemGroup>
-
 </Project>