UploadRequest.cs 959 B

123456789101112131415161718192021222324252627282930313233343536
  1. using Core.Communication.Transport;
  2. using PLC.Siemens.Protocol.Common;
  3. using PLC.Siemens.Protocol.Header;
  4. using PLC.Siemens.O;
  5. namespace PLC.Siemens.Protocol.Upload
  6. {
  7. public class UploadRequest:IBuildRequest
  8. {
  9. public HeaderPacket Header { get; set; }
  10. public UploadParamsRequest Params { get; set; }
  11. public byte UploadID { get; set; }
  12. public PduType PduType = PduType.PduUpload;
  13. public UploadRequest()
  14. {
  15. Header = new HeaderPacket();
  16. Params = new UploadParamsRequest();
  17. }
  18. public void Build()
  19. {
  20. Params.Build(UploadID, PduType);
  21. Header.Build(PduType.Request, Params.PacketLength, 0x00);
  22. }
  23. public ByteBuffer GetBuffer()
  24. {
  25. ByteBuffer buffer = ByteBuffer.Allocate();
  26. Header.GetByteBuffer(buffer);
  27. Params.GetByteBuffer(buffer);
  28. return buffer; ;
  29. }
  30. }
  31. }