ParamsResponse.cs 1.1 KB

123456789101112131415161718192021222324252627282930313233343536373839
  1. using PlcSiemens.O;
  2. using PlcSiemens.Protocol.Common;
  3. namespace PlcSiemens.Protocol
  4. {
  5. /// <summary>
  6. /// ·µ»ØÊý¾Ý°ü²ÎÊý
  7. /// </summary>
  8. public class ParamsResponse
  9. {
  10. public byte[] Head { get; set; }// 0x00 0x01 0x12
  11. public byte PLen { get; set; } // par len 0x04
  12. public byte Uk { get; set; } // unknown
  13. public byte Tg { get; set; } // type and group (4 bits type and 4 bits group)
  14. public byte SubFun { get; set; } // subfunction
  15. public byte Seq { get; set; } // sequence
  16. public ushort Rsvd { get; set; } // Reserved 0x0000
  17. public ResultCode Err { get; set; } // Error Code
  18. public ushort PacketLength = 0x0C;
  19. public ParamsResponse()
  20. {
  21. PLen = 0x08;
  22. }
  23. public void Build(ByteBuffer buffer)
  24. {
  25. Head = buffer.PopBytes(3);
  26. PLen = buffer.PopByte();
  27. Uk = buffer.PopByte();
  28. Tg = buffer.PopByte();
  29. SubFun = buffer.PopByte();
  30. Seq = buffer.PopByte();
  31. Rsvd = buffer.PopUshort();
  32. Err = (ResultCode)buffer.PopUshort();
  33. }
  34. }
  35. }