123456789101112131415161718192021222324252627282930313233343536 |
- using Core.Communication.Transport;
- using PLC.Siemens.Protocol.Common;
- using PLC.Siemens.Protocol.Header;
- using PLC.Siemens.O;
- namespace PLC.Siemens.Protocol.ListBlocks
- {
- public class ListBlocksRequest:IBuildRequest
- {
- public HeaderPacket Header { get; set; }
- public ParamsRequest Params { get; set; }
- public byte[] Data { get; set; }//4
- public ListBlocksRequest()
- {
- Header = new HeaderPacket();
- Params = new ParamsRequest();
- }
- public void Build()
- {
- Header.Build(PduType.Userdata, Params.PacketLength, 4);
- Params.Build(true, 0x00, GrType.GrBlocksInfo, PduFuncType.SFunListAll);
- Data = new byte[] { 0x0A, 0x00, 0x00, 0x00 };
- }
- public ByteBuffer GetBuffer()
- {
- ByteBuffer buffer = ByteBuffer.Allocate();
- Header.GetByteBuffer(buffer);
- Params.GetByteBuffer(buffer);
- buffer.Push(Data);
- return buffer;
- }
- }
- }
|