From 3ae4d4e84face9c3f81a8cd74e6458b5914a43e0 Mon Sep 17 00:00:00 2001 From: schangxiang@126.com <schangxiang@126.com> Date: 周四, 20 6月 2024 14:29:53 +0800 Subject: [PATCH] 2 --- DataCapture/iWare_SCADA_DataCapture/iWare_SCADA_BusinessLogical/DataCaptureHandlerV2/DataCaptureHandler_02.cs | 226 ++++++++++++++++++++++++++++++++++++++++++++++---------- 1 files changed, 184 insertions(+), 42 deletions(-) diff --git a/DataCapture/iWare_SCADA_DataCapture/iWare_SCADA_BusinessLogical/DataCaptureHandlerV2/DataCaptureHandler_02.cs b/DataCapture/iWare_SCADA_DataCapture/iWare_SCADA_BusinessLogical/DataCaptureHandlerV2/DataCaptureHandler_02.cs index d57c64e..ee4d387 100644 --- a/DataCapture/iWare_SCADA_DataCapture/iWare_SCADA_BusinessLogical/DataCaptureHandlerV2/DataCaptureHandler_02.cs +++ b/DataCapture/iWare_SCADA_DataCapture/iWare_SCADA_BusinessLogical/DataCaptureHandlerV2/DataCaptureHandler_02.cs @@ -25,7 +25,7 @@ /// <summary> /// 娴嬮噺瀹屾垚鏍囪 /// </summary> - public class DataCaptureHandler_02: DataCaptureHandler + public class DataCaptureHandler_02 : DataCaptureHandler { public static readonly DataCaptureHandler_02 Instance = new DataCaptureHandler_02(); @@ -153,6 +153,7 @@ } DateTime? fileFindTime = null; DateTime? op60QualityTime = null; + // 璐ㄩ噺淇℃伅锛氭定鏂姏鐭�... 棰勬嫥绱у姏鐭� 棰勬嫥绱ц搴� 缁堟嫥绱у姏鐭� 缁堟嫥绱ц搴� //kistler_crack 娑ㄦ柇鍔涚煩 宸ヤ綅3 娑ㄦ柇鍔涚煩锛圷 - Maximum锛� 璐ㄩ噺缁撴灉锛圧esult锛� //kistler_bush 鍘嬭鍔涚煩 宸ヤ綅6 琛鍘嬭鍔涚煩锛圷 - Maximum锛� 琛鍘嬭浣嶇Щ锛圔lock X锛� 璐ㄩ噺缁撴灉锛圧esult锛� @@ -182,13 +183,23 @@ } else { - var value = plcService.ReadValuePoint(_dataCaptureConfig.DbNumber, _dataCaptureConfig.Offset, PLCManger.GetTypeForString(_dataCaptureConfig.DataCaptureColumnType)); + object value; + //鍒ゆ柇DBNumber涓嶅悓 銆怑ditby shaocx,2024-06-07銆� + if (_dataCaptureConfig.DbNumber.ToUpper() == "M") + { + value = plcService.ReadValuePointV2(_dataCaptureConfig.DbNumber + _dataCaptureConfig.Offset, PLCManger.GetTypeForString(_dataCaptureConfig.DataCaptureColumnType)); + } + else + { + value = plcService.ReadValuePoint(_dataCaptureConfig.DbNumber, _dataCaptureConfig.Offset, PLCManger.GetTypeForString(_dataCaptureConfig.DataCaptureColumnType)); + } + Log4NetHelper.WriteInfoLog(PLCManger.GetLogTypeForWorkingProcedure(WorkingProcedure), $"{DataCapturePointCode}娴嬮噺瀹屾垚銆恵value_02}銆戙�恵value.ToString()}銆戙�恵_dataCaptureConfig.PLCIP}銆戙�恵_dataCaptureConfig.DbNumber}銆戙�恵_dataCaptureConfig.Offset}銆慬{_dataCaptureConfig.DataCapturePLCType}][{plcService.IsConnected.ToString()}]"); if (value_02.ToUpper().Equals("FALSE") && value.ToString().ToUpper().Equals("TRUE")) {//褰撲笂涓�鏍囪浣�0锛屽綋鍓嶈幏鍙栨爣璁颁负1鏃讹紝 //瑙﹀彂鎿嶄綔, 骞剁粰闈欐�佸彉閲忚祴鍊间负1 //涓氬姟浠g爜 - Log4NetHelper.WriteInfoLog(PLCManger.GetLogTypeForWorkingProcedure(WorkingProcedure), $"{DataCapturePointCode}杩涘叆娴嬮噺瀹屾垚銆恵value_02}銆戙�恵value.ToString()}銆�"); + Log4NetHelper.WriteInfoLog(PLCManger.GetLogTypeForWorkingProcedure(WorkingProcedure), $"{DataCapturePointCode}杩涘叆娴嬮噺瀹屾垚銆恵value_02}銆戙�恵value.ToString()}銆�"); threadStatusMonitor.Threadlastmodifytime = DateTime.Now; WorkPieceLogMiddle wplog = new WorkPieceLogMiddle(); @@ -199,7 +210,7 @@ wplog.MonitoringPoint = DataCapturePointCode; wplog.CreatedTime = DateTimeHelper.GetDateTime(); wplog.CreatedUserName = DataCapturePointCode; - wplog.UpdatedUserName = Environment.MachineName+"鑷姩" + Thread.CurrentThread.ManagedThreadId.ToString(); + wplog.UpdatedUserName = Environment.MachineName + "鑷姩" + Thread.CurrentThread.ManagedThreadId.ToString(); wplog.UpdatedTime = DateTimeHelper.GetDateTime(); wplog.IsDeleted = false; wplog.QualityType = QualityType.Online.ToString(); @@ -215,7 +226,7 @@ { Log4NetHelper.WriteErrorLog(PLCManger.GetLogTypeForWorkingProcedure(WorkingProcedure), $" {DataCapturePointCode}宸ュ簭鐩戞帶娴嬮噺瀹屾垚鏍囪 璇诲彇宸ヤ欢鐮佸姩鎬佺敱浜庡瓧娈靛悕娌℃壘鍒帮紝璧嬪�笺�恵WorkingProcedure ?? "绌哄瓧绗︿覆"}銆戝け璐wplog.Id}"); } - if(set.PropertyType.FullName.Equals("System.String")) + if (set.PropertyType.FullName.Equals("System.String")) { set.SetValue(wplog, valuecol.ToString());//缁欏姩鎬佸瓧娈佃祴鍊� } @@ -235,13 +246,13 @@ if (WorkingProcedure.Equals("OP30")) { var time = DateTimeHelper.GetDateTime(); - if (fileFindTime==null) + if (fileFindTime == null) { fileFindTime = time.AddMinutes(-10); } - + //鑾峰彇鏂囦欢澶瑰悕绉� - List<string> directorylist = new List<string>(); + List<string> directorylist = new List<string>(); string directory = time.ToString("yyyy-MM-dd_HH"); string directoryOther = time.AddSeconds(-30).ToString("yyyy-MM-dd_HH"); directorylist.Add(directory); @@ -255,7 +266,7 @@ { try { - if (DataCapturePointCode.Contains("CH3")|| DataCapturePointCode.Contains("CH6")) + if (DataCapturePointCode.Contains("CH3") || DataCapturePointCode.Contains("CH6")) {//宸ヤ綅3 娑ㄦ柇鍔涚煩 //鎵弿褰撳墠鏃堕棿涓�30绉掑墠鍑虹幇鐨勬枃浠�,涓�鑸妭鎷嶅湪15绉掑乏鍙筹紙涓や釜鏈嶅姟鍣ㄦ椂闂翠笉涓�鏍蜂細瀵艰嚧鍙栦笉鍒版枃浠讹級 var newFiles = FileHelper.DetectNewFiles(path36 + @"\" + dir, "*.pdf", 10, fileFindTime.Value, time.AddMinutes(120)); @@ -264,7 +275,7 @@ files.Add((FileInfo)file); } } - else if (DataCapturePointCode.Contains("CH4")|| DataCapturePointCode.Contains("CH5")) + else if (DataCapturePointCode.Contains("CH4") || DataCapturePointCode.Contains("CH5")) {//宸ヤ綅4 棰勬嫥绱у姏鐭� SEQ_04 //鎵弿褰撳墠鏃堕棿涓�30绉掑墠鍑虹幇鐨勬枃浠�,涓�鑸妭鎷嶅湪15绉掑乏鍙筹紙涓や釜鏈嶅姟鍣ㄦ椂闂翠笉涓�鏍蜂細瀵艰嚧鍙栦笉鍒版枃浠讹級 @@ -275,21 +286,21 @@ } } } - catch(Exception ex) + catch (Exception ex) { Log4NetHelper.WriteErrorLog(PLCManger.GetLogTypeForWorkingProcedure(WorkingProcedure), $"{DataCapturePointCode}娴嬮噺瀹屾垚璇诲彇鏂囦欢{dir}鏁版嵁鏃跺紓甯�,閲囬泦鏃堕棿{fileFindTime.Value},閬垮厤宸ュ簭瀹屾垚寮傚父1锛�", ex); } } files = files.OrderByDescending(o => o.LastWriteTime).ToList(); - if(files.Count>0) + if (files.Count > 0) { - Log4NetHelper.WriteErrorLog(PLCManger.GetLogTypeForWorkingProcedure(WorkingProcedure), $"宸ヤ綅銆恵DataCapturePointCode}銆戝伐浠躲�恵wplog.WorkPieceID??"绌哄瓧绗�"}銆戞枃浠秢files[0].FullName}娴嬮噺瀹屾垚璇诲彇鏂囦欢鏁版嵁寮�濮�"); + Log4NetHelper.WriteErrorLog(PLCManger.GetLogTypeForWorkingProcedure(WorkingProcedure), $"宸ヤ綅銆恵DataCapturePointCode}銆戝伐浠躲�恵wplog.WorkPieceID ?? "绌哄瓧绗�"}銆戞枃浠秢files[0].FullName}娴嬮噺瀹屾垚璇诲彇鏂囦欢鏁版嵁寮�濮�"); switch (DataCapturePointCode) { case "OP3002CH3": wplog.OP30QualityFilePathCH3 = files[0].FullName; - wplog.QualityStateStr= FileHelper.ReadPdfFileForSpire(files[0].FullName, "Result"); + wplog.QualityStateStr = FileHelper.ReadPdfFileForSpire(files[0].FullName, "Result"); wplog.QualityOP30To1 = FileHelper.ReadPdfFileForSpire(files[0].FullName, "Y-Maximum");//娑ㄦ柇鍔涚煩 break; case "OP3002CH4": @@ -312,9 +323,9 @@ fileFindTime = files[0].LastWriteTime; } } - else if(WorkingProcedure.Equals("OP35")) + else if (WorkingProcedure.Equals("OP35")) { - if(wplog.OP35OK) + if (wplog.OP35OK) { wplog.QualityStateStr = "OK"; } @@ -323,8 +334,17 @@ wplog.QualityStateStr = "NG"; } } - else if(WorkingProcedure.Equals("OP60")) + else if (WorkingProcedure.Equals("OP60")) { + //澧炲姞OP60 璐ㄩ噺淇℃伅璇诲彇鏍¢獙 銆怑ditby shaocx,2024-06-07銆� + var gongweiStr = DataCapturePointCode.Substring(DataCapturePointCode.Length - 1, 1); + if (wplog.Op60_Place_Flag == false) + { + Log4NetHelper.WriteInfoLog(PLCManger.GetLogTypeForWorkingProcedure(WorkingProcedure), $"{DataCapturePointCode}涓嬬嚎瀹屾垚锛屾槸鎸囧畾鐨勫伐浠秢wplog.WorkPieceID},宸ヤ綅{gongweiStr}锛屼笉閫氳繃锛岃鍙朞p60_Place_Flag:false"); + continue; + }; + Log4NetHelper.WriteInfoLog(PLCManger.GetLogTypeForWorkingProcedure(WorkingProcedure), $"{DataCapturePointCode}涓嬬嚎瀹屾垚锛屾槸鎸囧畾鐨勫伐浠秢wplog.WorkPieceID},宸ヤ綅{gongweiStr}锛屾牎楠岄�氳繃锛岃鍙朞p60_Place_Flag:true"); + var time = DateTimeHelper.GetDateTime(); if (fileFindTime == null) @@ -339,19 +359,26 @@ { files.Add((FileInfo)file); } - if(files.Count()>0) + //娉ㄦ剰锛氫竴瀹氳绛涢�夊埗瀹氱殑鏂囦欢鏁版嵁 + files = files.Where(x => x.Name.Contains("SP-" + gongweiStr)).OrderByDescending(o => o.LastWriteTime).ToList();//绛涢�夊彇鏈�鏂扮殑鏂囦欢 銆怑ditby shaocx,2024-06-19銆� + if (files.Count() > 0) { - files = files.OrderByDescending(o => o.LastWriteTime).ToList(); + Log4NetHelper.WriteInfoLog(PLCManger.GetLogTypeForWorkingProcedure(WorkingProcedure), $"{DataCapturePointCode}涓嬬嚎瀹屾垚璇诲彇鍒版枃浠秢files.Count()}涓紝鏄寚瀹氱殑宸ヤ欢{wplog.WorkPieceID},,宸ヤ綅{gongweiStr}涓婃鑾峰彇灏间集涓佹枃浠堕噷鐨勬椂闂村��:{(op60QualityTime == null ? "" : op60QualityTime.ToString())}"); List<OP60Info> op60Infos = new List<OP60Info>(); - foreach (var file in files) + bool isFindFile = false; + //娉ㄦ剰锛氬彧鍙栫涓�涓枃浠跺氨鍙互鍟�!!!!!! 銆怑ditby shaocx,2024-06-19銆� + var doFiles = new List<FileInfo>() { files.First() }; + foreach (var file in doFiles) {//鍙栧�掑簭鍖归厤鐨勬枃浠跺悕涓哄伐浠跺彿鐨勬枃浠� - if (file.Name.Contains("SP-" + DataCapturePointCode.Substring(DataCapturePointCode.Length - 1, 1))) + if (file.Name.Contains("SP-" + gongweiStr)) { - Log4NetHelper.WriteErrorLog(PLCManger.GetLogTypeForWorkingProcedure(WorkingProcedure), $"{DataCapturePointCode}涓嬬嚎瀹屾垚璇诲彇鍒版枃浠秢file.Name}锛屾槸鎸囧畾鐨勫伐浠�"); - + Log4NetHelper.WriteInfoLog(PLCManger.GetLogTypeForWorkingProcedure(WorkingProcedure), $"{DataCapturePointCode}涓嬬嚎瀹屾垚璇诲彇鍒版枃浠秢file.Name}锛屾槸鎸囧畾鐨勫伐浠秢wplog.WorkPieceID},,宸ヤ綅{gongweiStr}涓婃鑾峰彇灏间集涓佹枃浠堕噷鐨勬椂闂村��:{(op60QualityTime == null ? "" : op60QualityTime.ToString())}"); + isFindFile = true; var datatable = CSVHelper.ReadCSVList(file.FullName); + Log4NetHelper.WriteInfoLog(PLCManger.GetLogTypeForWorkingProcedure(WorkingProcedure), $"{DataCapturePointCode}涓嬬嚎瀹屾垚璇诲彇鏂囦欢{file.Name}锛屾寚瀹氬伐浠跺彿{wplog.WorkPieceID},,宸ヤ綅{gongweiStr}鍙戠幇鏂囦欢琛屾暟{datatable.Count}"); if (datatable.Count < 106) {//璐ㄩ噺鏁版嵁浠�106琛屽紑濮� + Log4NetHelper.WriteErrorLog(PLCManger.GetLogTypeForWorkingProcedure(WorkingProcedure), $"{DataCapturePointCode}涓嬬嚎瀹屾垚璇诲彇鏂囦欢{file.Name}锛屾寚瀹氬伐浠跺彿{wplog.WorkPieceID},,宸ヤ綅{gongweiStr}鍙戠幇鏂囦欢琛屾暟{datatable.Count}灏忎簬106"); continue; } datatable.Reverse(); @@ -374,19 +401,34 @@ op60Infos.Add(info); } } - if(op60Infos.Count()>=2) + if (op60Infos.Count() >= 2) { - if(op60QualityTime.HasValue) + if (op60QualityTime.HasValue) { - if(op60Infos[0].datetimeHandle> op60QualityTime.Value) - { - wplog.QualityOP60To1 = op60Infos[0].value; - wplog.QualityOP60To2 = op60Infos[1].value; - wplog.OP60QualityFilePath = file.FullName; + //if (op60Infos[0].datetimeHandle > op60QualityTime.Value) + //{//杩欎釜鏃堕棿鍒ゆ柇瑕佷笉瑕佹嬁鎺夛紵锛� 銆怑ditby shaocx,2024-06-19銆� + // wplog.QualityOP60To1 = op60Infos[0].value; + // wplog.QualityOP60To2 = op60Infos[1].value; + // wplog.OP60QualityFilePath = file.FullName; + // Log4NetHelper.WriteInfoLog(PLCManger.GetLogTypeForWorkingProcedure(WorkingProcedure), $"{DataCapturePointCode}涓嬬嚎瀹屾垚璇诲彇鍒版枃浠秢file.Name}锛屾槸鎸囧畾鐨勫伐浠秢wplog.WorkPieceID},宸ヤ綅{gongweiStr}鎴愬姛璧嬪�间簡OP60QualityFilePath绛夊瓧娈�"); + //} + //else + //{ + // var msg = $"锛屽洜涓哄垽鏂椂闂翠笉绗﹀悎锛宱p60Infos[0].datetimeHandle:{(op60Infos[0].datetimeHandle == null ? "" : op60Infos[0].datetimeHandle.ToString())}灏忎簬绛変簬op60QualityTime:{(op60QualityTime.Value == null ? "" : op60QualityTime.Value.ToString())}"; + // Log4NetHelper.WriteErrorLog(PLCManger.GetLogTypeForWorkingProcedure(WorkingProcedure), $"{DataCapturePointCode}涓嬬嚎瀹屾垚璇诲彇鍒版枃浠秢file.Name}锛屾槸鎸囧畾鐨勫伐浠秢wplog.WorkPieceID},宸ヤ綅{gongweiStr}娌¤兘璧嬪�糘P60QualityFilePath绛夊瓧娈�,{msg}"); + // break; + //} + wplog.QualityOP60To1 = op60Infos[0].value; + wplog.QualityOP60To2 = op60Infos[1].value; + wplog.OP60QualityFilePath = file.FullName; + Log4NetHelper.WriteInfoLog(PLCManger.GetLogTypeForWorkingProcedure(WorkingProcedure), $"{DataCapturePointCode}涓嬬嚎瀹屾垚璇诲彇鍒版枃浠秢file.Name}锛屾槸鎸囧畾鐨勫伐浠秢wplog.WorkPieceID},宸ヤ綅{gongweiStr}鎴愬姛璧嬪�间簡OP60QualityFilePath绛夊瓧娈碉紝璇诲彇鏃堕棿:{op60Infos[0].datetimeHandle.ToString()}"); + if (op60Infos[0].datetimeHandle > op60QualityTime.Value) + {//杩欎釜鏃堕棿鍒ゆ柇瑕佷笉瑕佹嬁鎺夛紵锛� 銆怑ditby shaocx,2024-06-19銆� } else { - break; + var msg = $"锛屽彧鏄鍛婏紒鍥犱负鍒ゆ柇鏃堕棿涓嶇鍚堬紝op60Infos[0].datetimeHandle:{(op60Infos[0].datetimeHandle == null ? "" : op60Infos[0].datetimeHandle.ToString())}灏忎簬绛変簬op60QualityTime:{(op60QualityTime.Value == null ? "" : op60QualityTime.Value.ToString())}"; + Log4NetHelper.WriteErrorLog(PLCManger.GetLogTypeForWorkingProcedure(WorkingProcedure), $"{DataCapturePointCode}涓嬬嚎瀹屾垚璇诲彇鍒版枃浠秢file.Name}锛屾槸鎸囧畾鐨勫伐浠秢wplog.WorkPieceID},宸ヤ綅{gongweiStr}娌¤兘璧嬪�糘P60QualityFilePath绛夊瓧娈�,{msg}"); } } else @@ -394,6 +436,7 @@ wplog.QualityOP60To1 = op60Infos[0].value; wplog.QualityOP60To2 = op60Infos[1].value; wplog.OP60QualityFilePath = file.FullName; + Log4NetHelper.WriteInfoLog(PLCManger.GetLogTypeForWorkingProcedure(WorkingProcedure), $"{DataCapturePointCode}涓嬬嚎瀹屾垚璇诲彇鍒版枃浠秢file.Name}锛屾槸鎸囧畾鐨勫伐浠秢wplog.WorkPieceID},宸ヤ綅{gongweiStr}鎴愬姛璧嬪�间簡OP60QualityFilePath绛夊瓧娈碉紝璇诲彇鏃堕棿:{op60Infos[0].datetimeHandle.ToString()}"); } op60QualityTime = op60Infos[0].datetimeHandle; break; @@ -402,13 +445,32 @@ } else { - Log4NetHelper.WriteErrorLog(PLCManger.GetLogTypeForWorkingProcedure(WorkingProcedure), $"{DataCapturePointCode}涓嬬嚎瀹屾垚璇诲彇鏂囦欢{file.FullName}涓嶆槸鎸囧畾宸ヤ欢{wplog.WorkPieceID}"); + Log4NetHelper.WriteErrorLog(PLCManger.GetLogTypeForWorkingProcedure(WorkingProcedure), $"{DataCapturePointCode}涓嬬嚎瀹屾垚璇诲彇鏂囦欢{file.Name}涓嶆槸鎸囧畾宸ヤ欢{wplog.WorkPieceID},宸ヤ綅{gongweiStr}"); } } + if (isFindFile == false) + { + Log4NetHelper.WriteErrorLog(PLCManger.GetLogTypeForWorkingProcedure(WorkingProcedure), $"{DataCapturePointCode}涓嬬嚎瀹屾垚娌℃湁鎵惧埌鏂囦欢,鎸囧畾宸ヤ欢{wplog.WorkPieceID},宸ヤ綅{gongweiStr}"); + } + } + else + { + Log4NetHelper.WriteErrorLog(PLCManger.GetLogTypeForWorkingProcedure(WorkingProcedure), $"{DataCapturePointCode}涓嬬嚎瀹屾垚,閫氳繃绛涢�夎繃婊�,娌℃湁鎵惧埌鏂囦欢,鎸囧畾宸ヤ欢{wplog.WorkPieceID},宸ヤ綅{gongweiStr}"); } } else if (WorkingProcedure.Equals("OP20")) { + var gongweiStr = DataCapturePointCode.Substring(DataCapturePointCode.Length - 1, 1); + //璁板綍鍏敤鍙橀噺锛屼繚瀛樼偣浣峂88鐨勪俊鎭� 銆怑ditby shaocx,2024-06-07銆� + if (DataCapturePointCode.Contains("OP2002C")) + {//浠嶰P2002C璇诲彇锛屽洜涓洪『搴忔槸 CBA锛岃�屼笉鏄疉BC + string sideValue = GetSideForOP20(plcService, wplog); + SystemValue.OP20_Side_Value = sideValue; + } + wplog.MonitoringPoint += SystemValue.OP20_Side_Value; + wplog.CreatedUserName = wplog.MonitoringPoint; + + Log4NetHelper.WriteInfoLog(PLCManger.GetLogTypeForWorkingProcedure(WorkingProcedure), $"{DataCapturePointCode}涓嬬嚎瀹屾垚锛屾槸鎸囧畾鐨勫伐浠秢wplog.WorkPieceID},宸ヤ綅{gongweiStr}锛屾牎楠岄�氳繃锛岃鍙朞p60_Place_Flag:true"); var time = DateTimeHelper.GetDateTime(); if (fileFindTime == null) @@ -423,21 +485,31 @@ { files.Add((FileInfo)file); } + //娉ㄦ剰锛氫竴瀹氳绛涢�夊埗瀹氱殑鏂囦欢鏁版嵁 + files = files.Where(x => x.Name.Contains("SP-" + gongweiStr)).OrderByDescending(o => o.LastWriteTime).ToList();//绛涢�夊彇鏈�鏂扮殑鏂囦欢 銆怑ditby shaocx,2024-06-19銆� + Log4NetHelper.WriteInfoLog(PLCManger.GetLogTypeForWorkingProcedure(WorkingProcedure), $"宸ヤ綅銆恵DataCapturePointCode}銆戝伐浠躲�恵wplog.WorkPieceID ?? "绌哄瓧绗�"}銆戣幏鍙栧埌銆恵files.Count()}銆戜釜鏂囦欢锛屻�恵fileFindTime.Value}銆戙�恵time.AddHours(2)}銆�"); if (files.Count() > 0) { + bool isFindFile = false; + Log4NetHelper.WriteInfoLog(PLCManger.GetLogTypeForWorkingProcedure(WorkingProcedure), $"{DataCapturePointCode}涓嬬嚎瀹屾垚璇诲彇鍒版枃浠秢files.Count()}涓紝鏄寚瀹氱殑宸ヤ欢{wplog.WorkPieceID},宸ヤ綅{gongweiStr},涓婃鑾峰彇灏间集涓佹枃浠堕噷鐨勬椂闂村��:{(op60QualityTime == null ? "" : op60QualityTime.ToString())}"); files = files.OrderByDescending(o => o.LastWriteTime).ToList(); List<OP60Info> op60Infos = new List<OP60Info>(); - foreach (var file in files) + //娉ㄦ剰锛氬彧鍙栫涓�涓枃浠跺氨鍙互鍟�!!!!!! 銆怑ditby shaocx,2024-06-19銆� + var doFiles = new List<FileInfo>() { files.First() }; + foreach (var file in doFiles) {//鍙栧�掑簭鍖归厤鐨勬枃浠跺悕涓哄伐浠跺彿鐨勬枃浠� - if (file.Name.Contains("SP-" + DataCapturePointCode.Substring(DataCapturePointCode.Length - 1, 1))) + if (file.Name.Contains("SP-" + gongweiStr)) { - Log4NetHelper.WriteErrorLog(PLCManger.GetLogTypeForWorkingProcedure(WorkingProcedure), $"{DataCapturePointCode}涓嬬嚎瀹屾垚璇诲彇鍒版枃浠秢file.Name}锛屾槸鎸囧畾鐨勫伐浠�"); + isFindFile = true; + Log4NetHelper.WriteErrorLog(PLCManger.GetLogTypeForWorkingProcedure(WorkingProcedure), $"{DataCapturePointCode}涓嬬嚎瀹屾垚璇诲彇鍒版枃浠秢file.Name}锛屾槸鎸囧畾鐨勫伐浠秢wplog.WorkPieceID},宸ヤ綅{gongweiStr},涓婃鑾峰彇灏间集涓佹枃浠堕噷鐨勬椂闂村��:{(op60QualityTime == null ? "" : op60QualityTime.ToString())}"); var datatable = CSVHelper.ReadCSVList(file.FullName); + Log4NetHelper.WriteInfoLog(PLCManger.GetLogTypeForWorkingProcedure(WorkingProcedure), $"{DataCapturePointCode}涓嬬嚎瀹屾垚璇诲彇鏂囦欢{file.Name}锛屾寚瀹氬伐浠跺彿{wplog.WorkPieceID},,宸ヤ綅{gongweiStr}鍙戠幇鏂囦欢琛屾暟{datatable.Count}"); if (datatable.Count < 57) {//璐ㄩ噺鏁版嵁浠�106琛屽紑濮� + Log4NetHelper.WriteErrorLog(PLCManger.GetLogTypeForWorkingProcedure(WorkingProcedure), $"{DataCapturePointCode}涓嬬嚎瀹屾垚璇诲彇鏂囦欢{file.Name}锛屾寚瀹氬伐浠跺彿{wplog.WorkPieceID},,宸ヤ綅{gongweiStr}鍙戠幇鏂囦欢琛屾暟{datatable.Count}灏忎簬106"); continue; } datatable.Reverse(); @@ -464,20 +536,32 @@ { if (op60QualityTime.HasValue) { + //if (op60Infos[0].datetimeHandle > op60QualityTime.Value) + //{ + // wplog.QualityOP20To1 = op60Infos[0].value; + // wplog.OP20QualityFilePath = file.FullName; + //} + //else + //{ + // break; + //} + wplog.QualityOP20To1 = op60Infos[0].value; + wplog.OP20QualityFilePath = file.FullName; + Log4NetHelper.WriteInfoLog(PLCManger.GetLogTypeForWorkingProcedure(WorkingProcedure), $"{DataCapturePointCode}涓嬬嚎瀹屾垚璇诲彇鍒版枃浠秢file.Name}锛屾槸鎸囧畾鐨勫伐浠秢wplog.WorkPieceID},宸ヤ綅{gongweiStr}鎴愬姛璧嬪�间簡OP20QualityFilePath绛夊瓧娈碉紝璇诲彇鏃堕棿:{op60Infos[0].datetimeHandle.ToString()}"); if (op60Infos[0].datetimeHandle > op60QualityTime.Value) - { - wplog.QualityOP20To1 = op60Infos[0].value; - wplog.OP20QualityFilePath = file.FullName; + {//杩欎釜鏃堕棿鍒ゆ柇瑕佷笉瑕佹嬁鎺夛紵锛� 銆怑ditby shaocx,2024-06-19銆� } else { - break; + var msg = $"锛屽彧鏄鍛婏紒鍥犱负鍒ゆ柇鏃堕棿涓嶇鍚堬紝op60Infos[0].datetimeHandle:{(op60Infos[0].datetimeHandle == null ? "" : op60Infos[0].datetimeHandle.ToString())}灏忎簬绛変簬op60QualityTime:{(op60QualityTime.Value == null ? "" : op60QualityTime.Value.ToString())}"; + Log4NetHelper.WriteErrorLog(PLCManger.GetLogTypeForWorkingProcedure(WorkingProcedure), $"{DataCapturePointCode}涓嬬嚎瀹屾垚璇诲彇鍒版枃浠秢file.Name}锛屾槸鎸囧畾鐨勫伐浠秢wplog.WorkPieceID},宸ヤ綅{gongweiStr}娌¤兘璧嬪�糘P60QualityFilePath绛夊瓧娈�,{msg}"); } } else { wplog.QualityOP20To1 = op60Infos[0].value; wplog.OP20QualityFilePath = file.FullName; + Log4NetHelper.WriteInfoLog(PLCManger.GetLogTypeForWorkingProcedure(WorkingProcedure), $"{DataCapturePointCode}涓嬬嚎瀹屾垚璇诲彇鍒版枃浠秢file.Name}锛屾槸鎸囧畾鐨勫伐浠秢wplog.WorkPieceID},宸ヤ綅{gongweiStr}鎴愬姛璧嬪�间簡OP20QualityFilePath绛夊瓧娈碉紝璇诲彇鏃堕棿:{op60Infos[0].datetimeHandle.ToString()}"); } op60QualityTime = op60Infos[0].datetimeHandle; break; @@ -489,6 +573,15 @@ Log4NetHelper.WriteErrorLog(PLCManger.GetLogTypeForWorkingProcedure(WorkingProcedure), $"{DataCapturePointCode}涓嬬嚎瀹屾垚璇诲彇鏂囦欢{file.FullName}涓嶆槸鎸囧畾宸ヤ欢{wplog.WorkPieceID}"); } } + + if (isFindFile == false) + { + Log4NetHelper.WriteErrorLog(PLCManger.GetLogTypeForWorkingProcedure(WorkingProcedure), $"{DataCapturePointCode}涓嬬嚎瀹屾垚娌℃湁鎵惧埌鏂囦欢,鎸囧畾宸ヤ欢{wplog.WorkPieceID},宸ヤ綅{gongweiStr}"); + } + } + else + { + Log4NetHelper.WriteErrorLog(PLCManger.GetLogTypeForWorkingProcedure(WorkingProcedure), $"{DataCapturePointCode}涓嬬嚎瀹屾垚,閫氳繃绛涢�夎繃婊�,娌℃湁鎵惧埌鏂囦欢,鎸囧畾宸ヤ欢{wplog.WorkPieceID},宸ヤ綅{gongweiStr}"); } } @@ -549,6 +642,55 @@ Log4NetHelper.WriteInfoLog(PLCManger.GetLogTypeForWorkingProcedure(WorkingProcedure), $"璇粄DataCapturePointCode}宸ュ簭鐩戞帶娴嬮噺鏍囪 涓嶅仛鏍¢獙锛岃纭鏄惁閰嶇疆寮傚父"); } } + + + + /// <summary> + /// 鑾峰彇OP20鐨勫摢涓潰 + /// </summary> + /// <param name="plcService"></param> + /// <returns></returns> + private string GetSideForOP20(PLCService plcService, WorkPieceLogMiddle wplog) + { + try + { + 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}宸ュ簭鐩戞帶娴嬮噺鏍囪鏁版嵁,鑾峰彇OP20鐨勫摢涓潰,i_value_M88:{i_value_M88},宸ヤ欢鍙�:{wplog.WorkPieceID}"); + if (isRight) + { + 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"; + } + } + Log4NetHelper.WriteErrorLog(PLCManger.GetLogTypeForWorkingProcedure(WorkingProcedure), $"璇诲彇 {DataCapturePointCode}宸ュ簭鐩戞帶娴嬮噺鏍囪鏁版嵁鏃讹紝鏃犳晥鏁板��,鑾峰彇OP20鐨勫摢涓潰,,i_value_M88:{i_value_M88}锛屽伐浠跺彿:{wplog.WorkPieceID}", null); + return ""; + } + catch (Exception ex) + { + Log4NetHelper.WriteErrorLog(PLCManger.GetLogTypeForWorkingProcedure(WorkingProcedure), $"璇诲彇 {DataCapturePointCode}宸ュ簭鐩戞帶娴嬮噺鏍囪鏁版嵁鏃跺紓甯�,鑾峰彇OP20鐨勫摢涓潰,宸ヤ欢鍙�:{wplog.WorkPieceID}", ex); + return ""; + } + } + public WorkPieceLogMiddle GetCH4Info(string FullName, WorkPieceLogMiddle wplog) { try @@ -562,13 +704,13 @@ foreach (string line in lines2) { count++; - if (count==4) + if (count == 4) {//鑾峰彇璐ㄩ噺缁撴灉 var list = line.Split(' '); - if(list.Count()>0) + if (list.Count() > 0) { var str = list[list.Count() - 1].ToString().Trim(); - wplog.QualityStateStr= str.Equals("OK")?"OK":"NG"; + wplog.QualityStateStr = str.Equals("OK") ? "OK" : "NG"; } } // 澶勭悊姣忎竴琛岀殑閫昏緫 -- Gitblit v1.9.3