WriteResponse.cs 948 B

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