From e6eeed970235e6edd2f088df31db4030707e3612 Mon Sep 17 00:00:00 2001
From: schangxiang@126.com <schangxiang@126.com>
Date: 周五, 16 8月 2024 10:45:06 +0800
Subject: [PATCH] 特殊处理OP50 【Editby shaocx,2024-08-16】
---
DataCapture/iWare_SCADA_DataCapture/iWare_SCADA_BusinessLogical/DataCaptureHandlerV2/DataCaptureHandler_01.cs | 90 ++++++++++++++++++++++++++++++++++++++++++++-
1 files changed, 88 insertions(+), 2 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 896cc15..9620521 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
@@ -119,7 +119,7 @@
{
if (plcService == null || !plcService.IsConnected)
{
- threadStatusMonitor.ErrorMsg= $" {RandomHelper.GenerateRandomCode(4)} {_dataCaptureConfig.WorkingProcedure} PLC杩炴帴宸叉柇寮�锛屾鍦ㄥ皾璇曟墦寮�!";
+ threadStatusMonitor.ErrorMsg = $" {RandomHelper.GenerateRandomCode(4)} {_dataCaptureConfig.WorkingProcedure} PLC杩炴帴宸叉柇寮�锛屾鍦ㄥ皾璇曟墦寮�!";
SystemValue.PLCServiceReconnect(plcService);
//plcService.Close();
//plcService.OpenService();
@@ -148,7 +148,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.OnlineTime = DateTimeHelper.GetDateTime();
wplog.IsDeleted = false;
@@ -170,6 +170,12 @@
Log4NetHelper.WriteErrorLog(PLCManger.GetLogTypeForWorkingProcedure(WorkingProcedure), $" {DataCapturePointCode}宸ュ簭鐩戞帶涓婄嚎瀹屾垚鏍囪 瀛楁{col.DataCaptureColumnTabelName}鍔ㄦ�佽祴鍊煎紓甯竰wplog.Id}", setex);
}
}
+
+ //鐗规畩澶勭悊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);
@@ -218,5 +224,85 @@
}
}
+
+ /// <summary>
+ /// 鑾峰彇OP50鐨勬煇涓伐浣嶇殑鍝釜闈�
+ /// </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 "";
+ }
+ }
+
+
+ private int _GetSideForOP50(PLCService plcService, WorkPieceLog wplog, string address)
+ {
+ try
+ {
+ object value_M88 = plcService.ReadValuePointV2(address, 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},璇诲彇鍦板潃 {address}锛屽伐搴忕洃鎺ф暟鎹�,鑾峰彇OP50鐨勫摢涓潰,i_value_M88:{i_value_M88},宸ヤ欢鍙�:{wplog.WorkPieceID}");
+ if (isRight)
+ {
+ return i_value_M88;
+ }
+ Log4NetHelper.WriteErrorLog(PLCManger.GetLogTypeForWorkingProcedure(WorkingProcedure), $"璇诲彇 {DataCapturePointCode},璇诲彇鍦板潃 {address}锛屽伐搴忕洃鎺ф祴閲忔爣璁版暟鎹椂锛屾棤鏁堟暟鍊�,鑾峰彇OP50鐨勫摢涓潰,,i_value_M88:{i_value_M88}锛屽伐浠跺彿:{wplog.WorkPieceID}", null);
+ return 0;
+ }
+ catch (Exception ex)
+ {
+ Log4NetHelper.WriteErrorLog(PLCManger.GetLogTypeForWorkingProcedure(WorkingProcedure), $"璇诲彇 {DataCapturePointCode},璇诲彇鍦板潃 {address}锛屽伐搴忕洃鎺ф祴閲忔爣璁版暟鎹椂寮傚父,鑾峰彇OP50鐨勫摢涓潰,宸ヤ欢鍙�:{wplog.WorkPieceID}", ex);
+ return 0;
+ }
+ }
}
}
--
Gitblit v1.9.3