From bc55470b84ecaa1e2f6397a3ec33f0c7192224c5 Mon Sep 17 00:00:00 2001
From: 啊鑫 <t2856754968@163.com>
Date: 星期五, 01 八月 2025 15:52:25 +0800
Subject: [PATCH] 修复整数数据解析逻辑:实现按字节读取高低字节交换组合
---
UniversalModbusManager.cs | 12 +++++++-----
1 files changed, 7 insertions(+), 5 deletions(-)
diff --git a/UniversalModbusManager.cs b/UniversalModbusManager.cs
index a57816f..ae6a7aa 100644
--- a/UniversalModbusManager.cs
+++ b/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
--
Gitblit v1.9.3