| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455 | using PlcSiemens.O;using PlcSiemens.Protocol.Common;namespace PlcSiemens.Protocol.Szl{    public class SzlDataRequest    {        public static ushort Len = 0x08;        public byte Ret { get; set; }  // 0xFF for request        public byte Ts { get; set; }   // 0x09 Transport size        public ushort DLen { get; set; } // Data len 0x04        public ushort ID { get; set; }  // First ÐèÒªµÄ²ÎÊý        public ushort Index { get; set; }// First ÐèÒªµÄ²ÎÊý        public bool First = true;        public ushort PacketLength        {            get            {                return First ? (ushort)0x08 : (ushort)0x04;            }        }        public void GetByteBuffer(ByteBuffer buffer)        {            buffer.Push(Ret);            buffer.Push(Ts);            buffer.Push(DLen);            if (!First) return;            buffer.Push(ID);            buffer.Push(Index);        }        public void Build(bool first, ushort id, ushort index)        {            First = first;            if (First)            {                Ret = 0xFF;                Ts = (byte)TsType.TsResOctet;                DLen = 0x04;                ID = id;                Index = index;            }            else            {                Ret = 0x0A;                Ts = 0x00;                DLen = 0x0000;                ID = 0x0000;                Index = 0x0000;            }        }    }}
 |