From e4f8b313c06be3fc8320f11deb244b1d2f96c479 Mon Sep 17 00:00:00 2001
From: schangxiang@126.com <schangxiang@126.com>
Date: 周五, 23 8月 2024 06:04:02 +0800
Subject: [PATCH] 获取OP50的某个工位的哪个面

---
 DataCapture/iWare_SCADA_DataCapture/iWare_SCADA_BusinessLogical/DataCaptureHandlerV2/DataCaptureHandler_01.cs |  121 +++++++++++++++++++++++++++------------
 1 files changed, 83 insertions(+), 38 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 26c0ea6..ff66494 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
@@ -233,54 +233,99 @@
         /// </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
             {
-                if (!(DataCapturePointCode.Contains("OP5001A") || DataCapturePointCode.Contains("OP5001B")))
+                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}宸ュ簭鐩戞帶娴嬮噺鏍囪鏁版嵁,鑾峰彇OP50鐨勫摢涓潰,i_value_M88:{i_value_M88},宸ヤ欢鍙�:{wplog.WorkPieceID}");
+                if (isRight)
                 {
-                    return "";
+                    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";
+                    }
                 }
-                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}");
+                Log4NetHelper.WriteErrorLog(PLCManger.GetLogTypeForWorkingProcedure(WorkingProcedure), $"璇诲彇 {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(PLCManger.GetLogTypeForWorkingProcedure(WorkingProcedure), $"璇诲彇 {DataCapturePointCode}宸ュ簭鐩戞帶娴嬮噺鏍囪鏁版嵁鏃跺紓甯�,鑾峰彇OP50鐨勫摢涓潰,宸ヤ欢鍙�:{wplog.WorkPieceID}", ex);
                 return "";
             }
         }

--
Gitblit v1.9.3