From 569e91c63636345391f741df049c9374a141a434 Mon Sep 17 00:00:00 2001
From: hutongqing <hutongqing@hnkhzn.com>
Date: 星期一, 26 八月 2024 08:57:33 +0800
Subject: [PATCH] 添加路由新建配置,重新导出种子数据

---
 WIDESEAWCS_Server/WIDESEAWCS_Communicator/Siemens/SiemensS7Communicator.cs |   43 +++++++++++++++++++++++++++++++++++--------
 1 files changed, 35 insertions(+), 8 deletions(-)

diff --git a/WIDESEAWCS_Server/WIDESEAWCS_Communicator/Siemens/SiemensS7Communicator.cs b/WIDESEAWCS_Server/WIDESEAWCS_Communicator/Siemens/SiemensS7Communicator.cs
index 4fe7441..062951d 100644
--- a/WIDESEAWCS_Server/WIDESEAWCS_Communicator/Siemens/SiemensS7Communicator.cs
+++ b/WIDESEAWCS_Server/WIDESEAWCS_Communicator/Siemens/SiemensS7Communicator.cs
@@ -137,8 +137,10 @@
         /// <exception cref="CommunicationException"></exception>
         private bool GetResult<T>(OperateResult operateResult, string address, T value) where T : notnull
         {
+            string logMsg = "";
             try
             {
+                logMsg += $"銆恵Name}銆慞LC鍐欏叆鏁版嵁锛屽湴鍧�锛氥�恵address}銆戯紝鍐欏叆鐨勬暟鎹細銆恵value}銆憑Environment.NewLine}";
                 if (!operateResult.IsSuccess)
                 {
                     throw new CommunicationException(string.Format(CommunicationExceptionMessage.WriteFailedException, typeof(T).Name, address, value, operateResult.Message), CommunicationErrorType.WriteFailed);
@@ -149,25 +151,34 @@
                     for (int i = 0; i < 5; i++)
                     {
                         T readValue = Read<T>(address);
+                        logMsg += $"銆恵Name}銆慞LC鍐欏叆鍚庤鍙栨暟鎹紝鍦板潃锛氥�恵address}銆戯紝璇诲彇鐨勬暟鎹細銆恵readValue}銆憑Environment.NewLine}";
                         obj = readValue;
                         if (readValue.Equals(value))
                         {
+                            logMsg += $"銆恵Name}銆慞LC鍐欏叆鍚庤鍙栨暟鎹牎楠屾垚鍔燂紝鍦板潃锛氥�恵address}銆戯紝璇诲彇鐨勬暟鎹細銆恵readValue}銆戯紝鍐欏叆鐨勬暟鎹細銆恵value}銆憑Environment.NewLine}";
                             return true;
                         }
-                        else
+                        else if(i < 4)
                         {
                             Write(address, value);
                         }
                     }
+
+                    logMsg += $"銆恵Name}銆慞LC鍐欏叆鍚庤鍙栨暟鎹牎楠屽け璐ワ紝鍦板潃锛氥�恵address}銆戯紝璇诲彇鐨勬暟鎹細銆恵obj}銆戯紝鍐欏叆鐨勬暟鎹細銆恵value}銆憑Environment.NewLine}";
+
                     throw new CommunicationException(string.Format(CommunicationExceptionMessage.ReadWriteDifferentException, typeof(T).Name, address, value, obj), CommunicationErrorType.WriteFailed);
                 }
             }
-            catch(Exception ex)
+            catch (Exception ex)
             {
                 LogNet.WriteException(Name, $"銆恵Name}銆慞LC鍐欏叆寮傚父锛屽湴鍧�锛氥�恵address}銆戯紝鍐欏叆鐨勬暟鎹細銆恵value}銆戯紝閿欒淇℃伅锛氥�恵ex.Message}銆�", ex);
                 throw new CommunicationException(ex.Message, CommunicationErrorType.WriteFailed, innerException: ex);
             }
-            
+            finally
+            {
+                LogNet.WriteInfo(Name, logMsg);
+            }
+
         }
 
         /// <summary>
@@ -206,6 +217,8 @@
                     default:
                         throw new CommunicationException(string.Format(CommunicationExceptionMessage.DataTypeErrorException, type.Name, address), CommunicationErrorType.TypeError);
                 }
+
+
             }
             catch (CommunicationException ex)
             {
@@ -215,6 +228,10 @@
             {
                 //璇诲彇寮傚父鏃舵姏鍑鸿嚜瀹氫箟閫氳寮傚父绫�
                 throw new CommunicationException($"鍐欏叆鏁版嵁寮傚父,閿欒淇℃伅:{ex.Message}", CommunicationErrorType.TypeError, innerException: ex);
+            }
+            finally
+            {
+
             }
         }
 
@@ -634,26 +651,29 @@
             {
                 return plc.ReadCustomer<T>(address).Content;
             }
-            catch(Exception ex)
+            catch (Exception ex)
             {
                 LogNet.WriteException(Name, $"銆恵Name}銆慞LC璇诲彇寮傚父锛屽湴鍧�锛氥�恵address}銆戯紝閿欒淇℃伅锛氥�恵ex.Message}銆�", ex);
                 throw new CommunicationException(ex.Message, CommunicationErrorType.ReadException, innerException: ex);
             }
-           
+
         }
         #endregion
 
         #region WriteCustomer
         public override bool WriteCustomer<T>(string address, T value)
         {
+            string logMsg = string.Empty;
             try
             {
                 OperateResult operateResult = plc.WriteCustomer(address, value);
+                logMsg += $"銆恵Name}銆慞LC鍐欏叆鏁版嵁锛屽湴鍧�锛氥�恵address}銆戯紝鍐欏叆鐨勬暟鎹細銆恵JsonConvert.SerializeObject(value)}銆憑Environment.NewLine}";
                 if (operateResult.IsSuccess)
                 {
                     for (int i = 0; i < 5; i++)
                     {
                         T readValue = ReadCustomer<T>(address);
+                        logMsg += $"銆恵Name}銆慞LC鍐欏叆鍚庤鍙栨暟鎹紝鍦板潃锛氥�恵address}銆戯紝璇诲彇鐨勬暟鎹細銆恵JsonConvert.SerializeObject(readValue)}銆憑Environment.NewLine}";
                         PropertyInfo[] propertyInfos = typeof(T).GetProperties();
                         foreach (var item in propertyInfos)
                         {
@@ -663,12 +683,15 @@
                                 object readValueItem = item.GetValue(readValue);
                                 if (writeValueItem.Equals(readValueItem))
                                 {
-                                    break;
+                                    logMsg += $"銆恵Name}銆慞LC鍐欏叆鍚庤鍙栨暟鎹牎楠屾垚鍔燂紝鍦板潃锛氥�恵address}銆戯紝璇诲彇鐨勬暟鎹細銆恵JsonConvert.SerializeObject(readValue)}銆戯紝鍐欏叆鐨勬暟鎹細銆恵JsonConvert.SerializeObject(value)}銆憑Environment.NewLine}";
+                                    return true;
                                 }
                                 else
                                 {
                                     plc.WriteCustomer(address, value);
                                 }
+
+                                logMsg += $"銆恵Name}銆慞LC鍐欏叆鍚庤鍙栨暟鎹牎楠屽け璐ワ紝鍦板潃锛氥�恵address}銆戯紝璇诲彇鐨勬暟鎹細銆恵JsonConvert.SerializeObject(readValue)}銆戯紝鍐欏叆鐨勬暟鎹細銆恵JsonConvert.SerializeObject(value)}銆憑Environment.NewLine}";
                                 throw new CommunicationException(string.Format(CommunicationExceptionMessage.ReadWriteDifferentException, typeof(T).Name, address, JsonConvert.SerializeObject(value), JsonConvert.SerializeObject(readValue)), CommunicationErrorType.WriteFailed);
                             }
                         }
@@ -680,12 +703,16 @@
                 }
                 return operateResult.IsSuccess;
             }
-            catch(Exception ex)
+            catch (Exception ex)
             {
                 LogNet.WriteException(Name, $"銆恵Name}銆慞LC鍐欏叆寮傚父锛屽湴鍧�锛氥�恵address}銆戯紝鍐欏叆鐨勬暟鎹細銆恵JsonConvert.SerializeObject(value)}銆戯紝閿欒淇℃伅锛氥�恵ex.Message}銆�", ex);
                 throw new CommunicationException(ex.Message, CommunicationErrorType.WriteFailed, innerException: ex);
             }
-            
+            finally
+            {
+                LogNet.WriteInfo(Name, logMsg);
+            }
+
         }
         #endregion
 

--
Gitblit v1.9.3