From 5c34ca4f23c702291188f122b05165310b579cbc Mon Sep 17 00:00:00 2001 From: schangxiang@126.com <schangxiang@126.com> Date: 周六, 31 8月 2024 10:03:54 +0800 Subject: [PATCH] 监控上线 --- DataCapture/iWare_SCADA_DataCapture/iWare_SCADA_BusinessLogical/DataCaptureHandlerV2/DataCaptureHandler_01.cs | 189 ++++++++++++++++++++++++++++++---------------- 1 files changed, 122 insertions(+), 67 deletions(-) diff --git a/DataCapture/iWare_SCADA_DataCapture/iWare_SCADA_BusinessLogical/DataCaptureHandlerV2/DataCaptureHandler_01.cs b/DataCapture/iWare_SCADA_DataCapture/iWare_SCADA_BusinessLogical/DataCaptureHandlerV2/DataCaptureHandler_01.cs index 5bc848b..783d32c 100644 --- a/DataCapture/iWare_SCADA_DataCapture/iWare_SCADA_BusinessLogical/DataCaptureHandlerV2/DataCaptureHandler_01.cs +++ b/DataCapture/iWare_SCADA_DataCapture/iWare_SCADA_BusinessLogical/DataCaptureHandlerV2/DataCaptureHandler_01.cs @@ -47,44 +47,44 @@ { if (SystemValue.isStartedImitateModel) { - var plcService = PLCManger.GetSinglePLCService(_dataCaptureConfig); + //var plcService = PLCManger.GetSinglePLCService(_dataCaptureConfig); - WorkPieceLog wplog = new WorkPieceLog(); - wplog.Id = Yitter.IdGenerator.YitIdHelper.NextId(); - wplog.WorkingProcedure = WorkingProcedure; - wplog.EquipmentID = WorkingProcedure; - wplog.Remarks = WorkingProcedure; - wplog.MonitoringPoint = DataCapturePointCode; - wplog.CreatedTime = DateTimeHelper.GetDateTime(); - wplog.CreatedUserName = DataCapturePointCode; - wplog.IsDeleted = false; - //var valuecol = plcService.ReadValuePoint("2050", "28", 25, typeof(string)); + //WorkPieceLog wplog = new WorkPieceLog(); + //wplog.Id = Yitter.IdGenerator.YitIdHelper.NextId(); + //wplog.WorkingProcedure = WorkingProcedure; + //wplog.EquipmentID = WorkingProcedure; + //wplog.Remarks = WorkingProcedure; + //wplog.MonitoringPoint = DataCapturePointCode; + //wplog.CreatedTime = DateTimeHelper.GetDateTime(); + //wplog.CreatedUserName = DataCapturePointCode; + //wplog.IsDeleted = false; + ////var valuecol = plcService.ReadValuePoint("2050", "28", 25, typeof(string)); - wplog.EquipmentID = _dataCaptureConfig.EquipmentID; - wplog.WorkPieceID = WorkPieceID; - wplog.UpdatedTime = DateTimeHelper.GetDateTime(); - wplog.UpdatedUserName = DataCapturePointCode; - wplog.OnlineTime = DateTimeHelper.GetDateTime();//缁欎笂绾挎椂闂寸敤 + //wplog.EquipmentID = _dataCaptureConfig.EquipmentID; + //wplog.WorkPieceID = WorkPieceID; + //wplog.UpdatedTime = DateTimeHelper.GetDateTime(); + //wplog.UpdatedUserName = DataCapturePointCode; + //wplog.OnlineTime = DateTimeHelper.GetDateTime();//缁欎笂绾挎椂闂寸敤 - //var valueid = plcService.ReadValuePoint(_dataCaptureConfig.DbNumber, _dataCaptureConfig.Offset, _dataCaptureConfig.DataCaptureColumnLength.Value, PLCManger.GetTypeForString(_dataCaptureConfig.DataCaptureColumnType)); - //wplog.WorkPieceID = PLCManger.GetWorkPieceIDForPLC(_dataCaptureConfig, plcService); - if (wplog.WorkPieceID.Length != 22) - {//鑾峰彇鍒扮殑宸ヤ欢鍙峰紓甯� - return; - } - else - {//鑾峰彇鍏朵粬閰嶇疆鐨勫緟閲囬泦椤� + ////var valueid = plcService.ReadValuePoint(_dataCaptureConfig.DbNumber, _dataCaptureConfig.Offset, _dataCaptureConfig.DataCaptureColumnLength.Value, PLCManger.GetTypeForString(_dataCaptureConfig.DataCaptureColumnType)); + ////wplog.WorkPieceID = PLCManger.GetWorkPieceIDForPLC(_dataCaptureConfig, plcService); + //if (wplog.WorkPieceID.Length != 22) + //{//鑾峰彇鍒扮殑宸ヤ欢鍙峰紓甯� + // return; + //} + //else + //{//鑾峰彇鍏朵粬閰嶇疆鐨勫緟閲囬泦椤� - //foreach (var col in colConfig.Where(o => o.DataCapturePointCode == DataCapturePointCode)) - //{ - // var valuecol = plcService.ReadValuePoint(col.DbNumber, col.Offset, col.DataCaptureColumnLength.Value, PLCManger.GetTypeForString(col.DataCaptureColumnType)); - // wplog.GetType().GetProperty(col.DataCaptureColumnTabelName).SetValue(wplog, valuecol);//缁欏姩鎬佸瓧娈佃祴鍊� + // //foreach (var col in colConfig.Where(o => o.DataCapturePointCode == DataCapturePointCode)) + // //{ + // // var valuecol = plcService.ReadValuePoint(col.DbNumber, col.Offset, col.DataCaptureColumnLength.Value, PLCManger.GetTypeForString(col.DataCaptureColumnType)); + // // wplog.GetType().GetProperty(col.DataCaptureColumnTabelName).SetValue(wplog, valuecol);//缁欏姩鎬佸瓧娈佃祴鍊� - //} - } - //璇诲彇浜岀淮鐮佸悗鏇存柊鏁版嵁搴� - WorkPieceInfoManager.ReadQRcode(wplog, PLCManger.GetLogTypeForWorkingProcedure(WorkingProcedure), plcService, _dataCaptureConfig.IsFeedback); + // //} + //} + ////璇诲彇浜岀淮鐮佸悗鏇存柊鏁版嵁搴� + //WorkPieceInfoManager.ReadQRcode(wplog, PLCManger.GetLogTypeForWorkingProcedure(WorkingProcedure), plcService, _dataCaptureConfig.IsFeedback); return; @@ -171,6 +171,11 @@ } } + //鐩戞帶娴嬭瘯鏁版嵁锛屾ā鎷燂紝娴嬭瘯 + MonitorHelper.MonitorTestForOP3501(_dataCaptureConfig, value, colConfig, wplog); + //鐩戞帶涓婄嚎 + MonitorHelper.MonitorTestForLine(_dataCaptureConfig, value, colConfig, wplog); + //鐗规畩澶勭悊OP50 銆怑ditby shaocx,2024-08-16銆� string sideValue = GetSideForOP50(plcService, wplog); wplog.MonitoringPoint += sideValue; @@ -188,8 +193,8 @@ threadStatusMonitor.Remarks = $"abcdefg:{RandomHelper.GenerateRandomCode(4)}"; if (!_dataCaptureConfig.DataCaptureFrequency.HasValue || _dataCaptureConfig.DataCaptureFrequency < 10) { - threadStatusMonitor.ThreadFrequency = 5000; - Thread.Sleep(5000); + threadStatusMonitor.ThreadFrequency = 1000; + Thread.Sleep(1000); } else { @@ -230,6 +235,62 @@ /// </summary> /// <param name="plcService"></param> /// <returns></returns> + //private string GetSideForOP50(PLCService plcService, WorkPieceLog wplog) + //{ + // try + // { + // if (!(DataCapturePointCode.Contains("OP5001A") || DataCapturePointCode.Contains("OP5001B"))) + // { + // return ""; + // } + // string title = $"璇诲彇 {DataCapturePointCode}宸ュ簭鏃讹紝鑾峰彇OP50鐨勫摢涓潰,宸ヤ欢鍙�:{wplog.WorkPieceID}"; + + // int i_value_M88 = _GetSideForOP50(plcService, wplog, "M87.0"); + // if (i_value_M88 == 1) + // { + // title += ",杩斿洖1"; + // Log4NetHelper.WriteInfoLog(PLCManger.GetLogTypeForWorkingProcedure(WorkingProcedure), title); + // return "1"; + // } + + // i_value_M88 = _GetSideForOP50(plcService, wplog, "M87.2"); + // if (i_value_M88 == 1) + // { + // title += ",杩斿洖2"; + // Log4NetHelper.WriteInfoLog(PLCManger.GetLogTypeForWorkingProcedure(WorkingProcedure), title); + // return "2"; + // } + + // i_value_M88 = _GetSideForOP50(plcService, wplog, "M87.4"); + // if (i_value_M88 == 1) + // { + // title += ",杩斿洖3"; + // Log4NetHelper.WriteInfoLog(PLCManger.GetLogTypeForWorkingProcedure(WorkingProcedure), title); + // return "3"; + // } + + // i_value_M88 = _GetSideForOP50(plcService, wplog, "M87.6"); + // if (i_value_M88 == 1) + // { + // title += ",杩斿洖4"; + // Log4NetHelper.WriteInfoLog(PLCManger.GetLogTypeForWorkingProcedure(WorkingProcedure), title); + // return "4"; + // } + + // Log4NetHelper.WriteInfoLog(PLCManger.GetLogTypeForWorkingProcedure(WorkingProcedure), $"璇诲彇 {DataCapturePointCode}宸ュ簭鏃讹紝鏃犳晥鏁板��,鑾峰彇OP50鐨勫摢涓潰,i_value_M88:{i_value_M88}锛屽伐浠跺彿:{wplog.WorkPieceID}"); + // return ""; + // } + // catch (Exception ex) + // { + // Log4NetHelper.WriteErrorLog(PLCManger.GetLogTypeForWorkingProcedure(WorkingProcedure), $"璇诲彇 {DataCapturePointCode}宸ュ簭鏃跺紓甯�,鑾峰彇OP50鐨勫摢涓潰,宸ヤ欢鍙�:{wplog.WorkPieceID}", ex); + // return ""; + // } + //} + /// <summary> + /// 鑾峰彇OP50鐨勬煇涓伐浣嶇殑鍝釜闈� + /// </summary> + /// <param name="plcService"></param> + /// <returns></returns> private string GetSideForOP50(PLCService plcService, WorkPieceLog wplog) { try @@ -238,46 +299,40 @@ { return ""; } - string title = $"璇诲彇 {DataCapturePointCode}宸ュ簭鏃讹紝鑾峰彇OP50鐨勫摢涓潰,宸ヤ欢鍙�:{wplog.WorkPieceID}"; - int i_value_M88 = _GetSideForOP50(plcService, wplog, "M87.0"); - if (i_value_M88 == 1) + object value_M88 = plcService.ReadValuePointV2("M88", PLCManger.GetTypeForString("int")); + int i_value_M88 = 0; + var isRight = int.TryParse(value_M88.ToString(), out i_value_M88); + Log4NetHelper.WriteInfoLog(LogType.MonitorOP50Side, $"璇诲彇 {DataCapturePointCode}宸ュ簭鐩戞帶娴嬮噺鏍囪鏁版嵁,鑾峰彇OP50鐨勫摢涓潰,i_value_M88:{i_value_M88},宸ヤ欢鍙�:{wplog.WorkPieceID}"); + if (isRight) { - title += ",杩斿洖1"; - Log4NetHelper.WriteInfoLog(PLCManger.GetLogTypeForWorkingProcedure(WorkingProcedure), title); - return "1"; + if (i_value_M88 == 64) + { + return "1"; + } + else if (i_value_M88 == 16384) + {//鍘熷畾涓�16384涓烘鍦ㄦ棆杞紝鐩戞帶涓嬫潵锛屽彂鐜� 16384搴旇鏄伐浣�1鐨勯棶棰� 銆怑ditby shaocx,2024-06-12銆� + return "1"; + } + else if (i_value_M88 == 256) + { + return "2"; + } + else if (i_value_M88 == 1024) + { + return "3"; + } + else if (i_value_M88 == 4096) + { + return "4"; + } } - - i_value_M88 = _GetSideForOP50(plcService, wplog, "M87.2"); - if (i_value_M88 == 1) - { - title += ",杩斿洖2"; - Log4NetHelper.WriteInfoLog(PLCManger.GetLogTypeForWorkingProcedure(WorkingProcedure), title); - return "2"; - } - - i_value_M88 = _GetSideForOP50(plcService, wplog, "M87.4"); - if (i_value_M88 == 1) - { - title += ",杩斿洖3"; - Log4NetHelper.WriteInfoLog(PLCManger.GetLogTypeForWorkingProcedure(WorkingProcedure), title); - return "3"; - } - - i_value_M88 = _GetSideForOP50(plcService, wplog, "M87.6"); - if (i_value_M88 == 1) - { - title += ",杩斿洖4"; - Log4NetHelper.WriteInfoLog(PLCManger.GetLogTypeForWorkingProcedure(WorkingProcedure), title); - return "4"; - } - - Log4NetHelper.WriteInfoLog(PLCManger.GetLogTypeForWorkingProcedure(WorkingProcedure), $"璇诲彇 {DataCapturePointCode}宸ュ簭鏃讹紝鏃犳晥鏁板��,鑾峰彇OP50鐨勫摢涓潰,i_value_M88:{i_value_M88}锛屽伐浠跺彿:{wplog.WorkPieceID}"); + Log4NetHelper.WriteErrorLog(LogType.MonitorOP50Side, $"璇诲彇 {DataCapturePointCode}宸ュ簭鐩戞帶娴嬮噺鏍囪鏁版嵁鏃讹紝鏃犳晥鏁板��,鑾峰彇OP50鐨勫摢涓潰,,i_value_M88:{i_value_M88}锛屽伐浠跺彿:{wplog.WorkPieceID}", null); return ""; } catch (Exception ex) { - Log4NetHelper.WriteErrorLog(PLCManger.GetLogTypeForWorkingProcedure(WorkingProcedure), $"璇诲彇 {DataCapturePointCode}宸ュ簭鏃跺紓甯�,鑾峰彇OP50鐨勫摢涓潰,宸ヤ欢鍙�:{wplog.WorkPieceID}", ex); + Log4NetHelper.WriteErrorLog(LogType.MonitorOP50Side, $"璇诲彇 {DataCapturePointCode}宸ュ簭鐩戞帶娴嬮噺鏍囪鏁版嵁鏃跺紓甯�,鑾峰彇OP50鐨勫摢涓潰,宸ヤ欢鍙�:{wplog.WorkPieceID}", ex); return ""; } } -- Gitblit v1.9.3