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;
- }
- }
- }
- }
|