SetDateTimeRequest.cs 1.1 KB

1234567891011121314151617181920212223242526272829303132333435363738
  1. using PlcSiemens.O;
  2. using PlcSiemens.Protocol.Common;
  3. using PlcSiemens.Protocol.Header;
  4. namespace PlcSiemens.Protocol.DateTime
  5. {
  6. public class SetDateTimeRequest : IBuildRequest
  7. {
  8. public HeaderPacket Header { get; set; }
  9. public ParamsRequest Params { get; set; }
  10. public DateTimeData Data { get; set; }
  11. public System.DateTime DateTime { get; set; }
  12. public SetDateTimeRequest()
  13. {
  14. Header = new HeaderPacket();
  15. Params = new ParamsRequest();
  16. Data = new DateTimeData();
  17. }
  18. public void Build()
  19. {
  20. Header.Build(PduType.Userdata, Params.PacketLength, Data.PacketLength);
  21. Params.Build(true, 0x00, GrType.GrClock, PduFuncType.SFunSetClock);
  22. Data.Build(DateTime);
  23. }
  24. public ByteBuffer GetBuffer()
  25. {
  26. ByteBuffer buffer = ByteBuffer.Allocate();
  27. Header.GetByteBuffer(buffer);
  28. Params.GetByteBuffer(buffer);
  29. Data.GetByteBuffer(buffer);
  30. return buffer;
  31. }
  32. }
  33. }