GetDateTimeRequest.cs 996 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.DateTime
  6. {
  7. public class GetDateTimeRequest:IBuildRequest
  8. {
  9. public HeaderPacket Header { get; set; }
  10. public ParamsRequest Params { get; set; }
  11. public uint Data { get; set; }
  12. public GetDateTimeRequest()
  13. {
  14. Header = new HeaderPacket();
  15. Params = new ParamsRequest();
  16. }
  17. public void Build()
  18. {
  19. Header.Build(PduType.Userdata, Params.PacketLength, 4);
  20. Params.Build(true, 0x00, GrType.GrClock, PduFuncType.SFunReadClock);
  21. Data = 0x0A000000;
  22. }
  23. public ByteBuffer GetBuffer()
  24. {
  25. ByteBuffer buffer = ByteBuffer.Allocate();
  26. Header.GetByteBuffer(buffer);
  27. Params.GetByteBuffer(buffer);
  28. buffer.Push(Data);
  29. return buffer;
  30. }
  31. }
  32. }