From cb58fdbdc4391136e7176210e3f1969606f11903 Mon Sep 17 00:00:00 2001
From: lss <Lss@HanInfo>
Date: 星期四, 29 五月 2025 16:52:21 +0800
Subject: [PATCH] 合肥佳通

---
 HH.WCS.Mobox3/HH.WCS.Mobox3.JiaTong/process/DeviceProcess.cs |   40 ++++++++++++++++++++++++++++++++++++----
 1 files changed, 36 insertions(+), 4 deletions(-)

diff --git a/HH.WCS.Mobox3/HH.WCS.Mobox3.JiaTong/process/DeviceProcess.cs b/HH.WCS.Mobox3/HH.WCS.Mobox3.JiaTong/process/DeviceProcess.cs
index e5c5e4f..4f7aeeb 100644
--- a/HH.WCS.Mobox3/HH.WCS.Mobox3.JiaTong/process/DeviceProcess.cs
+++ b/HH.WCS.Mobox3/HH.WCS.Mobox3.JiaTong/process/DeviceProcess.cs
@@ -7,6 +7,7 @@
 using S7.Net;
 using System;
 using System.Collections.Generic;
+using System.IO;
 using System.Linq;
 using System.Threading;
 using static HH.WCS.JiaTong.LISTA.process.HttpModel;
@@ -155,6 +156,8 @@
             }
         }
 
+
+        public static Dictionary<string, DpjErrorInfo> DpjInfoDirectory = new Dictionary<string, DpjErrorInfo>();
         /// <summary>
         /// 浜曟澗鍙犵洏鏈哄彔鐩樺洖搴�         /// </summary>
@@ -169,9 +172,30 @@
                 {
                     foreach (var device in devices)
                     {
-                        var IsDp = S7Helper.ReadDpj(device.address,2001, S7.Net.VarType.Byte);
-                        var value = S7Helper.ReadDpj(device.address,2014, S7.Net.VarType.Int);
-
+                        var IsDp = S7Helper.ReadDpj(device.address, 2001, S7.Net.VarType.Byte);
+                        var value = S7Helper.ReadDpj(device.address, 2014, S7.Net.VarType.Int);
+                        var ErrorCode = S7Helper.ReadDpj(device.address, 2016, S7.Net.VarType.Int);
+                        //璁板綍鍙犵洏鏈烘姤閿欎俊鎭�+                        if (DpjInfoDirectory.ContainsKey(device.address))
+                        {
+                            DpjInfoDirectory[device.address].Address = device.address;
+                            DpjInfoDirectory[device.address].DeviceName = device.deviceName;
+                            var ErrorInfo = Settings.dpjErrorInfos.Where(a => a.ErrorCode == ErrorCode).First();
+                            if (ErrorInfo != null)
+                            {
+                                DpjInfoDirectory[device.address].ErrorInfo = ErrorInfo.ErrorInfo;
+                            }
+                        }
+                        else
+                        {
+                            string errorinfo = "";
+                            var ErrorInfo = Settings.dpjErrorInfos.Where(a => a.ErrorCode == ErrorCode).First();
+                            if (ErrorInfo != null)
+                            {
+                                errorinfo = ErrorInfo.ErrorInfo;
+                            }
+                            DpjInfoDirectory.Add(device.address, new DpjErrorInfo() { Address = device.address, DeviceName = device.deviceName, ErrorInfo = errorinfo });
+                        }
                         if (value >= 1 && IsDp == 1)
                         {
                             //var cntr = db.Queryable<LocCntrRel>().Where(a => a.S_LOC_CODE.Trim() == item.S_CODE).ToList();
@@ -200,7 +224,7 @@
                         Thread.Sleep(8000);
                     }
                 }
-               
+
             }
             catch (Exception ex)
             {
@@ -245,5 +269,13 @@
                 LogHelper.Info($"绌烘墭杩斿洖  Error=>{ex.ToString()}");
             }
         }
+
+        public class DpjErrorInfo
+        {
+
+            public string Address { get; set; }
+            public string DeviceName { get; set; }
+            public string ErrorInfo { get; set; }
+        }
     }
 }

--
Gitblit v1.9.1