From eb60d355bf63a7d56df9c63412546457745dc78e Mon Sep 17 00:00:00 2001
From: C3204 <zhengyabo@lanpucloud.cn>
Date: 星期六, 18 四月 2026 13:40:10 +0800
Subject: [PATCH] 完善发送运控控制逻辑。

---
 LB_SmartVision/VisionForm.cs |   64 +++++++++++++++++++++++--------
 1 files changed, 47 insertions(+), 17 deletions(-)

diff --git a/LB_SmartVision/VisionForm.cs b/LB_SmartVision/VisionForm.cs
index c899473..01b0ffe 100644
--- a/LB_SmartVision/VisionForm.cs
+++ b/LB_SmartVision/VisionForm.cs
@@ -146,16 +146,6 @@
                 materialTabControl.TabPages[i].ForeColor = Color.White;
             }
             materialTabSelector.BaseTabControl = materialTabControl;
-            //materialTabSelector.Font = new Font("Microsoft YaHei UI", 18F, FontStyle.Regular, GraphicsUnit.Point, 0);
-
-            //Log.Logger = new LoggerConfiguration()
-            // .MinimumLevel.Debug() // 鎵�鏈塖ink鐨勬渶灏忚褰曠骇鍒�
-            // .WriteTo.Logger(lg => lg.Filter.ByIncludingOnly(p => p.Level == LogEventLevel.Debug).WriteTo.File(LogFilePath("Log"), rollingInterval: RollingInterval.Day, outputTemplate: SerilogOutputTemplate))
-            // .WriteTo.Logger(lg => lg.Filter.ByIncludingOnly(p => p.Level == LogEventLevel.Information).WriteTo.File(LogFilePath("Log"), rollingInterval: RollingInterval.Day, outputTemplate: SerilogOutputTemplate))
-            // .WriteTo.Logger(lg => lg.Filter.ByIncludingOnly(p => p.Level == LogEventLevel.Warning).WriteTo.File(LogFilePath("Log"), rollingInterval: RollingInterval.Day, outputTemplate: SerilogOutputTemplate))
-            // .WriteTo.Logger(lg => lg.Filter.ByIncludingOnly(p => p.Level == LogEventLevel.Error).WriteTo.File(LogFilePath("Error"), rollingInterval: RollingInterval.Day, outputTemplate: SerilogOutputTemplate))
-            // .WriteTo.Logger(lg => lg.Filter.ByIncludingOnly(p => p.Level == LogEventLevel.Fatal).WriteTo.File(LogFilePath("Log"), rollingInterval: RollingInterval.Day, outputTemplate: SerilogOutputTemplate))
-            // .CreateLogger();
 
             // 鍒濆鍖栦笅鎷夋锛堝亣璁惧凡鏀剧疆骞舵纭懡鍚嶄负 materialCombobox1锛�
             //materialCombobox1.Visible = false; // 榛樿闅愯棌
@@ -821,11 +811,19 @@
             }
             if (LoadAllPLCSettings(GlobalVar.allPlcSettingsPath))
             {
-                LogInfo("PLC閫氳鍔犺浇鎴愬姛", LogInfoType.PASS);
+                LogInfo("PLC閫氳閰嶇疆鍔犺浇鎴愬姛", LogInfoType.PASS);
             }
             else
             {
-                LogInfo("PLC閫氳鍔犺浇澶辫触", LogInfoType.ERROR);
+                LogInfo("PLC閫氳閰嶇疆鍔犺浇澶辫触", LogInfoType.ERROR);
+            }
+            if (LoadAllMPlcDatas(GlobalVar.allMPlcDatasPath))
+            {
+                LogInfo("杩愬姩鎺у埗閰嶇疆鍔犺浇鎴愬姛", LogInfoType.PASS);
+            }
+            else
+            {
+                LogInfo("杩愬姩鎺у埗閰嶇疆鍔犺浇澶辫触", LogInfoType.ERROR);//LoadAllMPlcDatas
             }
             //鍔犺浇鐩告満
             foreach (BaseCamera camera in GlobalVar.dicCameras.Values)
@@ -981,14 +979,22 @@
             //鍙戦�佽繍鍔ㄦ帶鍒跺弬鏁�
             #region  鍙戦�佽繍鍔ㄦ帶鍒跺弬鏁�
 
-            if (GlobalVar.dicMotionControlData != null && GlobalVar.dicMotionControlData.Count > 0 && GlobalVar.dicMotionControlData.ContainsKey(GlobalVar.strProductName))
+            if (GlobalVar.dicMPlcDatas != null && GlobalVar.dicMPlcDatas.Count > 0 && GlobalVar.dicMPlcDatas.ContainsKey(GlobalVar.strProductName))
             {
-                foreach (var item in GlobalVar.dicMotionControlData[GlobalVar.strProductName].Keys)
+                foreach (var item in GlobalVar.dicMPlcDatas[GlobalVar.strProductName])
                 {
-                    if (GlobalVar.dicCommunicators.Keys.Contains("閫氳0"))
+                    if (GlobalVar.dicCommunicators.Keys.Contains(item.Value.CommunicatorsName))
                     {
-                        SiemensLBS7 siemensLBS7 = GlobalVar.dicCommunicators["閫氳0"] as SiemensLBS7;
-                        //siemensLBS7.Write(GlobalVar.dicMotionControlData[GlobalVar.strProductName][item].XAxisAddress, GlobalVar.dicMotionControlData[GlobalVar.strProductName][item].XAxisAddress);
+                        foreach (var item1 in item.Value.Signals)
+                        {
+                            if (GlobalVar.dicCommunicators != null && GlobalVar.dicCommunicators.Count > 0 &&
+                                GlobalVar.dicCommunicators[GlobalVar.currentCommunicators] != null &&
+                                GlobalVar.dicCommunicators[GlobalVar.currentCommunicators].bConnected)
+                            {
+                                object convertedValue = ConvertValue(item1.DataType, item1.Value);
+                                ((SiemensLBS7)GlobalVar.dicCommunicators[GlobalVar.currentCommunicators]).WriteSignal(item1, convertedValue);
+                            }
+                        }
                     }
                 }
             }
@@ -1022,6 +1028,7 @@
             SaveSerialPorts();
             SaveAllBarcodeReaders();
             SaveAllPLCSettings();
+            SaveAllMPlcDatas();
         }
 
 
@@ -1080,6 +1087,29 @@
             return true;
         }
 
+        public bool SaveAllMPlcDatas()
+        {
+            try
+            {
+                ConfigManager<Dictionary<string, Dictionary<string, PlcConfig>>>.SaveConfig<Dictionary<string, Dictionary<string, PlcConfig>>>(GlobalVar.dicMPlcDatas, GlobalVar.allMPlcDatasPath);
+                return true;
+            }
+            catch { return false; }
+        }
+
+        public bool LoadAllMPlcDatas(string allBarcodeReadersConnectionStringPath)
+        {
+            try
+            {
+                GlobalVar.dicMPlcDatas = ConfigManager<Dictionary<string, Dictionary<string, PlcConfig>>>.LoadConfig<Dictionary<string, Dictionary<string, PlcConfig>>>(allBarcodeReadersConnectionStringPath);
+            }
+            catch
+            {
+                return false;
+            }
+            return true;
+        }
+
         public bool SaveAllBarcodeReaders()
         {
             try

--
Gitblit v1.9.3