PlcStopParamsRequest.cs 975 B

123456789101112131415161718192021222324252627282930313233
  1. using PlcSiemens.Core.Extension;
  2. using PlcSiemens.O;
  3. using PlcSiemens.Protocol.Common;
  4. namespace PlcSiemens.Protocol.Control
  5. {
  6. public class PlcStopParamsRequest
  7. {
  8. public byte Fun { get; set; } // stop 0x29
  9. public byte[] Uk5 { get; set; } // unknown 5 bytes 0x00
  10. public byte Len2 { get; set; } // Length part 2 : 0x09
  11. public char[] Cmd { get; set; } // ascii 'P_PROGRAM' 0x09
  12. public ushort PacketLength
  13. { get { return 0x10; } }
  14. public void Build()
  15. {
  16. Fun = (byte)PduFuncType.PduStop;
  17. Uk5 = new byte[] { 0x00, 0x00, 0x00, 0x00, 0x00 };
  18. Len2 = 0x09;
  19. Cmd = new[] { 'P', '_', 'P', 'R', 'O', 'G', 'R', 'A', 'M' };
  20. }
  21. public void GetByteBuffer(ByteBuffer buffer)
  22. {
  23. buffer.Push(Fun);
  24. buffer.Push(Uk5);
  25. buffer.Push(Len2);
  26. Cmd.ForEach(t => buffer.Push((byte)t));
  27. }
  28. }
  29. }