From d0c990eaf6cfdbf77c1f4f8db272f4964ec43310 Mon Sep 17 00:00:00 2001
From: C3204 <zhengyabo@lanpucloud.cn>
Date: 星期四, 15 一月 2026 15:58:15 +0800
Subject: [PATCH] 优化西门子S7通讯:支持多数据类型、UI布局调整及配置持久化修复 详细说明: 1. 通讯核心 (SiemensLBS7) * 多类型支持:完善 SendMessage 和 ReceiveMsg,支持 Bool, Byte, Int, DInt, Real, Double, Word, DWord, String的读写。 * Bool 解析优化:增强布尔值解析逻辑,支持字符串 "1"/"0" 及 "True"/"False"(不区分大小写)。 * 错误反馈:捕获数据转换异常(如格式错误),将具体错误信息写入 Msg 属性,便于 UI 展示。
---
LB_SmartVision/ProcessRun/ProcessContext.cs | 39 ++++++++++++++++++++++++++++++++++++++-
1 files changed, 38 insertions(+), 1 deletions(-)
diff --git a/LB_SmartVision/ProcessRun/ProcessContext.cs b/LB_SmartVision/ProcessRun/ProcessContext.cs
index a50eb67..467fd8c 100644
--- a/LB_SmartVision/ProcessRun/ProcessContext.cs
+++ b/LB_SmartVision/ProcessRun/ProcessContext.cs
@@ -9,6 +9,7 @@
using LB_VisionProcesses.Processes.ScriptTool;
using OpenCvSharp;
using System.Collections.Concurrent;
+using System.Windows.Media.Media3D;
namespace LB_SmartVision.ProcessRun
{
@@ -489,7 +490,37 @@
if (dicContext.TryGetValue(ProcessName, out IProcess obj)
&& obj is IProcess process)
{
- process.InputImage = null;
+ //process.InputImage = null;
+
+ if (process.InputImage != null)
+ {
+ if (process.InputImage is HObject)
+ ((HObject)process.InputImage).Dispose();
+ else if (process.InputImage is Mat)
+ ((Mat)process.InputImage).Dispose();
+ else if (process.InputImage is Bitmap)
+ ((Bitmap)process.InputImage).Dispose();
+
+ process.InputImage = null;
+ }
+
+ if (process.OutputImage != null)
+ {
+ if (process.OutputImage is HObject)
+ ((HObject)process.OutputImage).Dispose();
+ else if (process.OutputImage is Mat)
+ ((Mat)process.OutputImage).Dispose();
+ else if (process.OutputImage is Bitmap)
+ ((Bitmap)process.OutputImage).Dispose();
+
+ process.OutputImage = null;
+ }
+
+ if (process.Record != null)
+ {
+ process.Record.Dispose();
+ process.Record = null;
+ }
UpdateInputs(process);
// 涓嶅悓鑺傜偣璺宠繃鐨勬柟寮忎笉鍚�
@@ -539,6 +570,12 @@
[Node("鐩告満鍙栧浘", "鍙栧儚宸ュ叿", "Basic", "鐩告満鍙栧浘")]
public void 鐩告満鍙栧浘(FlowNode node) { RunNodeAsync(node); }
+ [Node("Halcon2D鏂戠偣宸ュ叿", "Haclon2D宸ュ叿", "Basic", "Halcon2D鏂戠偣宸ュ叿")]
+ public void Halcon2D鏂戠偣宸ュ叿(FlowNode node) { RunNodeAsync(node); }
+
+ [Node("閫氳妯″潡", "閫氳宸ュ叿", "Basic", "閫氳妯″潡")]
+ public void 閫氳妯″潡(FlowNode node) { RunNodeAsync(node); }
+
#endregion
--
Gitblit v1.9.3