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