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/LBCameras/LBCamera.cs | 23 ++++++++++++++++++-----
1 files changed, 18 insertions(+), 5 deletions(-)
diff --git a/LB_VisionProcesses/Cameras/LBCameras/LBCamera.cs b/LB_VisionProcesses/Cameras/LBCameras/LBCamera.cs
index 6e27e23..c03ddab 100644
--- a/LB_VisionProcesses/Cameras/LBCameras/LBCamera.cs
+++ b/LB_VisionProcesses/Cameras/LBCameras/LBCamera.cs
@@ -1,3 +1,8 @@
+using LB_SmartVisionCameraDevice.PHM6000;
+using LB_SmartVisionCameraSDK.PHM6000;
+using LB_SmartVisionCommon;
+using LB_VisionProcesses.Cameras;
+using Sunny.UI.Win32;
using System;
using System.Collections.Generic;
using System.Drawing;
@@ -7,10 +12,6 @@
using System.Text;
using System.Threading;
using System.Threading.Tasks;
-using LB_SmartVisionCameraSDK.PHM6000;
-using LB_VisionProcesses.Cameras;
-using LB_SmartVisionCommon;
-using LB_SmartVisionCameraDevice.PHM6000;
namespace LB_VisionProcesses.Cameras.LBCameras
{
@@ -520,6 +521,7 @@
{
AsyncLogHelper.Info($"LBCamera[{SN}]: Flushing partial buffer ({_currentLineCount} lines) on completion");
CreateAndFireBitmap();
+
_currentLineCount = 0;
}
}
@@ -568,11 +570,22 @@
AsyncLogHelper.Info($"LBCamera[{SN}]: Frame {_frameCount} generated ({width}x{height})");
// 寮傛瑙﹀彂浜嬩欢锛岄伩鍏嶉樆濉濻DK鍥炶皟绾跨▼
- Task.Run(() =>
+ Task.Factory.StartNew(() =>
{
try
{
ImageGrabbed?.Invoke(this, new LBCameraEventArgs(SN, bmp, true));
+ CallBackImg = (Bitmap)bmp.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()); // 瑙﹀彂杩愯浜嬩欢
+ }
+ bmp.Dispose();
}
catch (Exception ex)
{
--
Gitblit v1.9.3