From 11219b1b266c7b98dde39eb710faaa83b4a37924 Mon Sep 17 00:00:00 2001 From: kingno <30263@KINGNO> Date: 星期二, 17 六月 2025 13:04:52 +0800 Subject: [PATCH] 双击圆点出图 --- src/Bro.M141.Process/M141Process.cs | 33 +++++++++++++++++---------------- 1 files changed, 17 insertions(+), 16 deletions(-) diff --git a/src/Bro.M141.Process/M141Process.cs b/src/Bro.M141.Process/M141Process.cs index 2fad3d8..a68780c 100644 --- a/src/Bro.M141.Process/M141Process.cs +++ b/src/Bro.M141.Process/M141Process.cs @@ -38,31 +38,26 @@ public M141Process(string productCode) : base(productCode) { } #endregion + TaskFactory _taskFactory = new TaskFactory(TaskCreationOptions.LongRunning, TaskContinuationOptions.LongRunning); + public event Action<string, P_PRODUCT_DETAIL, string> OnSinglePostionDetectResultUpdate; + protected M141Config M141Config => Config as M141Config; public static object _productListLock = new object(); public List<ProductModel> ProductList = new List<ProductModel>(); MachineLearningBase ML = null; - TcpListenerWrap TcpListener = null; Spec _errorSpec = null; - TcpListenerWrap _realTimeServer = null; - - volatile int _productIndex = 0; - - int _backgroundImageWidth = 2448; + //volatile int _productIndex = 0; M141Process_Mysql mysqlhelper = new M141Process_Mysql(); - - public override void InitialProcessMethods() { base.InitialProcessMethods(); - if (ThHeartPlc == null) { @@ -89,7 +84,6 @@ bool devicestate = false; PLCBase Plc2; public Thread ThHeartPlc; - public override void Open() @@ -128,9 +122,13 @@ } + public void Heartplc() { Thread.Sleep(1000); + + //Open(); + string _statisticFilePath = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "Statistic.json"); if (File.Exists(_statisticFilePath)) { @@ -421,8 +419,6 @@ Dictionary<string, List<string>> _positionSpecHeads = new Dictionary<string, List<string>>(); - - volatile int uploadId = 0; @@ -516,8 +512,8 @@ // dicpid[tem] = pidList[i]; //} - - List<DetectResult> detectResults = ML?.RunMLDetectionSync(imgSet, pidList, measureBind.DetectionId); + //var c=products[0].ImagePaths; + List<DetectResult> detectResults = ML?.RunMLDetectionSync(imgSet, pidList, measureBind.DetectionId,false,null,null,"", products[0].ImagePaths); List<DetectResult> ngResults = new List<DetectResult>(); @@ -768,7 +764,7 @@ { products.ForEach(p => { - var pResults = resultList.Where(u => u.PID == p.PID).ToList(); + var pResults = resultList.ToList(); p.AddNewDetectResults(M141Config.StationCode, measureBind.WorkPosition, pResults); LogAsync(DateTime.Now, EnumHelper.LogLevel.Action, $"浜у搧{p.PID}_{p.SEQUENCE}娣诲姞宸ヤ綅{measureBind.WorkPosition}妫�娴嬬粨鏋滐紝鏁伴噺{pResults.Count}"); }); @@ -998,6 +994,7 @@ { p.BasketCode = mysqlhelper.Getbasketcode(p.SEQUENCE, out string sntem); p.SN = sntem; + p.PID = $"{sntem}_{i}"; if ("NoRead".Equals(p.BasketCode)) { LogAsync(DateTime.Now, EnumHelper.LogLevel.Error, $"{p.PID}_{p.SEQUENCE}鑾峰彇妗嗗叿鐮佸け璐� 璧嬪�糔oread"); @@ -1032,8 +1029,9 @@ //鍒濆鍖栦骇鍝佺殑妫�娴嬫鏁� var checkIndexList = M141Config.MeasureBindCollection.Where(u => u.WorkPosition == b.WorkPosition && u.ProductIndices.Contains(i)).Select(u => u.CheckIndex).OrderBy(u => u).ToList(); - p.InitialPositionCheckList(b.WorkPosition, checkIndexList); + p.InitialPositionCheckList(b.WorkPosition, checkIndexList, M141Config.StationCode); LogAsync(DateTime.Now, EnumHelper.LogLevel.Assist, $"浜у搧{p.PID}_{p.SEQUENCE}宸叉竻鐞唟b.WorkPosition}妫�娴嬫暟鎹�傚綋鍓嶅凡瀹屾垚宸ヤ綅{string.Join(",", p.Details.Select(u => u.PositionName))}"); + }); //鍒濆鍖栧伐浣嶇殑妫�娴嬫鏁� @@ -1197,6 +1195,8 @@ newp.BasketCode = p.BasketCode; newp.Result = p.Result; newp.SN = p.SN; + + Thread.Sleep(500); var plist = mysqlhelper.GetProductList(p.SEQUENCE); @@ -1207,6 +1207,7 @@ newp.Details.AddRange(item.Details); } } + LogAsync(DateTime.Now, EnumHelper.LogLevel.Error, $"AllDeviceProductRecord浠庢暟鎹簱鑾峰彇鍒版暟鎹畕p.SEQUENCE} plist鏁伴噺{plist.Count} Details鏁伴噺{newp.Details.Count}"); //newp.Details.AddRange(p.Details); -- Gitblit v1.8.0