using System; namespace AMWD.Protocols.Modbus.Common { /// /// Represents a holding register. /// public class HoldingRegister : ModbusObject { /// public override ModbusObjectType Type => ModbusObjectType.HoldingRegister; /// /// Gets or sets the value of the holding register. /// public ushort Value { get { byte[] blob = [HighByte, LowByte]; blob.SwapBigEndian(); return BitConverter.ToUInt16(blob, 0); } set { byte[] blob = BitConverter.GetBytes(value); blob.SwapBigEndian(); HighByte = blob[0]; LowByte = blob[1]; } } /// public override string ToString() => $"Holding Register #{Address} | {Value} | HI: {HighByte:X2}, LO: {LowByte:X2}"; } }