ListBlocksHandle.cs 968 B

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