123456789101112131415161718192021222324252627282930313233343536 |
- using System.Collections.Generic;
- using Houdar.Core.Communication.Transport;
- using Houdar.PLC.Driver.Simenss.Protocol.Common;
- using Houdar.PLC.Driver.Simenss.Protocol.Header;
- namespace Houdar.PLC.Driver.Simenss.Protocol.ReadData
- {
- public class ReadRequest:IBuildRequest
- {
- public HeaderPacket Header { get; set; }
- public ReadParamsRequest Params { get; set; }
- public List<DataItem> ListItems { get; set; }
- public ReadRequest()
- {
- Header = new HeaderPacket();
- Params = new ReadParamsRequest();
- }
- public void Build()
- {
- Params.Build(ListItems);
- //因为包的长度不定 所以需要等参数构建好后才能构建Header
- Header.Build(PduType.Request, Params.PacketLength, 0x0000);
- }
- public ByteBuffer GetBuffer()
- {
- ByteBuffer buffer = ByteBuffer.Allocate();
- Header.GetByteBuffer(buffer);
- Params.GetByteBuffer(buffer);
- return buffer;
- }
- }
- }
|