From 05f2a20bb792169bf7b8a101af8718b96449f55a Mon Sep 17 00:00:00 2001 From: schangxiang@126.com <schangxiang@126.com> Date: 周五, 06 9月 2024 16:11:33 +0800 Subject: [PATCH] 整理代码 --- DataCapture/iWare_SCADA_DataCapture/iWare_SCADA_BusinessLogical/DataCaptureHandlerV2/DataCaptureHandler_01.cs | 230 ++++++++++++++++++++++++++++++++++++++------------------- 1 files changed, 152 insertions(+), 78 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 9620521..b333b43 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; @@ -45,46 +46,46 @@ public override void DataCaptureStart() { - if (SystemValue.isStartedModel) + 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 銆怑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(); @@ -171,25 +173,47 @@ } } + //鐩戞帶娴嬭瘯鏁版嵁锛屾ā鎷燂紝娴嬭瘯 + MonitorHelper.MonitorTestForOP3501(_dataCaptureConfig, value, colConfig, wplog); + //鐩戞帶涓婄嚎 + MonitorHelper.MonitorTestForLine(_dataCaptureConfig, value, colConfig, wplog.WorkPieceID); + } + //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.CreatedUserName = wplog.MonitoringPoint; + //wplog.CreatedUserName = wplog.MonitoringPoint; + SystemBussinessHelper.SetWorkPieceLogMiddleForCreatedUserName(ref wplog, wplog.MonitoringPoint, DataCapturePointCname); //璇诲彇浜岀淮鐮佸悗鏇存柊鏁版嵁搴� - WorkPieceInfoManager.ReadQRcode(wplog, PLCManger.GetLogTypeForWorkingProcedure(WorkingProcedure), plcService, _dataCaptureConfig.IsFeedback); + 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 { @@ -230,6 +254,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 +318,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