ListBlocksRequest.cs 994 B

1234567891011121314151617181920212223242526272829303132333435
  1. using PlcSiemens.O;
  2. using PlcSiemens.Protocol.Common;
  3. using PlcSiemens.Protocol.Header;
  4. namespace PlcSiemens.Protocol.ListBlocks
  5. {
  6. public class ListBlocksRequest : IBuildRequest
  7. {
  8. public HeaderPacket Header { get; set; }
  9. public ParamsRequest Params { get; set; }
  10. public byte[] Data { get; set; }//4
  11. public ListBlocksRequest()
  12. {
  13. Header = new HeaderPacket();
  14. Params = new ParamsRequest();
  15. }
  16. public void Build()
  17. {
  18. Header.Build(PduType.Userdata, Params.PacketLength, 4);
  19. Params.Build(true, 0x00, GrType.GrBlocksInfo, PduFuncType.SFunListAll);
  20. Data = new byte[] { 0x0A, 0x00, 0x00, 0x00 };
  21. }
  22. public ByteBuffer GetBuffer()
  23. {
  24. ByteBuffer buffer = ByteBuffer.Allocate();
  25. Header.GetByteBuffer(buffer);
  26. Params.GetByteBuffer(buffer);
  27. buffer.Push(Data);
  28. return buffer;
  29. }
  30. }
  31. }