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