ReadResponse.cs 956 B

12345678910111213141516171819202122232425262728293031323334
  1. using System.Collections.Generic;
  2. using Core.Communication.Transport;
  3. using PLC.Siemens.Protocol.Header;
  4. using PLC.Siemens.O;
  5. namespace PLC.Siemens.Protocol.ReadData
  6. {
  7. public class ReadResponse : IBuildResponse
  8. {
  9. public HeaderPacketWithErrorCode Header { get; set; }
  10. public ReadParamsResponse Params { get; set; }
  11. public List<ReadItemResponse> DataItems { get; set; }
  12. public ReadResponse()
  13. {
  14. Header = new HeaderPacketWithErrorCode();
  15. Params = new ReadParamsResponse();
  16. DataItems = new List<ReadItemResponse>();
  17. }
  18. public void Build(ByteBuffer buffer)
  19. {
  20. Header.Build(buffer);
  21. Params.Build(buffer);
  22. for (int i = 0; i < Params.ItemCount; i++)
  23. {
  24. var item = new ReadItemResponse();
  25. item.Build(buffer);
  26. DataItems.Add(item);
  27. }
  28. }
  29. }
  30. }