WriteResponse.cs 983 B

123456789101112131415161718192021222324252627282930313233
  1. using Houdar.Core.Communication.Transport;
  2. using Houdar.Core.Util.Extension;
  3. using Houdar.PLC.Driver.Simenss.Protocol.Header;
  4. using Houdar.PLC.Driver.Simenss.Protocol.Iso;
  5. namespace Houdar.PLC.Driver.Simenss.Protocol.WriteData
  6. {
  7. public class WriteResponse:IBuildResponse
  8. {
  9. public HeaderPacketWithErrorCode Header { get; set; }
  10. public WriteParamsResponse Params { get; set; }
  11. public WriteItemResponse[] Data { get; set; }
  12. public WriteResponse()
  13. {
  14. Header = new HeaderPacketWithErrorCode();
  15. Params = new WriteParamsResponse();
  16. }
  17. public void Build(ByteBuffer buffer)
  18. {
  19. Header.Build(buffer);
  20. Params.Build(buffer);
  21. Data = new WriteItemResponse[Params.ItemCount];
  22. for (int i = 0; i < Params.ItemCount; i++)
  23. {
  24. Data[i] = new WriteItemResponse();
  25. Data[i].Build(buffer);
  26. }
  27. }
  28. }
  29. }