PlcStopParamsRequest.cs 970 B

12345678910111213141516171819202122232425262728293031
  1. using Core.Communication.Transport;
  2. using Core.Util.Extension;
  3. using PLC.Siemens.Protocol.Common;
  4. namespace PLC.Siemens.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 { get{return 0x10;} }
  13. public void Build()
  14. {
  15. Fun = (byte) PduFuncType.PduStop;
  16. Uk5 = new byte[] {0x00, 0x00, 0x00, 0x00, 0x00};
  17. Len2 = 0x09;
  18. Cmd = new[] {'P', '_', 'P', 'R', 'O', 'G', 'R', 'A', 'M'};
  19. }
  20. public void GetByteBuffer(ByteBuffer buffer)
  21. {
  22. buffer.Push(Fun);
  23. buffer.Push(Uk5);
  24. buffer.Push(Len2);
  25. Cmd.ForEach(t=>buffer.Push((byte)t));
  26. }
  27. }
  28. }