From a9bc7819f4f7e66159a93e955944728c25ba3e53 Mon Sep 17 00:00:00 2001
From: C3204 <zhengyabo@lanpucloud.cn>
Date: 星期三, 07 一月 2026 14:10:11 +0800
Subject: [PATCH] 优化相机管理和界面布局 - 在 `CreateCameraForm.cs` 中添加对 `LBCameras` 的引用,并修复相机创建逻辑。 - 调整 `VisionForm.Designer.cs` 和 `2DCameraForm.Designer.cs` 中多个控件的大小和位置,改善界面布局。 - 在 `VisionForm.cs` 中添加对 `LBCameras` 的引用以支持新相机类型。 - 注释掉 `PHM6000Sensor.cs` 和 `PHM6000Profiler.cs` 中与相机信息获取相关的 P/Invoke 方法。 - 重构 `LBCamera.cs`,添加新的相机初始化和参数设置逻辑,确保与 PHM6000 SDK 的兼容性。 - 移除 `PHM6000Camera.cs` 中与 `PHM6000Camera` 相关的代码,简化相机管理逻辑。 Merge branch 'master' of http://lanpucloud.cn:1111/r/~zhengyabo/LB_TyreAppearanceInspectionSoftware

---
 LB_VisionProcesses/Communicators/SiemensS7/SiemensLBS7.cs |   81 +++++++++++++++++++++++++++++++++++++++-
 1 files changed, 79 insertions(+), 2 deletions(-)

diff --git a/LB_VisionProcesses/Communicators/SiemensS7/SiemensLBS7.cs b/LB_VisionProcesses/Communicators/SiemensS7/SiemensLBS7.cs
index f9fac67..b82d523 100644
--- a/LB_VisionProcesses/Communicators/SiemensS7/SiemensLBS7.cs
+++ b/LB_VisionProcesses/Communicators/SiemensS7/SiemensLBS7.cs
@@ -1,4 +1,6 @@
-锘縰sing System;
+锘縰sing LB_SmartVisionCommon;
+using S7.Net;
+using System;
 using System.Collections.Generic;
 using System.Linq;
 using System.Text;
@@ -6,7 +8,82 @@
 
 namespace LB_VisionProcesses.Communicators.SiemensS7
 {
-    internal class SiemensLBS7
+    public class SiemensLBS7 : BaseCommunicator
     {
+        private Plc plc;
+        public string variable = string.Empty;
+        /// <summary>
+        /// 
+        /// </summary>
+        /// <param name="name"></param>
+        public SiemensLBS7(string name = "瑗块棬瀛怱7")
+        {
+            CommunicatorConnections.Add("鍦板潃", "127.0.0.1");
+            CommunicatorConnections.Add("绔彛", "1");
+            CommunicatorConnections.Add("鍨嬪彿", S7.Net.CpuType.S71500);
+            CommunicatorBrand = CommunicatorBrand.SiemensS7;
+            CommunicatorName = name;
+        }
+        public override bool Connect()
+        {
+            try
+            {
+                string IP = CommunicatorConnections["鍦板潃"].ToString();
+                short slot;
+                short.TryParse(CommunicatorConnections["绔彛"].ToString(), out slot);
+                S7.Net.CpuType cpuType = (CpuType)CommunicatorConnections["鍨嬪彿"];
+                plc = new Plc(cpuType, IP, 0, slot);
+                plc.Open();
+                return true;
+
+            }
+            catch
+            {
+                return false;
+            }
+        }
+
+        public override bool Disconnect()
+        {
+            try
+            {
+                plc?.Close();
+                return true;
+            }
+            catch
+            {
+                return false;
+            }
+        }
+
+        public override bool SendMessage(string message)
+        {
+            try
+            {
+                plc.Write(variable, message);
+                return true;
+            }
+            catch
+            {
+                return false;
+            }
+        }
+
+        public override void Dispose()
+        {
+            try
+            {
+                AsyncLogHelper.Info($"Device:[{CommunicatorName}],Dispose()");
+
+                plc = null;
+
+                // Suppress finalization.
+                GC.SuppressFinalize(this);
+            }
+            catch (Exception ex)
+            {
+                AsyncLogHelper.Error($"Device:[{CommunicatorName}],Dispose(),Error" + ex);
+            }
+        }
     }
 }

--
Gitblit v1.9.3