From 5c34ca4f23c702291188f122b05165310b579cbc Mon Sep 17 00:00:00 2001
From: schangxiang@126.com <schangxiang@126.com>
Date: 周六, 31 8月 2024 10:03:54 +0800
Subject: [PATCH] 监控上线

---
 DataCapture/iWare_SCADA_DataCapture/iWare_SCADA_BusinessLogical/DataCaptureHandlerV2/DataCaptureHandler_01.cs |  189 ++++++++++++++++++++++++++++++----------------
 1 files changed, 122 insertions(+), 67 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 5bc848b..783d32c 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
@@ -47,44 +47,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;
@@ -171,6 +171,11 @@
                                     }
                                 }
 
+                                //鐩戞帶娴嬭瘯鏁版嵁锛屾ā鎷燂紝娴嬭瘯
+                                MonitorHelper.MonitorTestForOP3501(_dataCaptureConfig, value, colConfig, wplog);
+                                //鐩戞帶涓婄嚎
+                                MonitorHelper.MonitorTestForLine(_dataCaptureConfig, value, colConfig, wplog);
+
                                 //鐗规畩澶勭悊OP50 銆怑ditby shaocx,2024-08-16銆�
                                 string sideValue = GetSideForOP50(plcService, wplog);
                                 wplog.MonitoringPoint += sideValue;
@@ -188,8 +193,8 @@
                         threadStatusMonitor.Remarks = $"abcdefg:{RandomHelper.GenerateRandomCode(4)}";
                         if (!_dataCaptureConfig.DataCaptureFrequency.HasValue || _dataCaptureConfig.DataCaptureFrequency < 10)
                         {
-                            threadStatusMonitor.ThreadFrequency = 5000;
-                            Thread.Sleep(5000);
+                            threadStatusMonitor.ThreadFrequency = 1000;
+                            Thread.Sleep(1000);
                         }
                         else
                         {
@@ -230,6 +235,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 +299,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