From 64274de013b172d31d6cda1349786e5c165cf79f Mon Sep 17 00:00:00 2001
From: wxw <Administrator@DESKTOP-5BIMHQ3>
Date: 星期四, 05 九月 2024 16:55:45 +0800
Subject: [PATCH] Merge branch 'master' into wxw

---
 Admin.NET/WCS.Application/PLC/PLCUtil.cs |    8 ++++++--
 1 files changed, 6 insertions(+), 2 deletions(-)

diff --git a/Admin.NET/WCS.Application/PLC/PLCUtil.cs b/Admin.NET/WCS.Application/PLC/PLCUtil.cs
index 90d6cbc..27e6c55 100644
--- a/Admin.NET/WCS.Application/PLC/PLCUtil.cs
+++ b/Admin.NET/WCS.Application/PLC/PLCUtil.cs
@@ -1,4 +1,5 @@
 锘縰sing DocumentFormat.OpenXml.Bibliography;
+using DocumentFormat.OpenXml.Drawing;
 using Elastic.Clients.Elasticsearch;
 using IoTClient;
 using IoTClient.Clients.Modbus;
@@ -11,12 +12,14 @@
 public class PLCUtil
 {
     public readonly long PlcId;
+    public readonly string PlcIP;
     private SiemensClient _client;
     private WcsPlc _modPlc;
     private readonly object OLock = new object();
     public PLCUtil(WcsPlc modPlc)
     {
         PlcId = modPlc.Id;
+        PlcIP = modPlc.IP;
         _modPlc = modPlc;
         _client = new SiemensClient((SiemensVersion)modPlc.PLCType, modPlc.IP, modPlc.Port);
         _client.Open();
@@ -39,8 +42,9 @@
     /// <param name="DbNumber">DB鍖烘寚瀹氬��</param>
     /// <param name="PosType">瀛楃绫诲瀷</param>
     /// <param name="Pos">鍋忕Щ閲�/鍦板潃</param>
+    /// <param name="Length">闀垮害锛堝瓧绗︿覆锛�</param>
     /// <returns></returns>
-    public (IoTClient.Result, dynamic value) GetPlcDBValue(PLCDataTypeEnum PosType, string DbNumber, string Pos)
+    public (IoTClient.Result, dynamic value) GetPlcDBValue(PLCDataTypeEnum PosType, string DbNumber, string Pos, int? Length = 0)
     {
         lock (OLock)
         {
@@ -83,7 +87,7 @@
                     result = _client.ReadDouble(address);
                     break;
                 case PLCDataTypeEnum.String:
-                    result = _client.ReadString(address);
+                    result = _client.ReadString(address, Convert.ToUInt16(Length));
                     break;
                 default:
                     result = new IoTClient.Result<object>();

--
Gitblit v1.8.0