ReadResponse.cs 921 B

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