ListBlocksHandle.cs 947 B

1234567891011121314151617181920212223242526272829303132333435
  1. using PlcSiemens.O;
  2. using PlcSiemens.Protocol.Common;
  3. using PlcSiemens.Protocol.ListBlocks;
  4. namespace PlcSiemens.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. }