Add "CanWrite" Property in AddressUnit

This commit is contained in:
罗圣
2016-08-19 18:00:29 +08:00
parent 41ba0b35dc
commit db04d9eb54

View File

@@ -72,7 +72,7 @@ namespace Modbus.Net
/// <summary> /// <summary>
/// 与设备实际通讯的连续地址 /// 与设备实际通讯的连续地址
/// </summary> /// </summary>
protected IEnumerable<CommunicationUnit> CommunicateAddresses => AddressCombiner.Combine(GetAddresses); protected IEnumerable<CommunicationUnit> CommunicateAddresses => GetAddresses != null ? AddressCombiner.Combine(GetAddresses) : null;
/// <summary> /// <summary>
/// 描述需要与设备通讯的地址 /// 描述需要与设备通讯的地址
@@ -253,7 +253,15 @@ namespace Modbus.Net
break; break;
} }
} }
if (address == null) return false; if (address == null)
{
Console.WriteLine($"Machine {ConnectionToken} Address {value.Key} doesn't exist.");
continue;
}
if (!address.CanWrite)
{
Console.WriteLine($"Machine {ConnectionToken} Address {value.Key} cannot write.");
}
addresses.Add(address); addresses.Add(address);
} }
//将地址编码成与实际设备通讯的地址,注意这个地址必须是连续的 //将地址编码成与实际设备通讯的地址,注意这个地址必须是连续的
@@ -456,6 +464,10 @@ namespace Modbus.Net
/// </summary> /// </summary>
public string Unit { get; set; } public string Unit { get; set; }
/// <summary> /// <summary>
/// 是否可写,默认可写
/// </summary>
public bool CanWrite { get; set; } = true;
/// <summary>
/// 扩展 /// 扩展
/// </summary> /// </summary>
public UnitExtend UnitExtend { get; set; } public UnitExtend UnitExtend { get; set; }