From 73d6d058983ff914e5092bba4b2c403eef2caec5 Mon Sep 17 00:00:00 2001
From: peizhiyong <zhiyong.pei@broconcentric.com>
Date: 星期三, 06 八月 2025 18:40:38 +0800
Subject: [PATCH] 检测产品线轮廓度的结果添加双重补偿,深度图存图绑定产品二维码

---
 src/Bro.M141.Process/M141Process.cs |  112 ++++++++++++++++++++++++++++++++++++++++++--------------
 1 files changed, 84 insertions(+), 28 deletions(-)

diff --git a/src/Bro.M141.Process/M141Process.cs b/src/Bro.M141.Process/M141Process.cs
index 7d7fa09..3fbe71a 100644
--- a/src/Bro.M141.Process/M141Process.cs
+++ b/src/Bro.M141.Process/M141Process.cs
@@ -589,7 +589,8 @@
                                 {
                                     item1.IsAbandoned = false;
                                     item1.FinalResult = ResultState.NG;
-                                    LogAsync(DateTime.Now, EnumHelper.LogLevel.Action, $"浜у搧{products[0].PID}_{products[0].SEQUENCE}宸ヤ綅{measureBind.WorkPosition}   S3S5缁勫悎妫�娴嬫鍑虹己闄�:{item1.NetName}");
+                                    //products[0].Result = M141Config.defectname;
+                                    LogAsync(DateTime.Now, EnumHelper.LogLevel.Action, $"浜у搧{products[0].PID}_{products[0].SEQUENCE}宸ヤ綅{measureBind.WorkPosition}   S3S5缁勫悎妫�娴嬫鍑虹己闄�:{item1.NetName}锛屼骇鍝佺粨鏋滀负{products[0].Result}");
                                     break;
                                 }
                             }
@@ -695,10 +696,19 @@
                                     }
 
                                     string ngImageFile = Path.Combine(folder, $"{id}.{post}");
-                                    var bitmap = imgSet.HImage.ConvertHImageToBitmap();
-                                    bitmap.Save(ngImageFile, M141Config.ImageFormatNG);
-                                    LogAsync(DateTime.Now, EnumHelper.LogLevel.Assist, $"{id}NG鍥剧墖宸蹭繚瀛�");
-                                    bitmap.Dispose();
+                                    //var bitmap = imgSet.HImage.ConvertHImageToBitmap();
+                                    //bitmap.Save(ngImageFile, M141Config.ImageFormatNG);
+                                    //LogAsync(DateTime.Now, EnumHelper.LogLevel.Assist, $"{id}NG鍥剧墖宸蹭繚瀛�");
+                                    //bitmap.Dispose();
+                                    try
+                                    {
+                                        LogAsync(DateTime.Now, EnumHelper.LogLevel.Assist, $"{id}NG鍥剧墖娴嬭瘯杞瓨{ngImageFile}");
+                                        imgSet.HImage.WriteImage(M141Config.ImageFormatOK.ToString().ToLower(), 0, ngImageFile);
+                                    }
+                                    catch (Exception)
+                                    {
+                                        LogAsync(DateTime.Now, EnumHelper.LogLevel.Error, $"{id}NG鍥剧墖淇濆瓨澶辫触");
+                                    }
                                 }
                             }
                         }
@@ -731,11 +741,20 @@
                                         post = M141Config.ImageFormatOK.ToString().ToLower();
                                     }
 
-                                    string ngImageFile = Path.Combine(folder, $"{id}.{post}");
-                                    var bitmap = imgSet.HImage.ConvertHImageToBitmap();
-                                    bitmap.Save(ngImageFile, M141Config.ImageFormatOK);
-                                    LogAsync(DateTime.Now, EnumHelper.LogLevel.Assist, $"{id}OK鍥剧墖宸蹭繚瀛�");
-                                    bitmap.Dispose();
+                                    string ngImageFile = Path.Combine(folder, $"{id}.{post}");                                    
+                                    //var bitmap = imgSet.HImage.ConvertHImageToBitmap();
+                                    //bitmap.Save(ngImageFile, M141Config.ImageFormatOK);
+                                    //LogAsync(DateTime.Now, EnumHelper.LogLevel.Assist, $"{id}OK鍥剧墖宸蹭繚瀛�");
+                                    //bitmap.Dispose();
+                                    try
+                                    {
+                                        LogAsync(DateTime.Now, EnumHelper.LogLevel.Assist, $"{id}OK鍥剧墖娴嬭瘯杞瓨{ngImageFile}");
+                                        imgSet.HImage.WriteImage(M141Config.ImageFormatOK.ToString().ToLower(), 0, ngImageFile);                                      
+                                    }
+                                    catch (Exception)
+                                    {
+                                        LogAsync(DateTime.Now, EnumHelper.LogLevel.Error, $"{id}OK鍥剧墖淇濆瓨澶辫触");
+                                    }
                                 }
                             }
                         }
@@ -1258,13 +1277,25 @@
                                 M141Config.numpro = 0;
                             }
 
+                            string Msgreceice = null;
+
                             if (pList[0].Result == "OK")
                             {
-                                M141Config.numpro++;
+                                M141Config.numpro++;                                
+                                Msgreceice = Task.Run(() => mqtt.MESForProduceAsync(pList[0], M141Config.mesnum2.ToString(), M141Config.numpro)).Result;
                             }
-
-                            //mqtt.demes(productList[0], M141Config.zwoid);
-                            string Msgreceice = Task.Run(() => mqtt.MESForProduceAsync(pList[0], M141Config.mesnum2.ToString(),M141Config.numpro)).Result;
+                            else
+                            {
+                                if (M141Config.ISupNG)
+                                {
+                                    Msgreceice = Task.Run(() => mqtt.MESForProduceAsync(pList[0], M141Config.mesnum2.ToString(), M141Config.numpro)).Result;
+                                    LogAsync(DateTime.Now, EnumHelper.LogLevel.Assist, $"浜у搧{pList[0].PID}鍚姩NG涓婁紶");
+                                }
+                                else
+                                {
+                                    LogAsync(DateTime.Now, EnumHelper.LogLevel.Assist, $"浜у搧{pList[0].PID}鍏抽棴NG涓婁紶");
+                                }                              
+                            }                            
                             M141Config.mesnum2++;
                             if (Msgreceice == null)
                             {
@@ -1322,10 +1353,17 @@
                                             newp.Zword = plist[0].Zword;
                                             newp.Result = "NG";
                                             newp.SN = plist[0].SN;
-                                            var tems = Task.Run(() => mqtt.MESForProduceAsync(newp, M141Config.mesnum2.ToString(), M141Config.numpro)).Result;
-                                            M141Config.mesnum2++;
-                                            LogAsync(DateTime.Now, EnumHelper.LogLevel.Assist, $"鍓嶇珯NG鎺掓枡浜у搧{newp.PID}鏁版嵁涓婁紶,缁撴灉涓簕newp.Result}");
-
+                                            if (M141Config.ISupNG)
+                                            {
+                                                var tems = Task.Run(() => mqtt.MESForProduceAsync(newp, M141Config.mesnum2.ToString(), M141Config.numpro)).Result;
+                                                M141Config.mesnum2++;
+                                                LogAsync(DateTime.Now, EnumHelper.LogLevel.Assist, $"浜у搧{newp.PID}鍚姩NG涓婁紶");
+                                            }
+                                            else
+                                            {
+                                                LogAsync(DateTime.Now, EnumHelper.LogLevel.Assist, $"浜у搧{newp.PID}鍏抽棴NG涓婁紶");
+                                            }
+                                            
                                         }
                                         catch
                                         {
@@ -1353,9 +1391,20 @@
                                             newp.BasketCode = plist[0].BasketCode;
                                             newp.Result = "NG";
                                             newp.SN = plist[0].SN;
-                                            var tems = Task.Run(() => mqtt.MESForProduceAsync(newp, M141Config.mesnum2.ToString(), M141Config.numpro)).Result;
-                                            M141Config.mesnum2++;
-                                            LogAsync(DateTime.Now, EnumHelper.LogLevel.Assist, $"PlcNumForAll锛屽墠绔橬G鎺掓枡涓攑lc瑙﹀彂娓呴浂浜у搧{newp.PID}鏁版嵁涓婁紶,缁撴灉涓簕newp.Result}");
+                                            if (M141Config.ISupNG)
+                                            {
+                                                var tems = Task.Run(() => mqtt.MESForProduceAsync(newp, M141Config.mesnum2.ToString(), M141Config.numpro)).Result;
+                                                M141Config.mesnum2++;
+                                                LogAsync(DateTime.Now, EnumHelper.LogLevel.Assist, $"浜у搧{newp.PID}鍚姩NG涓婁紶");
+                                            }
+                                            else
+                                            {
+                                                LogAsync(DateTime.Now, EnumHelper.LogLevel.Assist, $"浜у搧{newp.PID}鍏抽棴NG涓婁紶");
+                                            }
+                                            //var tems = Task.Run(() => mqtt.MESForProduceAsync(newp, M141Config.mesnum2.ToString(), M141Config.numpro)).Result;
+                                            //M141Config.mesnum2++;
+                                            //LogAsync(DateTime.Now, EnumHelper.LogLevel.Assist, $"PlcNumForAll锛屽墠绔橬G鎺掓枡涓攑lc瑙﹀彂娓呴浂浜у搧{newp.PID}鏁版嵁涓婁紶,缁撴灉涓簕newp.Result}");
+                                        
                                         }
                                         catch
                                         {
@@ -1374,19 +1423,26 @@
                                             newp.Zword = plist[0].Zword;
                                             newp.Result = "NG";
                                             newp.SN = plist[0].SN;
-                                            var tems = Task.Run(() => mqtt.MESForProduceAsync(newp, M141Config.mesnum2.ToString(), M141Config.numpro)).Result;
-                                            M141Config.mesnum2++;
-                                            LogAsync(DateTime.Now, EnumHelper.LogLevel.Assist, $"numplca锛屽墠绔橬G鎺掓枡涓攑lc瑙﹀彂娓呴浂浜у搧{newp.PID}鏁版嵁涓婁紶,缁撴灉涓簕newp.Result}");
+                                            if (M141Config.ISupNG)
+                                            {
+                                                var tems = Task.Run(() => mqtt.MESForProduceAsync(newp, M141Config.mesnum2.ToString(), M141Config.numpro)).Result;
+                                                M141Config.mesnum2++;
+                                                LogAsync(DateTime.Now, EnumHelper.LogLevel.Assist, $"浜у搧{newp.PID}鍚姩NG涓婁紶");
+                                            }
+                                            else
+                                            {
+                                                LogAsync(DateTime.Now, EnumHelper.LogLevel.Assist, $"浜у搧{newp.PID}鍏抽棴NG涓婁紶");
+                                            }
+
+                                            //var tems = Task.Run(() => mqtt.MESForProduceAsync(newp, M141Config.mesnum2.ToString(), M141Config.numpro)).Result;
+                                            //M141Config.mesnum2++;
+                                            //LogAsync(DateTime.Now, EnumHelper.LogLevel.Assist, $"numplca锛屽墠绔橬G鎺掓枡涓攑lc瑙﹀彂娓呴浂浜у搧{newp.PID}鏁版嵁涓婁紶,缁撴灉涓簕newp.Result}");
                                         }
                                         catch
                                         {
-
                                         }
                                     }
                                 }
-
-
-
                                 PlcNumForAll = numplca;
                             }
 

--
Gitblit v1.8.0