From 17e5dbd7bd0364e27a33f1a7dab91cf33d5dcabc Mon Sep 17 00:00:00 2001
From: wanshenmean <cathay_xy@163.com>
Date: 星期三, 04 三月 2026 11:52:12 +0800
Subject: [PATCH] 增强Redis缓存服务与设备通信优化

---
 Code/WCS/WIDESEAWCS_Server/WIDESEAWCS_QuartzJob/StackerCrane/Spec/SpeTemperatureStackerCrane.cs |   36 ++++++++++++++++++++++++++++++------
 1 files changed, 30 insertions(+), 6 deletions(-)

diff --git a/Code/WCS/WIDESEAWCS_Server/WIDESEAWCS_QuartzJob/StackerCrane/Spec/SpeTemperatureStackerCrane.cs b/Code/WCS/WIDESEAWCS_Server/WIDESEAWCS_QuartzJob/StackerCrane/Spec/SpeTemperatureStackerCrane.cs
index cc063d3..89d18be 100644
--- a/Code/WCS/WIDESEAWCS_Server/WIDESEAWCS_QuartzJob/StackerCrane/Spec/SpeTemperatureStackerCrane.cs
+++ b/Code/WCS/WIDESEAWCS_Server/WIDESEAWCS_QuartzJob/StackerCrane/Spec/SpeTemperatureStackerCrane.cs
@@ -16,6 +16,30 @@
     [Description("楂樺父娓╁爢鍨涙満")]
     public class SpeTemperatureStackerCrane : StackerCraneBase, IStackerCrane
     {
+        #region Constants
+
+        /// <summary>
+        /// 璁惧绛夊緟闂撮殧鏃堕棿锛堟绉掞級
+        /// </summary>
+        private const int WaitIntervalMs = 500;
+
+        /// <summary>
+        /// 璁惧绛夊緟瓒呮椂鏃堕棿鍩烘暟锛堟绉掞級
+        /// </summary>
+        private const int WaitTimeoutBaseMs = 6000;
+
+        /// <summary>
+        /// 璁惧绛夊緟瓒呮椂鏃堕棿鍊嶆暟
+        /// </summary>
+        private const int WaitTimeoutMultiplier = 10;
+
+        /// <summary>
+        /// 璁惧绛夊緟鎬昏秴鏃舵椂闂达紙姣锛�
+        /// </summary>
+        private static readonly int WaitTotalTimeoutMs = WaitTimeoutMultiplier * WaitTimeoutBaseMs;
+
+        #endregion Constants
+
         #region Private Member
 
         /// <summary>
@@ -410,22 +434,22 @@
 
             return typeCode switch
             {
-                TypeCode.Boolean => Communicator.Wait(devicePro.DeviceProAddress, 500, 10 * 6000,
+                TypeCode.Boolean => Communicator.Wait(devicePro.DeviceProAddress, WaitIntervalMs, WaitTotalTimeoutMs,
                     Convert.ToBoolean(deviceProtocolDetail.ProtocalDetailValue)),
 
-                TypeCode.Byte => Communicator.Wait(devicePro.DeviceProAddress, 500, 10 * 6000,
+                TypeCode.Byte => Communicator.Wait(devicePro.DeviceProAddress, WaitIntervalMs, WaitTotalTimeoutMs,
                     Convert.ToByte(deviceProtocolDetail.ProtocalDetailValue)),
 
-                TypeCode.Int16 => Communicator.Wait(devicePro.DeviceProAddress, 500, 10 * 6000,
+                TypeCode.Int16 => Communicator.Wait(devicePro.DeviceProAddress, WaitIntervalMs, WaitTotalTimeoutMs,
                     Convert.ToInt16(deviceProtocolDetail.ProtocalDetailValue)),
 
-                TypeCode.Int32 => Communicator.Wait(devicePro.DeviceProAddress, 500, 10 * 6000,
+                TypeCode.Int32 => Communicator.Wait(devicePro.DeviceProAddress, WaitIntervalMs, WaitTotalTimeoutMs,
                     Convert.ToInt32(deviceProtocolDetail.ProtocalDetailValue)),
 
-                TypeCode.UInt16 => Communicator.Wait(devicePro.DeviceProAddress, 500, 10 * 6000,
+                TypeCode.UInt16 => Communicator.Wait(devicePro.DeviceProAddress, WaitIntervalMs, WaitTotalTimeoutMs,
                     Convert.ToUInt16(deviceProtocolDetail.ProtocalDetailValue)),
 
-                TypeCode.UInt32 => Communicator.Wait(devicePro.DeviceProAddress, 500, 10 * 6000,
+                TypeCode.UInt32 => Communicator.Wait(devicePro.DeviceProAddress, WaitIntervalMs, WaitTotalTimeoutMs,
                     Convert.ToUInt32(deviceProtocolDetail.ProtocalDetailValue)),
 
                 _ => new OperateResult<TimeSpan>()

--
Gitblit v1.9.3