From eb1be49158ad456fe7adba5c85247e0c308b764a Mon Sep 17 00:00:00 2001
From: huangxiaoqiang <huangxiaoqiang@hnkhzn.com>
Date: 星期三, 25 六月 2025 00:37:46 +0800
Subject: [PATCH] 简化写入逻辑并移除验证步骤在 `SiemensS7Communicator.cs` 文件中,移除了原有的读取和验证写入值的逻辑,替换为直接返回 `true` 表示写入成功。同时,在 `try` 块中添加了 `#region` 指令以提高代码可读性。保留了写入失败时的异常处理逻辑。

---
 Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_Communicator/Siemens/SiemensS7Communicator.cs |   57 ++++++++++++++++++++++++++++++---------------------------
 1 files changed, 30 insertions(+), 27 deletions(-)

diff --git a/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_Communicator/Siemens/SiemensS7Communicator.cs b/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_Communicator/Siemens/SiemensS7Communicator.cs
index 7f60bfc..13fd3cc 100644
--- a/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_Communicator/Siemens/SiemensS7Communicator.cs
+++ b/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_Communicator/Siemens/SiemensS7Communicator.cs
@@ -157,7 +157,7 @@
                 }
                 else
                 {
-                    //return true;
+                    return true;
                     object? obj = null;
                     for (int i = 0; i < 5; i++)
                     {
@@ -605,39 +605,42 @@
             {
                 OperateResult operateResult = plc.WriteCustomer(address, value);
                 stringBuilder.AppendLine(string.Format(CommunicationInfoMessage.WriteData, address, JsonConvert.SerializeObject(value)));
+                #region
                 if (operateResult.IsSuccess)
                 {
-                    object? obj = null;
-                    for (int i = 0; i < 5; i++)
-                    {
-                        T readValue = ReadCustomer<T>(address);
-                        stringBuilder.AppendLine(string.Format(CommunicationInfoMessage.WriteAfterRead, address, JsonConvert.SerializeObject(readValue)));
-                        obj = readValue;
-                        PropertyInfo[] propertyInfos = typeof(T).GetProperties();
-                        for (int j = 0; j < propertyInfos.Length; j++)
-                        {
-                            object? writeValueItem = propertyInfos[j].GetValue(value);
-                            object? readValueItem = propertyInfos[j].GetValue(readValue);
-                            if (writeValueItem.Equals(readValueItem))
-                            {
-                                stringBuilder.AppendLine(string.Format(CommunicationInfoMessage.WriteAndReadCheckSuccess, address, JsonConvert.SerializeObject(value), JsonConvert.SerializeObject(readValue)));
-                            }
-                            else
-                            {
-                                break;
-                            }
-                            if (j == propertyInfos.Length - 1)
-                                return true;
-                        }
-                        plc.WriteCustomer(address, value);
-                    }
-                    stringBuilder.AppendLine(string.Format(CommunicationExceptionMessage.WriteAndReadCheckFaild, address, JsonConvert.SerializeObject(value), JsonConvert.SerializeObject(obj)));
-                    throw new CommunicationException(string.Format(CommunicationExceptionMessage.WriteAndReadCheckFaild, address, JsonConvert.SerializeObject(value), JsonConvert.SerializeObject(obj)), CommunicationErrorType.WriteFailed);
+                    //object? obj = null;
+                    //for (int i = 0; i < 5; i++)
+                    //{
+                    //    T readValue = ReadCustomer<T>(address);
+                    //    stringBuilder.AppendLine(string.Format(CommunicationInfoMessage.WriteAfterRead, address, JsonConvert.SerializeObject(readValue)));
+                    //    obj = readValue;
+                    //    PropertyInfo[] propertyInfos = typeof(T).GetProperties();
+                    //    for (int j = 0; j < propertyInfos.Length; j++)
+                    //    {
+                    //        object? writeValueItem = propertyInfos[j].GetValue(value);
+                    //        object? readValueItem = propertyInfos[j].GetValue(readValue);
+                    //        if (writeValueItem.Equals(readValueItem))
+                    //        {
+                    //            stringBuilder.AppendLine(string.Format(CommunicationInfoMessage.WriteAndReadCheckSuccess, address, JsonConvert.SerializeObject(value), JsonConvert.SerializeObject(readValue)));
+                    //        }
+                    //        else
+                    //        {
+                    //            break;
+                    //        }
+                    //        if (j == propertyInfos.Length - 1)
+                    //            return true;
+                    //    }
+                    //    plc.WriteCustomer(address, value);
+                    //}
+                    //stringBuilder.AppendLine(string.Format(CommunicationExceptionMessage.WriteAndReadCheckFaild, address, JsonConvert.SerializeObject(value), JsonConvert.SerializeObject(obj)));
+                    //throw new CommunicationException(string.Format(CommunicationExceptionMessage.WriteAndReadCheckFaild, address, JsonConvert.SerializeObject(value), JsonConvert.SerializeObject(obj)), CommunicationErrorType.WriteFailed);
+                    return true;
                 }
                 else
                 {
                     throw new CommunicationException(string.Format(CommunicationExceptionMessage.WriteFailedException, typeof(T).Name, address, JsonConvert.SerializeObject(value), operateResult.Message), CommunicationErrorType.WriteFailed);
                 }
+                #endregion
             }
             catch (Exception ex)
             {

--
Gitblit v1.9.3