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; }