using System.ComponentModel; namespace AMWD.Protocols.Modbus.Common { /// /// List of Modbus exception codes. /// public enum ModbusErrorCode : byte { /// /// No error. /// [Description("No error")] NoError = 0x00, /// /// Function code not valid/supported. /// [Description("Illegal function")] IllegalFunction = 0x01, /// /// Data address not in range. /// [Description("Illegal data address")] IllegalDataAddress = 0x02, /// /// The data value to set is not valid. /// [Description("Illegal data value")] IllegalDataValue = 0x03, /// /// Slave device produced a failure. /// [Description("Slave device failure")] SlaveDeviceFailure = 0x04, /// /// Ack /// [Description("Acknowledge")] Acknowledge = 0x05, /// /// Slave device is working on another task. /// [Description("Slave device busy")] SlaveDeviceBusy = 0x06, /// /// nAck /// [Description("Negative acknowledge")] NegativeAcknowledge = 0x07, /// /// Momory Parity Error. /// [Description("Memory parity error")] MemoryParityError = 0x08, /// /// Gateway of the device could not be reached. /// [Description("Gateway path unavailable")] GatewayPath = 0x0A, /// /// Gateway device did no respond. /// [Description("Gateway target device failed to respond")] GatewayTargetDevice = 0x0B } }