using PlcSiemens.O; using PlcSiemens.Protocol.Common; namespace PlcSiemens.Protocol { /// /// 返回数据包参数 /// public class ParamsResponse { public byte[] Head { get; set; }// 0x00 0x01 0x12 public byte PLen { get; set; } // par len 0x04 public byte Uk { get; set; } // unknown public byte Tg { get; set; } // type and group (4 bits type and 4 bits group) public byte SubFun { get; set; } // subfunction public byte Seq { get; set; } // sequence public ushort Rsvd { get; set; } // Reserved 0x0000 public ResultCode Err { get; set; } // Error Code public ushort PacketLength = 0x0C; public ParamsResponse() { PLen = 0x08; } public void Build(ByteBuffer buffer) { Head = buffer.PopBytes(3); PLen = buffer.PopByte(); Uk = buffer.PopByte(); Tg = buffer.PopByte(); SubFun = buffer.PopByte(); Seq = buffer.PopByte(); Rsvd = buffer.PopUshort(); Err = (ResultCode)buffer.PopUshort(); } } }