From c7acb51c3ace14e509704f453adc58b9eb6613a8 Mon Sep 17 00:00:00 2001 From: liuying <1427574514@qq.com> Date: 周三, 16 10月 2024 16:23:28 +0800 Subject: [PATCH] 细节 --- DataCapture/iWare_SCADA_DataCapture/iWare_SCADA_BusinessLogical/DataCaptureHandlerV2/DataCaptureHandler_01.cs | 145 +++++++++++++++++++++++++++++------------------- 1 files changed, 88 insertions(+), 57 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 ff66494..551d455 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 @@ -1,4 +1,5 @@ 锘縰sing iWare_SCADA_BusinessLogical.BLL; +using iWare_SCADA_BusinessLogical.BLL.Important; using iWare_SCADA_BusinessLogical.Utils; using iWare_SCADA_Model; using iWare_SCADA_Model.MiddleModel; @@ -47,44 +48,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; @@ -106,7 +107,7 @@ //plcService.Close(); //plcService.OpenService(); } - string value_01 = ""; + string value_01 = "FALSE";//娉ㄦ剰锛氶粯璁ゆ槸FALSE 銆怑ditby shaocx,2024-09-05銆� while (true) { threadStatusMonitor.ErrorMsg = ""; @@ -134,19 +135,20 @@ //string hostname = Environment.MachineName; object value = plcService.ReadValuePoint(_dataCaptureConfig.DbNumber, _dataCaptureConfig.Offset, PLCManger.GetTypeForString(_dataCaptureConfig.DataCaptureColumnType)); - if (value_01.ToUpper().Equals("FALSE") && value.ToString().ToUpper().Equals("TRUE")) - {//褰撲笂涓�鏍囪浣�0锛屽綋鍓嶈幏鍙栨爣璁颁负1鏃讹紝 - //瑙﹀彂鎿嶄綔, 骞剁粰闈欐�佸彉閲忚祴鍊间负1 - //涓氬姟浠g爜 - threadStatusMonitor.Threadlastmodifytime = DateTime.Now; - WorkPieceLog wplog = new WorkPieceLog(); + WorkPieceLog wplog = null; + + var value_bool = value.ToString().ToUpper().Equals("TRUE"); + if (value_bool) + { + wplog = new WorkPieceLog(); wplog.Id = Yitter.IdGenerator.YitIdHelper.NextId(); wplog.WorkingProcedure = WorkingProcedure; wplog.EquipmentID = _dataCaptureConfig.EquipmentID; ; wplog.Remarks = WorkingProcedure; wplog.MonitoringPoint = DataCapturePointCode; + //wplog.CreatedUserName = DataCapturePointCode; + SystemBussinessHelper.SetWorkPieceLogMiddleForCreatedUserName(ref wplog, DataCapturePointCode, DataCapturePointCname); wplog.CreatedTime = DateTimeHelper.GetDateTime(); - wplog.CreatedUserName = DataCapturePointCode; wplog.UpdatedTime = DateTimeHelper.GetDateTime(); wplog.UpdatedUserName = Environment.MachineName + "鑷姩" + Thread.CurrentThread.ManagedThreadId.ToString(); wplog.OnlineTime = DateTimeHelper.GetDateTime(); @@ -173,26 +175,50 @@ //鐩戞帶娴嬭瘯鏁版嵁锛屾ā鎷燂紝娴嬭瘯 MonitorHelper.MonitorTestForOP3501(_dataCaptureConfig, value, colConfig, wplog); - - //鐗规畩澶勭悊OP50 銆怑ditby shaocx,2024-08-16銆� - string sideValue = GetSideForOP50(plcService, wplog); - wplog.MonitoringPoint += sideValue; - wplog.CreatedUserName = wplog.MonitoringPoint; - - //璇诲彇浜岀淮鐮佸悗鏇存柊鏁版嵁搴� - WorkPieceInfoManager.ReadQRcode(wplog, PLCManger.GetLogTypeForWorkingProcedure(WorkingProcedure), plcService, _dataCaptureConfig.IsFeedback); - - threadStatusMonitor.Threadstatue = 1; - + //鐩戞帶涓婄嚎 + MonitorHelper.MonitorTestForLine(_dataCaptureConfig, value, colConfig, wplog.WorkPieceID); } - value_01 = value.ToString(); + else + { + value_01 = value.ToString(); + } + if (wplog != null) + { + var isRight = SystemBussinessHelper.ValidateIsRightWorkPieceID(wplog.WorkPieceID); + if (isRight) + { + #region 澶勭悊涓氬姟 + if (value_01.ToUpper().Equals("FALSE") && value.ToString().ToUpper().Equals("TRUE")) + {//褰撲笂涓�鏍囪浣�0锛屽綋鍓嶈幏鍙栨爣璁颁负1鏃讹紝 + //瑙﹀彂鎿嶄綔, 骞剁粰闈欐�佸彉閲忚祴鍊间负1 + //涓氬姟浠g爜 + threadStatusMonitor.Threadlastmodifytime = DateTime.Now; + + //鐗规畩澶勭悊OP50 銆怑ditby shaocx,2024-08-16銆� + string sideValue = GetSideForOP50(plcService, wplog); + wplog.MonitoringPoint += sideValue; + wplog.JiaJuGongWei = SystemBussinessHelper.GetJiaJuGongWei(wplog.MonitoringPoint, wplog.WorkingProcedure); + //wplog.CreatedUserName = wplog.MonitoringPoint; + SystemBussinessHelper.SetWorkPieceLogMiddleForCreatedUserName(ref wplog, wplog.MonitoringPoint, DataCapturePointCname); + + //璇诲彇浜岀淮鐮佸悗鏇存柊鏁版嵁搴� + ReadQRcodeManager.ReadQRcode(wplog, PLCManger.GetLogTypeForWorkingProcedure(WorkingProcedure), plcService, _dataCaptureConfig.IsFeedback); + + threadStatusMonitor.Threadstatue = 1; + + } + value_01 = value.ToString(); + + #endregion + } + } } threadStatusMonitor.Remarks = $"abcdefg:{RandomHelper.GenerateRandomCode(4)}"; if (!_dataCaptureConfig.DataCaptureFrequency.HasValue || _dataCaptureConfig.DataCaptureFrequency < 10) { - threadStatusMonitor.ThreadFrequency = 5000; - Thread.Sleep(5000); + threadStatusMonitor.ThreadFrequency = 700; + Thread.Sleep(700); } else { @@ -293,10 +319,15 @@ { try { + if (!(DataCapturePointCode.Contains("OP5001A") || DataCapturePointCode.Contains("OP5001B"))) + { + return ""; + } + 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(PLCManger.GetLogTypeForWorkingProcedure(WorkingProcedure), $"璇诲彇 {DataCapturePointCode}宸ュ簭鐩戞帶娴嬮噺鏍囪鏁版嵁,鑾峰彇OP50鐨勫摢涓潰,i_value_M88:{i_value_M88},宸ヤ欢鍙�:{wplog.WorkPieceID}"); + Log4NetHelper.WriteInfoLog(LogType.MonitorOP50Side, $"璇诲彇 {DataCapturePointCode}宸ュ簭鐩戞帶娴嬮噺鏍囪鏁版嵁,鑾峰彇OP50鐨勫摢涓潰,i_value_M88:{i_value_M88},宸ヤ欢鍙�:{wplog.WorkPieceID}"); if (isRight) { if (i_value_M88 == 64) @@ -320,12 +351,12 @@ return "4"; } } - Log4NetHelper.WriteErrorLog(PLCManger.GetLogTypeForWorkingProcedure(WorkingProcedure), $"璇诲彇 {DataCapturePointCode}宸ュ簭鐩戞帶娴嬮噺鏍囪鏁版嵁鏃讹紝鏃犳晥鏁板��,鑾峰彇OP50鐨勫摢涓潰,,i_value_M88:{i_value_M88}锛屽伐浠跺彿:{wplog.WorkPieceID}", null); + 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