111
啊鑫
2025-08-01 cd32500504c97874c8fc0f8ceb1ac58f3cb37b01
UniversalModbusManager.cs
@@ -363,13 +363,13 @@
            
            LogWarning($"将在 {delay}ms 后尝试第 {_retryCount} 次重连");
            Task.Delay(delay, _cancellationTokenSource.Token).ContinueWith(async _ =>
            Task.Delay(delay, _cancellationTokenSource?.Token ?? CancellationToken.None).ContinueWith(async _ =>
            {
                if (!_cancellationTokenSource.Token.IsCancellationRequested)
                if (!(_cancellationTokenSource?.Token.IsCancellationRequested ?? true))
                {
                    await ConnectAsync();
                }
            }, _cancellationTokenSource.Token);
            }, _cancellationTokenSource?.Token ?? CancellationToken.None);
        }
        #endregion
@@ -676,7 +676,7 @@
            // 检测常见的错误码模式
            if (registers.Length >= 2)
            {
                var combined = ((long)(registers[0] & 0xFFFF) << 16) | (registers[1] & 0xFFFF);
                var combined = ((long)((uint)registers[0] & 0xFFFF) << 16) | ((uint)registers[1] & 0xFFFF);
                if (combined == 0xE2400001)
                {
                    LogInfo($"[PATTERN] 字段 '{fieldName}' 检测到已知的无效数据标识 0xE2400001");
@@ -739,7 +739,7 @@
        /// <summary>
        /// 处理连接丢失
        /// </summary>
        private async Task HandleConnectionLoss()
        private Task HandleConnectionLoss()
        {
            if (_isConnected)
            {
@@ -754,6 +754,8 @@
                    ScheduleReconnect();
                }
            }
            return Task.CompletedTask;
        }
        #endregion