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