From a3e2b38a895b32ac08bb4acf18a4e57f65651c4a Mon Sep 17 00:00:00 2001 From: schangxiang@126.com <schangxiang@126.com> Date: 周日, 18 8月 2024 08:14:51 +0800 Subject: [PATCH] 清洗机获取采集数据 --- DataCapture/iWare_SCADA_DataCapture/iWare_SCADA_BusinessLogical/DataCaptureHandlerV2/DataCaptureHandler_05.cs | 97 ++++++++++++++++++++++++++++++++++-------------- 1 files changed, 69 insertions(+), 28 deletions(-) diff --git a/DataCapture/iWare_SCADA_DataCapture/iWare_SCADA_BusinessLogical/DataCaptureHandlerV2/DataCaptureHandler_05.cs b/DataCapture/iWare_SCADA_DataCapture/iWare_SCADA_BusinessLogical/DataCaptureHandlerV2/DataCaptureHandler_05.cs index 891f868..f0ab5cc 100644 --- a/DataCapture/iWare_SCADA_DataCapture/iWare_SCADA_BusinessLogical/DataCaptureHandlerV2/DataCaptureHandler_05.cs +++ b/DataCapture/iWare_SCADA_DataCapture/iWare_SCADA_BusinessLogical/DataCaptureHandlerV2/DataCaptureHandler_05.cs @@ -17,7 +17,7 @@ /// <summary> /// 宸ュ簭瀹屾垚 /// </summary> - public class DataCaptureHandler_05: DataCaptureHandler + public class DataCaptureHandler_05 : DataCaptureHandler { public static readonly DataCaptureHandler_05 Instance = new DataCaptureHandler_05(); @@ -46,7 +46,7 @@ public override void DataCaptureStart() { - if (SystemValue.isStartedModel) + if (SystemValue.isStartedImitateModel) { var plcService = PLCManger.GetSinglePLCService(_dataCaptureConfig); WorkPieceLogMiddle wplog = new WorkPieceLogMiddle(); @@ -87,9 +87,6 @@ //plcService.OpenService(); } string value_05 = ""; - string path = ConfigHelper.GetConfigString("OP80QualityData");//OP80鐨勫湴鍧� - //string path = "C:\\Users\\SY-PC\\Desktop\\FO";//OP80鐨勫湴鍧� - DateTime? fileFindTime = null; while (true) { threadStatusMonitor.ErrorMsg = ""; @@ -132,7 +129,7 @@ wplog.CreatedTime = DateTimeHelper.GetDateTime(); wplog.CreatedUserName = DataCapturePointCode; wplog.UpdatedTime = DateTimeHelper.GetDateTime(); - wplog.UpdatedUserName = Environment.MachineName+"鑷姩" + Thread.CurrentThread.ManagedThreadId.ToString(); + wplog.UpdatedUserName = Environment.MachineName + "鑷姩" + Thread.CurrentThread.ManagedThreadId.ToString(); wplog.IsDeleted = false; foreach (var col in colConfig.Where(o => o.DataCapturePointCode == DataCapturePointCode)) { @@ -148,13 +145,20 @@ } set.SetValue(wplog, valuecol);//缁欏姩鎬佸瓧娈佃祴鍊� } - catch(Exception setex) + catch (Exception setex) { Log4NetHelper.WriteErrorLog(PLCManger.GetLogTypeForWorkingProcedure(_dataCaptureConfig.WorkingProcedure), $" {DataCapturePointCode}宸ュ簭鐩戞帶璇荤爜鏍囪 璇诲彇宸ヤ欢鐮佸姩鎬佽祴鍊笺�恵_dataCaptureConfig.WorkingProcedure ?? "绌哄瓧绗︿覆"}銆戝紓甯竰wplog.Id},璧嬪�煎垪鍚峓{col.DataCaptureColumnTabelName ?? "绌哄瓧绗︿覆"}]", setex); } } - + Log4NetHelper.WriteInfoLog(PLCManger.GetLogTypeForWorkingProcedure(_dataCaptureConfig.WorkingProcedure), $" {DataCapturePointCode}宸ュ簭鑾峰彇鍒颁笅绾挎爣蹇椾綅锛屽伐浠剁爜:{wplog.WorkPieceID}"); + //鐗规畩澶勭悊OP80 銆怑ditby shaocx,2024-06-15銆� + if (WorkingProcedure.Equals("OP80")) + { + wplog.GetQcDataFlag = 0; + } + //娉ㄩ噴涓嬮潰鐨勬柟娉曪紝浼樺寲绋嬪簭 銆怑ditby shaocx,2024-06-15銆� + /* try { if (WorkingProcedure.Equals("OP80")) @@ -172,14 +176,14 @@ { files.Add((FileInfo)file); } - files = files.OrderByDescending(o => o.LastWriteTime).ToList(); + files = files.OrderByDescending(o => o.LastWriteTime).ToList(); Log4NetHelper.WriteErrorLog(PLCManger.GetLogTypeForWorkingProcedure(WorkingProcedure), $"OP80涓嬬嚎瀹屾垚璇诲彇鍒版枃浠秢files.Count()}涓伐浠秢wplog.WorkPieceID} 鏃堕棿{fileFindTime.Value.ToString()}"); foreach (var file in files) {//鍙栧�掑簭鍖归厤鐨勬枃浠跺悕涓哄伐浠跺彿鐨勬枃浠� if (file.Name.Contains(wplog.WorkPieceID)) { - Log4NetHelper.WriteErrorLog(PLCManger.GetLogTypeForWorkingProcedure(WorkingProcedure), $"OP80涓嬬嚎瀹屾垚璇诲彇鍒版枃浠秢file.Name}锛屾槸鎸囧畾鐨勫伐浠�"); + Log4NetHelper.WriteErrorLog(PLCManger.GetLogTypeForWorkingProcedure(WorkingProcedure), $"OP80涓嬬嚎瀹屾垚璇诲彇鍒版枃浠秢file.Name}锛屾槸鎸囧畾鐨勫伐浠秢wplog.WorkPieceID}"); var datatable = CSVHelper.ReadCSVList(file.FullName); List<string> rowFirst = new List<string>(); @@ -188,7 +192,7 @@ { rowFirst = datatable[0].Split(',').ToList(); rowSecond = datatable[1].Split(',').ToList(); - if(rowSecond.Count<11) + if (rowSecond.Count < 11) { continue; } @@ -213,33 +217,33 @@ } //鍚嶇О 鐩稿鍊� 鐩稿鍊煎崟浣� 缁濆鍊� 缁濆鍊煎崟浣� 鍚嶄箟鍊� 涓婇檺 涓嬮檺 鐘舵��/绛夌骇 鍒嗛殧绗� OP80ItemInfo item = new OP80ItemInfo(); - item.鍒嗛殧绗� = rowSecond[1 + i * 10]; - item.鍚嶇О = rowSecond[2 + i * 10]; - item.鐩稿鍊� = rowSecond[3 + i * 10]; - item.鐩稿鍊煎崟浣� = rowSecond[4 + i * 10]; - item.缁濆鍊� = rowSecond[5 + i * 10]; - item.缁濆鍊煎崟浣� = rowSecond[6 + i * 10]; - item.鍚嶄箟鍊� = rowSecond[7 + i * 10]; - item.涓婇檺 = rowSecond[8 + i * 10]; - item.涓嬮檺 = rowSecond[9 + i * 10]; - item.鐘舵�� = rowSecond[10 + i * 10]; + item.鍒嗛殧绗� = rowSecond[1 + i * 10];//渚嬪锛�* 琛ㄥご锛氱姸鎬� + item.鍚嶇О = rowSecond[2 + i * 10];//渚嬪锛歐eight Big End 琛ㄥご锛�* + item.鐩稿鍊� = rowSecond[3 + i * 10];//渚嬪锛�-2.8 琛ㄥご锛氱畝杩� + item.鐩稿鍊煎崟浣� = rowSecond[4 + i * 10];//渚嬪锛歡r 琛ㄥご锛歐eight Big End + item.缁濆鍊� = rowSecond[5 + i * 10];//渚嬪锛�371.66 琛ㄥご锛氭祴閲忓崟浣� + item.缁濆鍊煎崟浣� = rowSecond[6 + i * 10];//渚嬪锛歡r 琛ㄥご锛氱粷瀵瑰�� + item.鍚嶄箟鍊� = rowSecond[7 + i * 10];//渚嬪锛�374.5 琛ㄥご锛氱粷瀵瑰�兼祴閲忓崟浣嶏紙UoM锛� + item.涓婇檺 = rowSecond[8 + i * 10];//渚嬪锛�10.5 琛ㄥご锛氬悕涔夊�� + item.涓嬮檺 = rowSecond[9 + i * 10];//渚嬪锛�-10.5 琛ㄥご锛歎SL鍊� + item.鐘舵�� = rowSecond[10 + i * 10];//渚嬪锛�3 琛ㄥご锛歀SL鍊� oP80Info.OP80ItemInfolist.Add(item); - if(item.鍚嶇О.Equals("Weight Class") || item.鍚嶇О.Equals("Weight Small End") - || item.鍚嶇О.Equals("Weight Big End") || item.鍚嶇О.Equals("Dime Small_End Class") + if (item.鍚嶇О.Equals("Weight Class") || item.鍚嶇О.Equals("Weight Small End") + || item.鍚嶇О.Equals("Weight Big End") || item.鍚嶇О.Equals("Dime Small_End Class") || item.鍚嶇О.Equals("Dime Big_End Class")) { } else { - if(!string.IsNullOrEmpty(item.鐘舵��)) + if (!string.IsNullOrEmpty(item.鐘舵��)) { oP80Info.OP80ItemStatusInfolist.Add(item); } } } - if(oP80Info.OP80ItemStatusInfolist.Count>0) + if (oP80Info.OP80ItemStatusInfolist.Count > 0) { - if(oP80Info.OP80ItemStatusInfolist.Any(o=>!o.鐘舵��.Equals("OK"))) + if (oP80Info.OP80ItemStatusInfolist.Any(o => !o.鐘舵��.Equals("OK"))) { wplog.QualityStateStr = "NG"; } @@ -277,6 +281,43 @@ //閲嶉噺缁勫埆 wplog.QualityOP80To9 = oP80Info.OP80ItemInfolist.Where(o => o.鍚嶇О.Equals("Weight Class")).FirstOrDefault()?.鐘舵��; //wplog.Remarks = (wplog.Remarks ?? "") + $"OP80涓嬬嚎瀹屾垚璇诲彇鏂囦欢{file.FullName},鏁版嵁銆恵wplog.OP80NewCode??"绌�"}銆戙�恵wplog.QualityOP80To1 ?? "绌�"}銆戙�恵wplog.QualityOP80To2 ?? "绌�"}銆戙�恵wplog.QualityOP80To3 ?? "绌�"}銆戙�恵wplog.QualityOP80To4 ?? "绌�"}銆戙�恵wplog.QualityOP80To5 ?? "绌�"}銆�"; + + //鏂板OP80鐨勪竴浜涜川閲忔暟鎹� 銆怑ditby shaocx,2024-06-13銆� + wplog.QualityOP80_Houdu = oP80Info.OP80ItemInfolist.Where(o => o.鍚嶇О.Equals("Big_End_Thickness")).FirstOrDefault()?.缁濆鍊�; + wplog.QualityOP80_ZXJ = oP80Info.OP80ItemInfolist.Where(o => o.鍚嶇О.Equals("Distance of Two Head")).FirstOrDefault()?.缁濆鍊�; + wplog.QualityOP80_DTKYZD = oP80Info.OP80ItemInfolist.Where(o => o.鍚嶇О.Equals("Big_End_Cylindricity")).FirstOrDefault()?.缁濆鍊�; + wplog.QualityOP80_XTSMYD = oP80Info.OP80ItemInfolist.Where(o => o.鍚嶇О.Equals("Small_End_Top_Roundn")).FirstOrDefault()?.缁濆鍊�; + wplog.QualityOP80_XTXMYD = oP80Info.OP80ItemInfolist.Where(o => o.鍚嶇О.Equals("Small_End_Bot_Roundn")).FirstOrDefault()?.缁濆鍊�; + + + wplog.QualityOP80_D_S_X = oP80Info.OP80ItemInfolist.Where(o => o.鍚嶇О.Equals("Big_End_Top_X_Dia.")).FirstOrDefault()?.缁濆鍊�; + wplog.QualityOP80_D_S_Y = oP80Info.OP80ItemInfolist.Where(o => o.鍚嶇О.Equals("Big_End_Top_Y_Dia.")).FirstOrDefault()?.缁濆鍊�; + wplog.QualityOP80_D_X_X = oP80Info.OP80ItemInfolist.Where(o => o.鍚嶇О.Equals("Big_End_Bot_X_Dia.")).FirstOrDefault()?.缁濆鍊�; + wplog.QualityOP80_D_X_Y = oP80Info.OP80ItemInfolist.Where(o => o.鍚嶇О.Equals("Big_End_Bot_Y_Dia.")).FirstOrDefault()?.缁濆鍊�; + //璁$畻澶уご瀛旂洿寰�,澶уご瀛旂洿寰�=锛堝ぇ澶翠笂闈鏂瑰悜鐩村緞+澶уご涓婇潰Y鏂瑰悜鐩村緞+澶уご涓嬮潰X鏂瑰悜鐩村緞+澶уご涓嬮潰Y鏂瑰悜鐩村緞锛�/4 + List<decimal> valueList = new List<decimal>() { + SystemHelper.GetDecimal(wplog.QualityOP80_D_S_X), + SystemHelper.GetDecimal(wplog.QualityOP80_D_S_Y), + SystemHelper.GetDecimal(wplog.QualityOP80_D_X_X), + SystemHelper.GetDecimal(wplog.QualityOP80_D_X_Y), + }; + wplog.QualityOP80_D_TKZJ = SystemHelper.CalcDecimalAvg(valueList, 3); + + + wplog.QualityOP80_X_S_X = oP80Info.OP80ItemInfolist.Where(o => o.鍚嶇О.Equals("Small_End_Top_X_Dia.")).FirstOrDefault()?.缁濆鍊�; + wplog.QualityOP80_X_S_Y = oP80Info.OP80ItemInfolist.Where(o => o.鍚嶇О.Equals("Small_End_Top_Y_Dia.")).FirstOrDefault()?.缁濆鍊�; + wplog.QualityOP80_X_X_X = oP80Info.OP80ItemInfolist.Where(o => o.鍚嶇О.Equals("Small_End_Bot_X_Dia.")).FirstOrDefault()?.缁濆鍊�; + wplog.QualityOP80_X_X_Y = oP80Info.OP80ItemInfolist.Where(o => o.鍚嶇О.Equals("Small_End_Bot_Y_Dia.")).FirstOrDefault()?.缁濆鍊�; + //璁$畻灏忓ご瀛旂洿寰�,灏忓ご瀛旂洿寰�=锛堝皬澶翠笂闈鏂瑰悜鐩村緞+灏忓ご涓婇潰Y鏂瑰悜鐩村緞+灏忓ご涓嬮潰X鏂瑰悜鐩村緞+灏忓ご涓嬮潰Y鏂瑰悜鐩村緞锛�/4 + valueList = new List<decimal>(); + valueList = new List<decimal>() { + SystemHelper.GetDecimal(wplog.QualityOP80_X_S_X), + SystemHelper.GetDecimal(wplog.QualityOP80_X_S_Y), + SystemHelper.GetDecimal(wplog.QualityOP80_X_X_X), + SystemHelper.GetDecimal(wplog.QualityOP80_X_X_Y), + }; + wplog.QualityOP80_X_TKZJ = SystemHelper.CalcDecimalAvg(valueList, 3); + } else { @@ -291,13 +332,13 @@ } } } - } - catch(Exception ex) + catch (Exception ex) { threadStatusMonitor.ErrorMsg = $" {RandomHelper.GenerateRandomCode(4)} 璇诲彇{DataCapturePointCode}涓嬬嚎鏍囪 瀹屾垚璇诲彇鏂囦欢鏁版嵁鏃跺紓甯革紝璇锋煡鐪嬫棩蹇楋紒"; Log4NetHelper.WriteErrorLog(PLCManger.GetLogTypeForWorkingProcedure(WorkingProcedure), $"OP80涓嬬嚎瀹屾垚璇诲彇鏂囦欢鏁版嵁鏃跺紓甯�,閬垮厤宸ュ簭瀹屾垚寮傚父锛�", ex); } + //*/ //鏇存柊WorkPieceInfo琛ㄤ互鍙婃彃鍏orkPieceLog琛ㄥ拰WorkPieceInfoLog琛� WorkPieceInfoManager.WorkingProcedureComplete(wplog, PLCManger.GetLogTypeForWorkingProcedure(WorkingProcedure)); -- Gitblit v1.9.3