public void CreateSlaveException_SlaveExceptionResponse() { SlaveExceptionResponse response = new SlaveExceptionResponse(12, Modbus.ReadCoils, 1); SlaveException se = new SlaveException(response); Assert.AreEqual(String.Format("Exception of type 'Modbus.SlaveException' was thrown.\r\nFunction Code: {0}\r\nException Code: {1} - {2}", response.FunctionCode, response.SlaveExceptionCode, Resources.IllegalFunction), se.Message); }
public void CreateSlaveExceptionResponse() { SlaveExceptionResponse response = new SlaveExceptionResponse(11, Modbus.ReadCoils + Modbus.ExceptionOffset, 2); Assert.AreEqual(11, response.SlaveAddress); Assert.AreEqual(Modbus.ReadCoils + Modbus.ExceptionOffset, response.FunctionCode); Assert.AreEqual(2, response.SlaveExceptionCode); }
/// <summary> /// Initializes a new instance of the <see cref="SlaveException"/> class. /// </summary> /// <param name="info">The <see cref="T:System.Runtime.Serialization.SerializationInfo"></see> that holds the serialized object data about the exception being thrown.</param> /// <param name="context">The <see cref="T:System.Runtime.Serialization.StreamingContext"></see> that contains contextual information about the source or destination.</param> /// <exception cref="T:System.Runtime.Serialization.SerializationException">The class name is null or <see cref="P:System.Exception.HResult"></see> is zero (0). </exception> /// <exception cref="T:System.ArgumentNullException">The info parameter is null. </exception> protected SlaveException(SerializationInfo info, StreamingContext context) : base(info, context) { if (info != null) { _slaveExceptionResponse = new SlaveExceptionResponse(info.GetByte(SlaveAddressPropertyName), info.GetByte(FunctionCodePropertyName), info.GetByte(SlaveExceptionCodePropertyName)); } }
public void CreateSlaveException_CustomMessageAndSlaveExceptionResponse() { SlaveExceptionResponse response = new SlaveExceptionResponse(12, Modbus.ReadCoils, 2); string customMessage = "custom message"; SlaveException se = new SlaveException(customMessage, response); Assert.AreEqual(String.Format("{0}\r\nFunction Code: {1}\r\nException Code: {2} - {3}", customMessage, response.FunctionCode, response.SlaveExceptionCode, Resources.IllegalDataAddress), se.Message); }
public void CreateModbusMessageSlaveExceptionResponse() { SlaveExceptionResponse response = ModbusMessageFactory.CreateModbusMessage<SlaveExceptionResponse>(new byte[] {11, 129, 2}); SlaveExceptionResponse expectedException = new SlaveExceptionResponse(11, Modbus.ReadCoils + Modbus.ExceptionOffset, 2); Assert.AreEqual(expectedException.FunctionCode, response.FunctionCode); Assert.AreEqual(expectedException.SlaveAddress, response.SlaveAddress); Assert.AreEqual(expectedException.MessageFrame, response.MessageFrame); Assert.AreEqual(expectedException.ProtocolDataUnit, response.ProtocolDataUnit); }
public void SlaveExceptionResponsePDU() { SlaveExceptionResponse response = new SlaveExceptionResponse(11, Modbus.ReadCoils + Modbus.ExceptionOffset, 2); Assert.AreEqual(new byte[] {response.FunctionCode, response.SlaveExceptionCode}, response.ProtocolDataUnit); }
internal SlaveException(string message, SlaveExceptionResponse slaveExceptionResponse) : base(message) { _slaveExceptionResponse = slaveExceptionResponse; }
internal SlaveException(SlaveExceptionResponse slaveExceptionResponse) { _slaveExceptionResponse = slaveExceptionResponse; }