From ebcc1d53f14112363bbf539bcaf0202aadcdc9d7 Mon Sep 17 00:00:00 2001
From: C3032 <1057644574@qq.com>
Date: 星期一, 13 四月 2026 12:58:58 +0800
Subject: [PATCH] 2D取图计数功能完成
---
LB_SmartVision/ProcessRun/ProcessRunBll.cs | 77 +++++++++++++++++++++++++++++++-------
1 files changed, 62 insertions(+), 15 deletions(-)
diff --git a/LB_SmartVision/ProcessRun/ProcessRunBll.cs b/LB_SmartVision/ProcessRun/ProcessRunBll.cs
index 0555a01..09c7798 100644
--- a/LB_SmartVision/ProcessRun/ProcessRunBll.cs
+++ b/LB_SmartVision/ProcessRun/ProcessRunBll.cs
@@ -17,6 +17,8 @@
namespace LB_SmartVision.ProcessRun
{
+ public delegate void ProcessRunBllRun();
+
public class ProcessRunBll
{
@@ -24,10 +26,13 @@
public static string Node2ToolClassName(string NodeName)
{
+
foreach (var item in IProcess.dicProcesses)
{
if (NodeName.StartsWith(item.Key))
+ {
return item.Value.ToString();
+ }
}
return string.Empty;
@@ -41,7 +46,7 @@
/// <summary>
/// 杩愯鏍囪
/// </summary>
- public bool bPruning
+ public bool bRuning
{
set
{
@@ -600,9 +605,6 @@
process.Load(ProcessPath);
process.strProcessName = ProcessName;
- //if (process is VisionProTool && Tool.ContainsChinese(ProcessName))
- // MessageBox.Show($"VisionPro宸ュ叿涓嶆敮鎸佸懡鍚嶄负涓枃:{ProcessName}", "寮傚父");
-
if (process is ScriptTool script)
{
if (script.Params.Outputs.Count <= 0)
@@ -639,7 +641,6 @@
{
dicInputsMapping.TryAdd(name, new List<Tuple<string, string>>());
dicInputsMapping[name].Add(new Tuple<string, string>(name + ".Inputs.Image", ""));
- //dicInputsMapping[name].Add(new Tuple<string, string>(name + ".Inputs.Fixture", ""));
foreach (var item in process.Params.Inputs)
dicInputsMapping[name].Add(new Tuple<string, string>(name + ".Inputs." + item.Name, ""));
@@ -651,7 +652,6 @@
dicOutputsMapping[name].Add(name + ".Outputs.Image");
dicOutputsMapping[name].Add(name + ".Outputs.Record");
dicOutputsMapping[name].Add(name + ".Outputs.Result");
- //dicOutputsMapping[name].Add(name + ".Outputs.Fixture");
foreach (var item in process.Params.Outputs)
dicOutputsMapping[name].Add(name + ".Outputs." + item.Name);
@@ -875,9 +875,26 @@
double total_OK;
double total_NG;
+ /// <summary>
+ /// 杞儙绾х粺璁� - OK璁℃暟
+ /// </summary>
+ double tyre_OK;
+ /// <summary>
+ /// 杞儙绾х粺璁� - NG璁℃暟
+ /// </summary>
+ double tyre_NG;
+
public double total
{
get { return total_OK + total_NG; }
+ }
+
+ /// <summary>
+ /// 杞儙鎬绘暟
+ /// </summary>
+ public double tyreTotal
+ {
+ get { return tyre_OK + tyre_NG; }
}
public double Rate_OK
@@ -890,10 +907,37 @@
}
}
+ /// <summary>
+ /// 杞儙鑹搧鐜�
+ /// </summary>
+ public double TyreRate_OK
+ {
+ get
+ {
+ if (tyreTotal == 0)
+ return 100;
+ return (tyre_OK / tyreTotal) * 100;
+ }
+ }
+
public void ClearTotal()
{
total_OK = 0;
total_NG = 0;
+ tyre_OK = 0;
+ tyre_NG = 0;
+ }
+
+ /// <summary>
+ /// 娣诲姞杞儙缁熻
+ /// </summary>
+ /// <param name="isOK">杞儙鏄惁OK</param>
+ public void AddTyreResult(bool isOK)
+ {
+ if (isOK)
+ tyre_OK++;
+ else
+ tyre_NG++;
}
/// <summary>
@@ -903,9 +947,8 @@
/// <returns></returns>
public bool Run()
{
- bPruning = true;
+ bRuning = true;
bCompleted = false;
-
DateTime StartTime = DateTime.Now;
try
{
@@ -921,30 +964,34 @@
Result = false;
Msg = string.Format("杩愯鍙戦�佷簡鎰忓{0}", ex.Message.Trim());
}
-
RunTime = (DateTime.Now - StartTime).TotalMilliseconds;
-
- bPruning = false;
+ bRuning = false;
bCompleted = true;
-
if (Result)
{
total_OK++;
Msg = "杩愯鎴愬姛";
}
else
+ {
total_NG++;
-
+ }
if (IProcess.dicGlobalVars.ContainsKey($"{Name}.Result"))
+ {
IProcess.dicGlobalVars[$"{Name}.Result"] = Result;
+ }
else
+ {
IProcess.dicGlobalVars.TryAdd($"{Name}.Result", Result);
-
+ }
if (IProcess.dicGlobalVars.ContainsKey($"{Name}.Msg"))
+ {
IProcess.dicGlobalVars[$"{Name}.Msg"] = Msg;
+ }
else
+ {
IProcess.dicGlobalVars.TryAdd($"{Name}.Msg", Msg);
-
+ }
// 鎵嬪姩瑙﹀彂鍨冨溇鍥炴敹
GC.Collect();
return Result;
--
Gitblit v1.9.3