ListBlocksHandle.cs 989 B

123456789101112131415161718192021222324252627282930313233343536
  1. using System;
  2. using Houdar.PLC.Driver.Simenss.Protocol.Common;
  3. using Houdar.PLC.Driver.Simenss.Protocol.ListBlocks;
  4. namespace Houdar.PLC.Driver.Simenss.ProtocolHandle
  5. {
  6. public class ListBlocksHandle:IPacketHandle
  7. {
  8. public ListBlocksRequest Request { get; set; }
  9. public ListBlocksResponse Response { get; set; }
  10. public ResultCode ResultCode
  11. {
  12. get;
  13. set;
  14. }
  15. public ListBlocksHandle()
  16. {
  17. ResultCode = ResultCode.Unknown;
  18. Request = new ListBlocksRequest();
  19. }
  20. public void Handle(IIsoSender sender)
  21. {
  22. Response = sender.IsoSend<ListBlocksRequest, ListBlocksResponse>(Request);
  23. if(Response==null) return;
  24. ResultCode = Response.Data.Ret;
  25. if (Response.Params.Err != ResultCode.OK) return;
  26. if (Response.Data.Ret == ResultCode.OKFF)
  27. ResultCode = ResultCode.OK;
  28. }
  29. }
  30. }