From e3a2ea164fa3ccde6a1dfc24e99d4eb9b065f69b Mon Sep 17 00:00:00 2001
From: dengjunjie <dengjunjie@hnkhzn.com>
Date: 星期二, 16 一月 2024 14:26:55 +0800
Subject: [PATCH] PCS

---
 代码管理/PCS/WCS_Server/WIDESEA_WCS/WCSClient/Siemens/SiemensPLCClient.cs |    8 +++++---
 1 files changed, 5 insertions(+), 3 deletions(-)

diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Server/WIDESEA_WCS/WCSClient/Siemens/SiemensPLCClient.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Server/WIDESEA_WCS/WCSClient/Siemens/SiemensPLCClient.cs"
index 9fa4c15..8922db1 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Server/WIDESEA_WCS/WCSClient/Siemens/SiemensPLCClient.cs"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Server/WIDESEA_WCS/WCSClient/Siemens/SiemensPLCClient.cs"
@@ -145,9 +145,10 @@
         /// </summary>
         /// <param name="orderName">IO鐐瑰悕绉�</param>
         /// <returns></returns>
-        public override DataType ReadByOrder<DataType>(string orderName)
+        public override DataType ReadByOrder<DataType>(string orderName, string Method = null)
         {
             var item = itemGroups.Where(t => t.name.Equals(orderName)).FirstOrDefault();
+            if (Method != null) { item = itemGroups.Where(t => t.name.Equals(orderName) && t.Methods.Equals(Method)).FirstOrDefault(); }
             if (item == null)
             {
                 throw new Exception($"PLC{PLCName},鏈畾涔夋寚浠orderName}");
@@ -188,7 +189,7 @@
             else if (typeof(DataType) == typeof(string))//瀛楃涓�
             {
                 var str = GetContent(siemensPLCClient.ReadString(item.dbAddress, (ushort)item.dataLen), item).ToString();
-                str = str.Replace("\0", "");
+                str = str.Replace("\0", "")?.Replace("\\", "")?.Replace("\u0014", "")?.Replace("?\u0006", "");
                 return (DataType)(str as object);
             }
             else
@@ -264,11 +265,12 @@
         /// </summary>
         /// <param name="orderName"></param>
         /// <exception cref="Exception"></exception>
-        public override bool WriteByOrder(string orderName, object value)
+        public override bool WriteByOrder(string orderName, object value, string Method = null)
         {
             lock (_lockWrite)
             {
                 var item = itemGroups.Where(t => t.name.Equals(orderName)).FirstOrDefault();
+                if (Method != null) { item = itemGroups.Where(t => t.name.Equals(orderName) && t.Methods.Equals(Method)).FirstOrDefault(); }
                 if (item == null)
                 {
                     throw new Exception($"PLC{PLCName},鏈畾涔夋寚浠orderName}");

--
Gitblit v1.9.3