Ejemplo n.º 1
0
 public ModbusTcpAdu(ushort transactionID, byte unitID, ModbusMessage message)
 {
     this.message = message;
     adu          = new byte[7 + message.Length];
     BitHelper.WriteBuffer(adu, transactionID, TransactionIDOffset);
     BitHelper.WriteBuffer(adu, message.Length, LengthOffset);
     adu[UnitIDOffset] = unitID;
     Buffer.BlockCopy(message.PDU, 0, adu, 7, message.Length);
 }
Ejemplo n.º 2
0
 /// <summary></summary>
 /// <param name="isRequest">Indentify wether modbus message is request type</param>
 public ModbusTcpAdu(byte[] buffer, bool isRequest)
 {
     adu = buffer;
     if (ProtocolID != 0)
     {
         throw new IntegrityViolationException();
     }
     if (Length != (buffer.Length - 6))
     {
         throw new IntegrityViolationException();
     }
     byte[] pduSegment = new byte[buffer.Length - 7];
     Buffer.BlockCopy(buffer, 7, pduSegment, 0, pduSegment.Length);
     if (isRequest)
     {
         message = ModbusRequest.ParseBuffer(pduSegment);
     }
     else
     {
         message = ModbusResponse.ParseBuffer(pduSegment);
     }
 }
Ejemplo n.º 3
0
 public ModbusTcpAdu(ModbusMessage message)
     : this(0x0000, 0xff, message)
 {
 }
Ejemplo n.º 4
0
 public ModbusTcpAdu(ushort transactionID, ModbusMessage message)
     : this(transactionID, 0xff, message)
 {
 }