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_VisionProcesses/Cameras/HRCameras/HRCamera.cs | 24 +++++++++++++-----------
1 files changed, 13 insertions(+), 11 deletions(-)
diff --git a/LB_VisionProcesses/Cameras/HRCameras/HRCamera.cs b/LB_VisionProcesses/Cameras/HRCameras/HRCamera.cs
index 2d4067b..ea8b86d 100644
--- a/LB_VisionProcesses/Cameras/HRCameras/HRCamera.cs
+++ b/LB_VisionProcesses/Cameras/HRCameras/HRCamera.cs
@@ -218,21 +218,23 @@
try
{
Bitmap bitmap = ConvertFrameToBitmap(frame);
-
// 閲婃斁甯ф暟鎹�
// release frame
_camera.IMV_ReleaseFrame(ref frame);
- CallBackImg = (Bitmap)bitmap.Clone();
- if (CallBackImg == null)
+ Task.Factory.StartNew(() =>
{
- return;
- }
- if (GetTriggerMode(out TriggerMode mode, out TriggerSource source))
- {
- if (mode == TriggerMode.On && source != TriggerSource.Software)
- TriggerRunMessageReceived?.Invoke(SN, source.ToString()); // 瑙﹀彂杩愯浜嬩欢
- }
- bitmap.Dispose();
+ CallBackImg = (Bitmap)bitmap.Clone();
+ if (CallBackImg == null)
+ {
+ return;
+ }
+ if (GetTriggerMode(out TriggerMode mode, out TriggerSource source))
+ {
+ if (mode == TriggerMode.On && source != TriggerSource.Software)
+ TriggerRunMessageReceived?.Invoke(SN, source.ToString()); // 瑙﹀彂杩愯浜嬩欢
+ }
+ bitmap.Dispose();
+ });
}
catch { }
AsyncLogHelper.Info(SN + "Get frame blockId = {0}" + frame.frameInfo.blockId);
--
Gitblit v1.9.3