123456789101112131415161718192021222324252627282930313233343536373839 |
- using PlcSiemens.Core.Extension;
- using PlcSiemens.O;
- using PlcSiemens.Protocol.Common;
- namespace PlcSiemens.Protocol.Control
- {
- public class PlcHotStartParamsRequest
- {
- public byte Fun; // start 0x28
- public byte[] Uk7; // unknown 7
- public ushort Len1; // Length part 1 : 0x0002
- //public ushort SFun; // 'C ' 0x4320
- public byte Len2; // Length part 2 : 0x09
- public char[] Cmd; // ascii 'P_PROGRAM'
- public ushort PacketLength = 0x14;
- public void Build()
- {
- Fun = (byte)PduFuncType.PduStart;
- Uk7 = new byte[] { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFD };
- Len1 = 0x0000;
- //SFun = 0x00;
- Len2 = 0x09;
- Cmd = new[] { 'P', '_', 'P', 'R', 'O', 'G', 'R', 'A', 'M' };
- }
- public void GetByteBuffer(ByteBuffer buffer)
- {
- buffer.Push(Fun);
- buffer.Push(Uk7);
- buffer.Push(Len1);
- //buffer.Push(SFun);
- buffer.Push(Len2);
- Cmd.ForEach(t => buffer.Push((byte)t));
- }
- }
- }
|