From 5c0abde59e399eb5cc9b6002232a6732a4c8ee34 Mon Sep 17 00:00:00 2001 From: parallelbgls Date: Fri, 18 Nov 2016 14:47:16 +0800 Subject: [PATCH] Fix Single Data Mode Bug --- Modbus.Net/Modbus.Net/AddressCombiner.cs | 1 + Modbus.Net/Modbus.Net/BaseMachine.cs | 6 +++++- 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/Modbus.Net/Modbus.Net/AddressCombiner.cs b/Modbus.Net/Modbus.Net/AddressCombiner.cs index 7bd9d49..c4ddb5b 100644 --- a/Modbus.Net/Modbus.Net/AddressCombiner.cs +++ b/Modbus.Net/Modbus.Net/AddressCombiner.cs @@ -126,6 +126,7 @@ namespace Modbus.Net { Area = address.Area, Address = address.Address, + SubAddress = address.SubAddress, DataType = address.DataType, GetCount = 1, OriginalAddresses = new List() {address} diff --git a/Modbus.Net/Modbus.Net/BaseMachine.cs b/Modbus.Net/Modbus.Net/BaseMachine.cs index 3a51ede..bd017be 100644 --- a/Modbus.Net/Modbus.Net/BaseMachine.cs +++ b/Modbus.Net/Modbus.Net/BaseMachine.cs @@ -186,7 +186,7 @@ namespace Modbus.Net var datas = await BaseUtility.GetDatasAsync( - AddressFormater.FormatAddress(communicateAddress.Area, communicateAddress.Address, 0), + AddressFormater.FormatAddress(communicateAddress.Area, communicateAddress.Address, communicateAddress.SubAddress), (int) Math.Ceiling(communicateAddress.GetCount* BigEndianValueHelper.Instance.ByteLength[ @@ -497,6 +497,10 @@ namespace Modbus.Net /// public int Address { get; set; } /// + /// 子地址 + /// + public int SubAddress { get; set; } = 0; + /// /// 获取个数 /// public int GetCount { get; set; }