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