namespace Modbus.Net.Siemens
{
///
/// Siemens地址格式化(Modbus.Net专用格式)
///
public class AddressFormaterSiemens : AddressFormater
{
///
/// 编码地址
///
/// 地址所在的数据区域
/// 地址
/// 编码后的地址
public override string FormatAddress(string area, int address)
{
return area + " " + address;
}
///
/// 编码地址
///
/// 地址所在的数据区域
/// 地址
/// 子地址
/// 编码后的地址
public override string FormatAddress(string area, int address, int subAddress)
{
return area + " " + address + "." + subAddress;
}
}
///
/// Siemens地址格式化(Siemens格式)
///
public class AddressFormaterSimenseStandard : AddressFormater
{
///
/// 编码地址
///
/// 地址所在的数据区域
/// 地址
/// 编码后的地址
public override string FormatAddress(string area, int address)
{
if (area.Length > 1 &&
area.ToUpper().Substring(0, 2) == "DB")
return area.ToUpper() + "." + "DB" + address;
return area.ToUpper() + address;
}
///
/// 编码地址
///
/// 地址所在的数据区域
/// 地址
/// 子地址
/// 编码后的地址
public override string FormatAddress(string area, int address, int subAddress)
{
if (area.Length > 1 &&
area.ToUpper().Substring(0, 2) == "DB")
return area.ToUpper() + "." + "DB" + address + "." + subAddress;
return area.ToUpper() + address + "." + subAddress;
}
}
}